Subject: Re: [RFC] [PATCH] cpu hotplug on power based systems.

From: [email-masked] (Linas Vepstas)
Date: Thu, 16 Nov 2006 15:02:03 -0600

On Thu, Nov 16, 2006 at 09:40:51AM -0600, Nathan Lynch wrote:
> Srinivasa Ds wrote:
> > 
> > Linux kernel uses some of the rtas token to perform cpu hotplug on power 
> > systems. Some of the systems may not provide all the rtas services,which 
> > are required to perform cpu hotplug. Like for example
> >   1) JS20 doesn't provide "stop-self" token and cpu hotplug operations 
> > on these systems causes system to crash.
> >   2) some of the p630 systems doesn't provide "query-cpu-stopped-state" 
> > token and we are not sure of whether cpu is under stopped state or not  
> > or stop-self is still in progress .
> 
> Neither of these systems (well, the p630 in "SMP" mode) have
> hypervisors so their firmwares don't provide the rtas primitives for
> CPU offline.
> 
> > So we can't take decision on whether cpu really has gone offline or not.
> > 
> > So we need to make sure that all required rtas tokens for cpu hotplug  
> > are available during rtas initialization phase and to disable cpu 
> > hotplug if they are not available.
> > I have developed the patch which does the above thing. Please let me 
> > know your comments on this.
> 
> Would be better to either a) inhibit creation of the sysfs 'online'
> cpu attributes (I thought we used to handle this correctly on these
> systems) or b) use the generic cpu hotplug operations which have no
> dependency on RTAS.

Yeah, good point. It seemes cleaner to do this, than to add a new
state ("per disabled") that adds complexity to the generic kernel code. 

Perhaps we could set this up so that, if rtas "stop-self" is not
defined, then generic_cpu_die() is installed instead of pseries_cpu_die()?

--linas