Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/netbsd-3]: src/sys/arch/xen/xen Pull up revision 1.11 (requested by bouy...
details: https://anonhg.NetBSD.org/src/rev/e67f42af4399
branches: netbsd-3
changeset: 575587:e67f42af4399
user: tron <tron%NetBSD.org@localhost>
date: Thu Apr 28 10:36:43 2005 +0000
description:
Pull up revision 1.11 (requested by bouyer in ticket #192):
Avoid a race between do_hypervisor_event() and stipending() that could
cause an event to be both handled and marked as pending, or being
marked as pending twice (triggering the diagnostic check
evtch_maskcount[port] == 0 in hypervisor_set_ipending):
mask and clear event by word of 32bit in do_hypervisor_event() or stipending(),
instead of by indiviual bits in do_event() or xenevt_event().
In addition this is marginally more efficient.
diffstat:
sys/arch/xen/xen/evtchn.c | 7 ++-----
1 files changed, 2 insertions(+), 5 deletions(-)
diffs (28 lines):
diff -r e9bf3842e40f -r e67f42af4399 sys/arch/xen/xen/evtchn.c
--- a/sys/arch/xen/xen/evtchn.c Thu Apr 28 10:34:42 2005 +0000
+++ b/sys/arch/xen/xen/evtchn.c Thu Apr 28 10:36:43 2005 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: evtchn.c,v 1.3.2.7 2005/04/28 10:34:42 tron Exp $ */
+/* $NetBSD: evtchn.c,v 1.3.2.8 2005/04/28 10:36:43 tron Exp $ */
/*
*
@@ -34,7 +34,7 @@
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: evtchn.c,v 1.3.2.7 2005/04/28 10:34:42 tron Exp $");
+__KERNEL_RCSID(0, "$NetBSD: evtchn.c,v 1.3.2.8 2005/04/28 10:36:43 tron Exp $");
#include <sys/param.h>
#include <sys/kernel.h>
@@ -163,9 +163,6 @@
#endif
ci = &cpu_info_primary;
- hypervisor_mask_event(evtch);
- hypervisor_clear_event(evtch);
-
/*
* Shortcut for the debug handler, we want it to always run,
* regardless of the IPL level.
Home |
Main Index |
Thread Index |
Old Index