Message ID | 1377822129-4143-2-git-send-email-toshi.kani@hp.com (mailing list archive) |
---|---|
State | Accepted, archived |
Headers | show |
Hi Peter, Any objections here? On Thursday, August 29, 2013 06:22:06 PM Toshi Kani wrote: > _debug_hotplug_cpu() is a debug interface that puts cpu0 offline during > boot-up when CONFIG_DEBUG_HOTPLUG_CPU0 is set. After cpu0 is put offline > in this interface, however, /sys/devices/system/cpu/cpu0/online still > shows 1 (online). > > This patch fixes _debug_hotplug_cpu() to update dev->offline when CPU > online/offline operation succeeded. > > Signed-off-by: Toshi Kani <toshi.kani@hp.com> > Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> > --- > arch/x86/kernel/topology.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/arch/x86/kernel/topology.c b/arch/x86/kernel/topology.c > index 6e60b5f..5823bbd 100644 > --- a/arch/x86/kernel/topology.c > +++ b/arch/x86/kernel/topology.c > @@ -72,16 +72,19 @@ int __ref _debug_hotplug_cpu(int cpu, int action) > ret = cpu_down(cpu); > if (!ret) { > pr_info("CPU %u is now offline\n", cpu); > + dev->offline = true; > kobject_uevent(&dev->kobj, KOBJ_OFFLINE); > } else > pr_debug("Can't offline CPU%d.\n", cpu); > break; > case 1: > ret = cpu_up(cpu); > - if (!ret) > + if (!ret) { > + dev->offline = false; > kobject_uevent(&dev->kobj, KOBJ_ONLINE); > - else > + } else { > pr_debug("Can't online CPU%d.\n", cpu); > + } > break; > default: > ret = -EINVAL; > -- > To unsubscribe from this list: send the line "unsubscribe linux-acpi" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/arch/x86/kernel/topology.c b/arch/x86/kernel/topology.c index 6e60b5f..5823bbd 100644 --- a/arch/x86/kernel/topology.c +++ b/arch/x86/kernel/topology.c @@ -72,16 +72,19 @@ int __ref _debug_hotplug_cpu(int cpu, int action) ret = cpu_down(cpu); if (!ret) { pr_info("CPU %u is now offline\n", cpu); + dev->offline = true; kobject_uevent(&dev->kobj, KOBJ_OFFLINE); } else pr_debug("Can't offline CPU%d.\n", cpu); break; case 1: ret = cpu_up(cpu); - if (!ret) + if (!ret) { + dev->offline = false; kobject_uevent(&dev->kobj, KOBJ_ONLINE); - else + } else { pr_debug("Can't online CPU%d.\n", cpu); + } break; default: ret = -EINVAL;