[PATCHSET 2.6.22-rc2-mm1 REVIEW] sysfs: make directory dentries/inodes reclaimable

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux