[PATCH 4/7] Allow sysfs memory directories to be split
nfont at austin.ibm.com
Thu Jul 15 03:16:53 EST 2010
On 07/13/2010 10:26 PM, Dave Hansen wrote:
> On Wed, 2010-07-14 at 09:35 +0900, KAMEZAWA Hiroyuki wrote:
>> 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 ?
> I think creating a interface to duplicate the existing sysfs one is a
> bad idea. I also think removing the existing sysfs one isn't feasible
> since there are users, and it's truly part of the ABI. So, I'm not
> really a fan on the configfs interface. :(
> I really do think the sysfs interface is fixable. We should at least
> give it a good shot before largely duplicating its functionality.
I agree with Dave, I don't think another memory hotplug interface is needed.
I am working to update the patchset to remove the split functionality and
fix other items commented on. this new patch will just split the memory_block
structure so that a memory_block can span multiple memory sections.
Kame, I understand that offlining 16 MB is easier than 256 MB. From the ppc
perspective though, we are still offlining 256 MB. We do memory add/remove
on LMB size chunks, so we have to add/remove all of the memory sections contained
in an LMB. If any one memory section covered by a LMB fails to add/remove, we
restore the memory sections to their orignal state an fail the add/remove operation.
NOTE: the code doing this is not in the kernel, but in the user-space drmgr
command (from powerpc-utils package).
More information about the Linuxppc-dev