Hello, again. THIS PATCHSET NEEDS MORE REVIEW AND TESTING. PLEASE DO NOT APPLY YET.
This patchset makes directory dentries and inodes reclaimable and is consisted of the following six patches. #01: implement-sysfs-flags-and-SYSFS_FLAG_REMOVED #02: implement-sysfs_find_dirent-and-sysfs_get_dirent #03: make-kobj-point-to-sysfs_dirent-instead-of-dentry #04: use-sysfs_lock-to-protect-the-sysfs_dirent-tree #05: implement-sysfs_get_dentry #06: make-directory-dentries-and-inodes-reclaimable Patch #01 and #06 probably need more splitting and #04-06 definitely need a lot more testing and review but the basic seems to work. Now having 10k sysfs files/directories cost slightly under 9 megabytes, which isn't too bad and makes sysfs useable on wider range of systems. API changes... * kobj->dentry replaced with kobj->sd as dentry can go away * shadowed directory handling functions now take sysfs_dirent instead of dentry As dirent and dentry are confusing as hell, I'd like to rename sysfs_dirent to sysfs_node or something. Any better ideas? Please review, test, scream... :-) This patchset is on top of 2.6.22-rc2-mm1 + [1] sysfs-assorted-fixes patchset + [2] sysfs-reduce-memory-footprint-of-sysfs_dirent patchset fs/sysfs/bin.c | 6 fs/sysfs/dir.c | 590 +++++++++++++++++++++++++++++++----------------- fs/sysfs/file.c | 196 +++++++-------- fs/sysfs/group.c | 54 ++-- fs/sysfs/inode.c | 36 +- fs/sysfs/mount.c | 4 fs/sysfs/symlink.c | 67 ++--- fs/sysfs/sysfs.h | 25 +- include/linux/kobject.h | 9 include/linux/sysfs.h | 24 + lib/kobject.c | 10 11 files changed, 603 insertions(+), 418 deletions(-) Thanks. -- tejun [1] http://thread.gmane.org/gmane.linux.kernel/535372 [2] http://thread.gmane.org/gmane.linux.kernel/535379 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/