WARNING - OLD ARCHIVES

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/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] Need a little more serialisation in pciback_do_op().

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] Need a little more serialisation in pciback_do_op().
From: Xen patchbot -unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Tue, 25 Apr 2006 22:42:09 +0000
Delivery-date: Tue, 25 Apr 2006 15:43:33 -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 kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID 1ad06bd6832d478b18b1c1aed9886079c272aeaa
# Parent  e0f2ec5e8358ffa2ed217fa193a981aef6a47724
Need a little more serialisation in pciback_do_op().
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>

diff -r e0f2ec5e8358 -r 1ad06bd6832d 
linux-2.6-xen-sparse/drivers/xen/pciback/pciback_ops.c
--- a/linux-2.6-xen-sparse/drivers/xen/pciback/pciback_ops.c    Tue Apr 25 
18:13:39 2006 +0100
+++ b/linux-2.6-xen-sparse/drivers/xen/pciback/pciback_ops.c    Tue Apr 25 
18:22:11 2006 +0100
@@ -77,12 +77,13 @@ void pciback_do_op(void *data)
        clear_bit(_XEN_PCIF_active, (unsigned long *)&pdev->sh_info->flags);
        notify_remote_via_irq(pdev->evtchn_irq);
 
-       /* Mark that we're done */
-       wmb();
+       /* Mark that we're done. */
+       smp_mb__before_clear_bit(); /* /after/ clearing PCIF_active */
        clear_bit(_PDEVF_op_active, &pdev->flags);
+       smp_mb__after_clear_bit(); /* /before/ final check for work */
 
-       /* Check to see if the driver domain tried to start another request
-        * in between clearing _XEN_PCIF_active and clearing _PDEVF_op_active */
+       /* Check to see if the driver domain tried to start another request in
+        * between clearing _XEN_PCIF_active and clearing _PDEVF_op_active. */
        test_and_schedule_op(pdev);
 }
 

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] Need a little more serialisation in pciback_do_op()., Xen patchbot -unstable <=