[PATCH 4/7] Allow sysfs memory directories to be split
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
> 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