This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[Xen-changelog] [xen-unstable] minios: fix and enforce block_domain atom

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] minios: fix and enforce block_domain atomicity
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Thu, 08 May 2008 11:50:14 -0700
Delivery-date: Thu, 08 May 2008 11:50:32 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# 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_sched_op(SCHEDOP_block, 0);
+        local_irq_disable();

Xen-changelog mailing list

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] minios: fix and enforce block_domain atomicity, Xen patchbot-unstable <=