Messages in this thread | | | Date | Wed, 5 Oct 2011 21:22:10 +0200 (CEST) | From | Thomas Gleixner <> | Subject | Re: [PATCH 7/8] kernel/power/main.c: Not suspend/resume if CPU0 is offlined |
| |
On Wed, 5 Oct 2011, Fenghua Yu wrote:
> From: Fenghua Yu <fenghua.yu@intel.com> > > System resumes from CPU0 on today's x86 BIOS. Don't suspend/resume if CPU0 is > offlined and bsp_hotpluggable is 1. > > Signed-off-by: Fenghua Yu <fenghua.yu@intel.com> > --- > kernel/power/main.c | 9 +++++++++ > 1 files changed, 9 insertions(+), 0 deletions(-) > > diff --git a/kernel/power/main.c b/kernel/power/main.c > index 6c601f8..33ffb6a 100644 > --- a/kernel/power/main.c > +++ b/kernel/power/main.c > @@ -12,6 +12,7 @@ > #include <linux/string.h> > #include <linux/resume-trace.h> > #include <linux/workqueue.h> > +#include <linux/cpu.h> > > #include "power.h" > > @@ -178,6 +179,14 @@ static ssize_t state_store(struct kobject *kobj, struct kobj_attribute *attr, > int len; > int error = -EINVAL; > > +#ifdef CONFIG_HOTPLUG_CPU > + if (bsp_hotpluggable && cpumask_first(cpu_online_mask) != 0) { > + printk(KERN_WARNING "Because CPU0 is offlined, system can't suspend/resume.\n"); > + > + return -ENODEV; > + } > +#endif
Oh yes, we enforce that for all architectures no matter what.
This is a x86 restriction and the cpu hotplug architecture code can veto unplugging.
Thanks,
tglx
| |