|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] [PATCH 07/11] xen/hvm kexec: unregister memory/target watch
Unregister the memory/target watch during kexec. The watche can not be
re-registered in the kexec kernel because it is still seen as busy by
xenstore.
v2:
use kexec_is_loaded() function
Signed-off-by: Olaf Hering <olaf@xxxxxxxxx>
---
drivers/xen/xen-balloon.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
Index: linux-3.0/drivers/xen/xen-balloon.c
===================================================================
--- linux-3.0.orig/drivers/xen/xen-balloon.c
+++ linux-3.0/drivers/xen/xen-balloon.c
@@ -34,6 +34,8 @@
#include <linux/module.h>
#include <linux/sysdev.h>
#include <linux/capability.h>
+#include <linux/kexec.h>
+#include <linux/syscore_ops.h>
#include <xen/xen.h>
#include <xen/interface/xen.h>
@@ -91,6 +93,18 @@ static struct notifier_block xenstore_no
.notifier_call = balloon_init_watcher,
};
+static void xen_balloon_shutdown_watcher(void)
+{
+ if (!kexec_is_loaded())
+ return;
+
+ unregister_xenbus_watch(&target_watch);
+}
+
+static struct syscore_ops xen_balloon_watcher_syscore_ops = {
+ .shutdown = xen_balloon_shutdown_watcher,
+};
+
static int __init balloon_init(void)
{
if (!xen_domain())
@@ -100,6 +114,7 @@ static int __init balloon_init(void)
register_balloon(&balloon_sysdev);
register_xenstore_notifier(&xenstore_notifier);
+ register_syscore_ops(&xen_balloon_watcher_syscore_ops);
return 0;
}
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-devel] [PATCH 00/11] [v2] misc changes for kexec in pv-on-hvm guests, Olaf Hering
- [Xen-devel] [PATCH 03/11] xen: use static initializers in xen-balloon.c, Olaf Hering
- [Xen-devel] [PATCH 06/11] xen/hvm kexec: unregister shutdown+sysrq watches during reboot, Olaf Hering
- [Xen-devel] [PATCH 05/11] xen/hvm kexec: unregister debugirq during reboot, Olaf Hering
- [Xen-devel] [PATCH 04/11] xen/hvm kexec: unregister timer interrupt during reboot, Olaf Hering
- [Xen-devel] [PATCH 02/11] xen: remove BUG_ON from xen_teardown_timer, Olaf Hering
- [Xen-devel] [PATCH 08/11] xen/hvm kexec: unregister the watch of the "backend" node during reboot, Olaf Hering
- [Xen-devel] [PATCH 07/11] xen/hvm kexec: unregister memory/target watch in xen-balloon.c,
Olaf Hering <=
- [Xen-devel] [PATCH 01/11] kexec: add kexec_is_loaded function, Olaf Hering
- [Xen-devel] [PATCH 10/11] xen kexec: reset device state to Initializing during reboot, Olaf Hering
- [Xen-devel] [PATCH 11/11] xen/hvm kdump: reset PV devices in crash kernel, Olaf Hering
- [Xen-devel] [PATCH 09/11] xen/hvm kexec: unregister the watch of the "device" node during reboot, Olaf Hering
- Re: [Xen-devel] [PATCH 00/11] [v2] misc changes for kexec in pv-on-hvm guests, Keir Fraser
- Re: [Xen-devel] [PATCH 00/11] [v2] misc changes for kexec in pv-on-hvm guests, Konrad Rzeszutek Wilk
|
|
|
|
|