[PATCH 0/4] De-couple sysfs memory directories from memory sections
dave at linux.vnet.ibm.com
Fri Jan 21 04:09:01 EST 2011
On Thu, 2011-01-20 at 08:45 -0800, Greg KH wrote:
> On Thu, Jan 20, 2011 at 10:36:40AM -0600, Nathan Fontenot wrote:
> > The root of this issue is in sysfs directory creation. Every time
> > a directory is created a string compare is done against sibling
> > directories ( see sysfs_find_dirent() ) to ensure we do not create
> > duplicates. The list of directory nodes in sysfs is kept as an
> > unsorted list which results in this being an exponentially longer
> > operation as the number of directories are created.
> Again, are you sure about this? I thought we resolved this issue in the
> past, but you were going to check it. Did you?
Just to be clear, simply reducing the number of kobjects can make these
patches worthwhile on their own. I originally figured that the
SECTION_SIZE would go up over time as systems got larger, and _that_
would keep the number of sections and number of sysfs objects down.
Well, that turned out to be wrong, and we're eating up a ton of memory
now. We can't fix the SECTION_SIZE easily, but we can reduce the number
of kobjects that we need to track the sections. *That* is the main
benefit I see from these patches.
I think there's a problem worth fixing, even ignoring the directory
creation issue (if it still exists).
More information about the Linuxppc-dev