On 01/20/2011 10:45 AM, Greg KH wrote:
On Thu, Jan 20, 2011 at 10:36:40AM -0600, Nathan Fontenot wrote:
quoted
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?
Yes, the string compare is still present in the sysfs code. There was
discussion around this sometime last year when I sent a patch out that
stored the directory entries in something other than a linked list.
That patch was rejected but it was agreed that something should be done.
-Nathan