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, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom policy in Canada: sign http://dissolvethecrtc.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>