Re: [PATCH 0/4] De-couple sysfs memory directories from memorysections

From: Dave Hansen
Date: Thu Jan 20 2011 - 12:09:26 EST


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).

-- Dave

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/