[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] minios: fix and enforce block_domain atomicity
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1210248867 -3600 # Node ID fe625fd796f8de4cf09cba6b7bd0c7e8438e2552 # Parent 37cf8747f55bb1e18c01bca4ed6a2bb41c34adb6 minios: fix and enforce block_domain atomicity To ensure that the timer event is not lost, block_domain requires that event delivery is disabled. SCHEDOP_block re-enables them, so for coherency (and fixing a bug actually), we should re-disable them after. Also, make sure that the caller disabled them. Signed-off-by: Samuel Thibault <samuel.thibault@xxxxxxxxxxxxx> --- extras/mini-os/arch/x86/time.c | 2 ++ 1 files changed, 2 insertions(+) diff -r 37cf8747f55b -r fe625fd796f8 extras/mini-os/arch/x86/time.c --- a/extras/mini-os/arch/x86/time.c Thu May 08 11:55:13 2008 +0100 +++ b/extras/mini-os/arch/x86/time.c Thu May 08 13:14:27 2008 +0100 @@ -201,10 +201,12 @@ void block_domain(s_time_t until) { struct timeval tv; gettimeofday(&tv, NULL); + ASSERT(irqs_disabled()); if(monotonic_clock() < until) { HYPERVISOR_set_timer_op(until); HYPERVISOR_sched_op(SCHEDOP_block, 0); + local_irq_disable(); } } _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |