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.