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-devel

[PATCH] Re: [Xen-devel] xenstore notifier: atomic or blocking?

To: "Keir Fraser" <Keir.Fraser@xxxxxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [PATCH] Re: [Xen-devel] xenstore notifier: atomic or blocking?
From: "Jan Beulich" <jbeulich@xxxxxxxxxx>
Date: Fri, 26 Oct 2007 16:47:02 +0100
Delivery-date: Fri, 26 Oct 2007 08:46:01 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <C33CDE2A.170AB%Keir.Fraser@xxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <47173AC9.76E4.0078.0@xxxxxxxxxx> <C33CDE2A.170AB%Keir.Fraser@xxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
There doesn't appear to be any need for it to be atomic.

As usual, written and tested against 2.6.23 and made apply against
2.6.18 without further testing.

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>

Index: head-2007-10-23/drivers/xen/xenbus/xenbus_probe.c
===================================================================
--- head-2007-10-23.orig/drivers/xen/xenbus/xenbus_probe.c      2007-10-25 
15:08:03.000000000 +0200
+++ head-2007-10-23/drivers/xen/xenbus/xenbus_probe.c   2007-10-25 
15:08:43.000000000 +0200
@@ -69,7 +69,7 @@ static unsigned long xen_store_mfn;
 
 extern struct mutex xenwatch_mutex;
 
-static ATOMIC_NOTIFIER_HEAD(xenstore_chain);
+static BLOCKING_NOTIFIER_HEAD(xenstore_chain);
 
 static void wait_for_devices(struct xenbus_driver *xendrv);
 
@@ -832,7 +832,7 @@ int register_xenstore_notifier(struct no
        if (xenstored_ready > 0)
                ret = nb->notifier_call(nb, 0, NULL);
        else
-               atomic_notifier_chain_register(&xenstore_chain, nb);
+               blocking_notifier_chain_register(&xenstore_chain, nb);
 
        return ret;
 }
@@ -840,7 +840,7 @@ EXPORT_SYMBOL_GPL(register_xenstore_noti
 
 void unregister_xenstore_notifier(struct notifier_block *nb)
 {
-       atomic_notifier_chain_unregister(&xenstore_chain, nb);
+       blocking_notifier_chain_unregister(&xenstore_chain, nb);
 }
 EXPORT_SYMBOL_GPL(unregister_xenstore_notifier);
 
@@ -855,7 +855,7 @@ void xenbus_probe(struct work_struct *un
        xenbus_backend_probe_and_watch();
 
        /* Notify others that xenstore is up */
-       atomic_notifier_call_chain(&xenstore_chain, 0, NULL);
+       blocking_notifier_call_chain(&xenstore_chain, 0, NULL);
 }
 
 




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

<Prev in Thread] Current Thread [Next in Thread>