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] [linux-2.6.18-xen] xen: add missing kobject_uevent() inv

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [linux-2.6.18-xen] xen: add missing kobject_uevent() invocations for CPU hotplug code
From: "Xen patchbot-linux-2.6.18-xen" <patchbot-linux-2.6.18-xen@xxxxxxxxxxxxxxxxxxx>
Date: Mon, 17 Jan 2011 07:53:10 -0800
Delivery-date: Mon, 17 Jan 2011 07:55:12 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
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/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/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@xxxxxxx>
# Date 1294758683 0
# Node ID d03d7ebd513d617e7061fc69f7ea4d74825d4444
# Parent  5c0b28125957507fbf69d23da50b9f655a04c630
xen: add missing kobject_uevent() invocations for CPU hotplug code

Their counterparts in drivers/base/cpu.c:store_online() got added
around 2.6.12.

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>
---
 drivers/xen/core/cpu_hotplug.c |   17 ++++++++++-------
 1 files changed, 10 insertions(+), 7 deletions(-)

diff -r 5c0b28125957 -r d03d7ebd513d drivers/xen/core/cpu_hotplug.c
--- a/drivers/xen/core/cpu_hotplug.c    Mon Dec 20 09:24:55 2010 +0000
+++ b/drivers/xen/core/cpu_hotplug.c    Tue Jan 11 15:11:23 2011 +0000
@@ -1,6 +1,7 @@
 #include <linux/init.h>
 #include <linux/kernel.h>
 #include <linux/sched.h>
+#include <linux/kobject.h>
 #include <linux/notifier.h>
 #include <linux/cpu.h>
 #include <xen/cpu_hotplug.h>
@@ -24,7 +25,7 @@ static int local_cpu_hotplug_request(voi
        return (current->mm != NULL);
 }
 
-static void vcpu_hotplug(unsigned int cpu)
+static void vcpu_hotplug(unsigned int cpu, struct sys_device *dev)
 {
        int err;
        char dir[32], state[32];
@@ -41,10 +42,12 @@ static void vcpu_hotplug(unsigned int cp
 
        if (strcmp(state, "online") == 0) {
                cpu_set(cpu, xenbus_allowed_cpumask);
-               (void)cpu_up(cpu);
+               if (!cpu_up(cpu) && dev)
+                       kobject_uevent(&dev->kobj, KOBJ_ONLINE);
        } else if (strcmp(state, "offline") == 0) {
                cpu_clear(cpu, xenbus_allowed_cpumask);
-               (void)cpu_down(cpu);
+               if (!cpu_down(cpu) && dev)
+                       kobject_uevent(&dev->kobj, KOBJ_OFFLINE);
        } else {
                printk(KERN_ERR "XENBUS: unknown state(%s) on CPU%d\n",
                       state, cpu);
@@ -60,7 +63,7 @@ static void handle_vcpu_hotplug_event(
 
        if ((cpustr = strstr(node, "cpu/")) != NULL) {
                sscanf(cpustr, "cpu/%u", &cpu);
-               vcpu_hotplug(cpu);
+               vcpu_hotplug(cpu, get_cpu_sysdev(cpu));
        }
 }
 
@@ -93,7 +96,7 @@ static int setup_cpu_watcher(struct noti
 
        if (!is_initial_xendomain()) {
                for_each_possible_cpu(i)
-                       vcpu_hotplug(i);
+                       vcpu_hotplug(i, get_cpu_sysdev(i));
                printk(KERN_INFO "Brought up %ld CPUs\n",
                       (long)num_online_cpus());
        }
@@ -132,7 +135,7 @@ int smp_suspend(void)
                        printk(KERN_CRIT "Failed to take all CPUs "
                               "down: %d.\n", err);
                        for_each_possible_cpu(cpu)
-                               vcpu_hotplug(cpu);
+                               vcpu_hotplug(cpu, NULL);
                        return err;
                }
        }
@@ -147,7 +150,7 @@ void smp_resume(void)
        for_each_possible_cpu(cpu) {
                if (cpu == 0)
                        continue;
-               vcpu_hotplug(cpu);
+               vcpu_hotplug(cpu, NULL);
        }
 }
 

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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [linux-2.6.18-xen] xen: add missing kobject_uevent() invocations for CPU hotplug code, Xen patchbot-linux-2.6.18-xen <=