Skip to content

De-couple sysfs memory directories from memory sections

Nathan Fontenot linuxppc-dev lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest7 patches 16 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/7Split the memory_block structuredrivers/base/memory.c include/linux/memory.h+32 -124 replies
2/7Create the new 'end_phys_index' filedrivers/base/memory.c include/linux/memory.h+16 -10 replies
3/7Update the [register,unregister]_memory routinesdrivers/base/memory.c+48 -452 replies
4/7Allow sysfs memory directories to be splitdrivers/base/memory.c+98 -18 replies
5/7update the mutex name in the memory_block structdrivers/base/memory.c include/linux/memory.h+11 -180 replies
6/7Update sysfs node routines for new sysfs memory directoriesdrivers/base/node.c+8 -40 replies
7/7Enable multiple memory sections per sysfs memory directory for powerpc/pseriesarch/powerpc/platforms/pseries/hotplug-memory.c+53 -130 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/7] De-couple sysfs memory directories from memory sections

This set of patches de-couples the idea that there is a single directory in sysfs for each memory section. The intent of the patches is to reduce the number of sysfs directories created to resolve a boot-time performance issue. On very large systems boot time are getting very long (as seen on powerpc hardware) due to the enormous number of sysfs directories being created. On a system with 1 TB of memory we create ~63,000 directories. For even larger systems boot times are being measured in hours.

This set of patches allows for each directory created in sysfs to cover more than one memory section. The default behavior for sysfs directory creation is the same, in that each directory represents a single memory section. This update also adds to new files to each sysfs memory directory. The file 'end_phys_index' contains the physical id of the last memory section covered by the directory. The file 'split' allows for splitting the directory in two, with each new directory covering half as many memory sections as the previous directory.

Thanks,

Nathan Fontenot