[PATCH v3 2/3] xen, cpu_hotplug: call device_offline instead of cpu_down

Stefano Stabellini stefano.stabellini at eu.citrix.com
Tue Oct 20 03:28:24 PDT 2015


On Mon, 19 Oct 2015, Boris Ostrovsky wrote:
> On 10/19/2015 12:55 PM, Stefano Stabellini wrote:
> > When offlining a cpu, instead of cpu_down, call device_offline, which
> > also takes care of updating the cpu.dev.offline field. This keeps the
> > sysfs file /sys/devices/system/cpu/cpuN/online, up to date.  Also move
> > the call to disable_hotplug_cpu, because it makes more sense to have it
> > there.
> > 
> > Signed-off-by: Stefano Stabellini <stefano.stabellini at eu.citrix.com>
> > CC: konrad.wilk at oracle.com
> > CC: boris.ostrovsky at oracle.com
> > CC: david.vrabel at citrix.com
> > ---
> >   drivers/xen/cpu_hotplug.c |    3 ++-
> >   1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/xen/cpu_hotplug.c b/drivers/xen/cpu_hotplug.c
> > index 43de1f5..78804b5 100644
> > --- a/drivers/xen/cpu_hotplug.c
> > +++ b/drivers/xen/cpu_hotplug.c
> > @@ -18,6 +18,8 @@ static void enable_hotplug_cpu(int cpu)
> >     static void disable_hotplug_cpu(int cpu)
> >   {
> > +	if (cpu_online(cpu))
> > +		device_offline(get_cpu_device(cpu));
> >   	if (cpu_present(cpu))
> >   		xen_arch_unregister_cpu(cpu);
> 
> Do we want to call device_online() when plugging cpu in?

I don't know: that would automatically bring the cpu online after the
user hot-plugs it. Is it what we want? Current one would have to manually:

echo 1 > /sys/devices/system/cpu/cpu1/online

I thought that was the expected behaviour?


> And take sysfs lock?
 
I think you are right: we need to protect the device_offline (and
device_online if we add it) with lock_device_hotplug and
unlock_device_hotplug. Thanks!
 

> >   @@ -55,7 +57,6 @@ static void vcpu_hotplug(unsigned int cpu)
> >   		enable_hotplug_cpu(cpu);
> >   		break;
> >   	case 0:
> > -		(void)cpu_down(cpu);
> >   		disable_hotplug_cpu(cpu);
> >   		break;
> >   	default:
> 



More information about the linux-arm-kernel mailing list