[PATCH 3/3] ppc64-specific memory notifier support

Michael Ellerman michael at ellerman.id.au
Fri Feb 29 12:03:22 EST 2008


On Thu, 2008-02-28 at 18:39 -0600, Nathan Lynch wrote:
> Michael Ellerman wrote:
> > On Thu, 2008-02-28 at 08:46 -0800, Badari Pulavarty wrote:
> > > Hotplug memory notifier for ppc64. This gets invoked by writing
> > > the device-node that needs to be removed to /proc/ppc64/ofdt.
> > > We need to adjust the sections and remove sysfs entries by
> > > calling __remove_pages(). Then call arch specific code to
> > > get rid of htab mappings for the section of memory.
> > > 
> > > Signed-off-by: Badari Pulavarty <pbadari at us.ibm.com>
> > > ---
> > >  arch/powerpc/platforms/pseries/Makefile         |    1 
> > >  arch/powerpc/platforms/pseries/hotplug-memory.c |   98 ++++++++++++++++++++++++
> > >  2 files changed, 99 insertions(+)
> > > 
> > > Index: linux-2.6.25-rc2/arch/powerpc/platforms/pseries/hotplug-memory.c
> > > ===================================================================
> > > --- /dev/null	1970-01-01 00:00:00.000000000 +0000
> > > +++ linux-2.6.25-rc2/arch/powerpc/platforms/pseries/hotplug-memory.c	2008-02-28 08:20:14.000000000 -0800
> > 
> > > +
> > > +static struct notifier_block pseries_smp_nb = {
> > > +	.notifier_call = pseries_memory_notifier,
> > > +};
> > > +
> > > +static int __init pseries_memory_hotplug_init(void)
> > > +{
> > > +	if (firmware_has_feature(FW_FEATURE_LPAR))
> > > +		pSeries_reconfig_notifier_register(&pseries_smp_nb);
> > > +
> > > +	return 0;
> > > +}
> > > +arch_initcall(pseries_memory_hotplug_init);
> > 
> > This is going to fire on non-pseries LPAR platforms, like iSeries and
> > PS3. Which is not what you want I think.
> 
> Well, the notifier will be registered, yes, but it will never be
> called because that path is reachable only from a write to
> /proc/ppc64/ofdt, which is not created on non-pseries.

Sure. Still seems better not to register it in the first place.

> Maybe it should be
> 
> machine_device_initcall(pseries, pseries_memory_hotplug_init);

I think so.

> (and pseries_cpu_hotplug_init in hotplug-cpu.c should be changed to
> machine_arch_initcall)

Yeah I noticed that was not guarded as well, and I think I'm culpable
for that :)

cheers

-- 
Michael Ellerman
OzLabs, IBM Australia Development Lab

wwweb: http://michael.ellerman.id.au
phone: +61 2 6212 1183 (tie line 70 21183)

We do not inherit the earth from our ancestors,
we borrow it from our children. - S.M.A.R.T Person
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20080229/d8a4a52b/attachment.pgp>


More information about the Linuxppc-dev mailing list