[PATCH 4/7] Allow sysfs memory directories to be split

KAMEZAWA Hiroyuki kamezawa.hiroyu at jp.fujitsu.com
Wed Jul 14 13:25:03 EST 2010

On Tue, 13 Jul 2010 22:18:03 -0500
Nathan Fontenot <nfont at austin.ibm.com> wrote:

> On 07/13/2010 07:35 PM, KAMEZAWA Hiroyuki wrote:
> > On Tue, 13 Jul 2010 10:51:58 -0500
> > Nathan Fontenot <nfont at austin.ibm.com> wrote:
> > 
> >>>
> >>> And for what purpose this interface is ? Does this split memory block into 2 pieces
> >>> of the same size ?? sounds __very__ strange interface to me.
> >>
> >> Yes, this splits the memory_block into two blocks of the same size.  This was
> >> suggested as something we may want to do.  From ppc perspective I am not sure we
> >> would use this.
> >>
> >> The split functionality is not required.  The main goal of the patch set is to
> >> reduce the number of memory sysfs directories created.  From a ppc perspective
> >> the split functionality is not really needed.
> >>
> > 
> > Okay, this is an offer from me.
> > 
> >   1. I think you can add an boot option as "don't create memory sysfs".
> >      please do.
> I posted a patch to do that a week or so ago, it didn't go over very well.
> > 
> >   2. I'd like to write a configfs module for handling memory hotplug even when
> >      sysfs directroy is not created.
> >      Because configfs support rmdir/mkdir, the user (ppc's daemon?) has to do
> >      
> >      When offlining section X.
> >      # insmod configfs_memory.ko
> >      # mount -t configfs none /configfs
> >      # mkdir /configfs/memoryX
> >      # echo offline > /configfs/memoryX/state
> >      # rmdir /configfs/memoryX
> > 
> >   And making this operation as the default bahavior for all arch's memory hotplug may
> >   be better...
> > 
> > Dave, how do you think ? Because ppc guys uses "probe" interface already,
> > this can be handled... no ?
> ppc would still require the existance of the 'probe' interface.
> Are you objecting to the 'split' functionality? 

> If so I do not see any reason from ppc
> perspective that it is needed.  This was something Dave suggested, unless I am missing
> something.
> Since ppc needs the 'probe' interface in sysfs, and for ppc having mutliple 
> memory_block_sections reside under a single memory_block makes memory hotplug
> simpler.  On ppc we do emory hotplug operations on an LMB size basis.  With my
> patches this now lets us set each memory_block to span an LMB's worth of
> memory.  Now we could do emory hotplug in a single operation instead of multiple
> operations to offline/online all of the memory sections in an LMB.

Why per-section memory offlining is provided is for allowing good success-rate of
memory offlining. Because memory-hotplug has to "migrate or free" all used page
under a section, possibility of memory unplug depends on usage of memory.
If a section contains unmovable page(kernel page), we can't offline sectin.

For example, comparing
  1. offlining 128MB of memory at once
  2. offlining 8 chunks of 16MB memory
"2" can get very good possibility and system-busy time can be much reduced.

IIUC, ppc's 1st requirement is "resizing" not "hot-removing some memory device",
"2" is much welcomed. So, some fine-grained interface to section_size is
appreciated. So, "multiple operations" is much better than single operation.

As I posted show/hide patch, I'm writing it in configfs. I think it meets IBM's
_But_, it's IBM's issue not Fujitsu's. So, final decistion will depend on you guys.

Anyway, I don't like a too fancy interface as "split".


More information about the Linuxppc-dev mailing list