Subject: CVS commit: src/sys/arch/xen
To: None <source-changes@NetBSD.org>
From: Manuel Bouyer <bouyer@netbsd.org>
List: source-changes
Date: 04/20/2005 14:48:30
Module Name:	src
Committed By:	bouyer
Date:		Wed Apr 20 14:48:29 UTC 2005

Modified Files:
	src/sys/arch/xen/i386: hypervisor_machdep.c
	src/sys/arch/xen/include: evtchn.h hypervisor.h
	src/sys/arch/xen/xen: evtchn.c

Log Message:
Event handling optimisations:
- sort the ih_evt_handler list by IPL, higher first. Otherwise some handlers
  would have been delayed, event if they could run at the current IPL.
- As ih_evt_handler is sorted, remove IPLs that have been processed for
  an event when calling hypervisor_set_ipending()
- In hypervisor_set_ipending(), enter the event in ipl_evt_mask only
  for the lowest IPL. As deffered IPLs are processed high to low,
  this ensure that hypervisor_enable_event() will be called only when all
  callbacks have been called for an event. We don't need the evtch_maskcount[]
  counters any more.

Thanks to YAMAMOTO Takashi for ideas and feedback.


To generate a diff of this commit:
cvs rdiff -r1.9 -r1.10 src/sys/arch/xen/i386/hypervisor_machdep.c
cvs rdiff -r1.7 -r1.8 src/sys/arch/xen/include/evtchn.h
cvs rdiff -r1.12 -r1.13 src/sys/arch/xen/include/hypervisor.h
cvs rdiff -r1.12 -r1.13 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.