Module Name: src Committed By: cherry Date: Sun Nov 25 20:56:33 UTC 2012
Modified Files: src/sys/arch/xen/xen: evtchn.c Log Message: Do not escalate the local spl while taking the interrupt handler list lock. Re-entrance is protected against within the events handler framework by toggling interrupts/events, so we don't need (and cannot use) the spl framework in that path. The other consumers (interrupt registration/removal code) are not spl sensitive wrt this lock. To generate a diff of this commit: cvs rdiff -u -r1.64 -r1.65 src/sys/arch/xen/xen/evtchn.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/xen/xen/evtchn.c diff -u src/sys/arch/xen/xen/evtchn.c:1.64 src/sys/arch/xen/xen/evtchn.c:1.65 --- src/sys/arch/xen/xen/evtchn.c:1.64 Sun Nov 25 08:39:36 2012 +++ src/sys/arch/xen/xen/evtchn.c Sun Nov 25 20:56:33 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: evtchn.c,v 1.64 2012/11/25 08:39:36 cherry Exp $ */ +/* $NetBSD: evtchn.c,v 1.65 2012/11/25 20:56:33 cherry Exp $ */ /* * Copyright (c) 2006 Manuel Bouyer. @@ -54,7 +54,7 @@ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: evtchn.c,v 1.64 2012/11/25 08:39:36 cherry Exp $"); +__KERNEL_RCSID(0, "$NetBSD: evtchn.c,v 1.65 2012/11/25 20:56:33 cherry Exp $"); #include "opt_xen.h" #include "isa.h" @@ -694,7 +694,7 @@ event_set_handler(int evtch, int (*func) * is more explicitly implemented. */ evts->ev_cpu = ci; - mutex_init(&evtlock[evtch], MUTEX_DEFAULT, IPL_HIGH); + mutex_init(&evtlock[evtch], MUTEX_DEFAULT, IPL_NONE); evtsource[evtch] = evts; if (evname) strncpy(evts->ev_evname, evname,