Messages in this thread | | | Subject | [PATCHSET 2.6.22-rc2-mm1 REVIEW] sysfs: make directory dentries/inodes reclaimable | Date | Tue, 29 May 2007 01:36:26 +0900 | From | Tejun Heo <> |
| |
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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |