Re: [PATCH 00/24] Reduce the stack foot print of the NFS client

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

 



On 04/16/2010 04:30 PM, Trond Myklebust wrote:
The following patch series aims to significantly reduce the stack foot
print of the NFS client by dynamically allocating the struct nfs_fattr
and struct nfs_fh.

Random comments:

1. There's an open-coded kzalloc of an nfs_fh in nfs_get_sb. This can be replaced with nfs_alloc_fh().

2. root_nfs_get_handle allocates an nfs_fh on the stack. This can be replaced with nfs_alloc_fh().

3. There is an unneeded nfs_fattr_init() call in nfs_probe_fsinfo(). I didn't look for others that are similarly made obsolete.

4. Where ever you have "if (fattr == NULL) goto out;" (and similarly for filehandles) you could add "unlikely()" to improve branch prediction slightly.

5.  The documenting comment before nfs_do_refmount() is out of date.

Cheers
   Trond

Trond Myklebust (24):
   NFS: Add helper functions for allocating filehandles and fattr
     structs
   NFSv4: Eliminate nfs4_path_walk()
   NFS: Reduce the stack footprint of nfs_follow_mountpoint()
   NFS: Reduce the stack footprint of nfs_create_server
   NFSv4: Reduce the stack footprint of try_location()
   NFS: Reduce the stack footprint of nfs_lookup
   NFS: Reduce the stack footprint of nfs_follow_remote_path()
   NFSv4: Reduce stack footprint of nfs4_get_root()
   NFSv4: Reduce the stack footprint of nfs4_remote_referral_get_sb
   NFSv4: Reduce stack footprint of nfs4_proc_access() and
     nfs3_proc_access()
   NFS: Reduce stack footprint of nfs_revalidate_inode()
   NFS: Reduce stack footprint of nfs3_proc_rename() and
     nfs4_proc_rename()
   NFS: Reduce stack footprint of nfs_readdir()
   NFS: Reduce the stack footprint of nfs_link()
   NFS: Reduce stack footprint of nfs3_proc_readlink()
   NFS: Reduce stack footprint of nfs_proc_remove()
   NFS: Reduce the stack footprint of nfs_rmdir
   NFS: Reduce the stack footprint of nfs_proc_create
   NFS: Reduce the stack footprint of nfs_proc_symlink()
   NFS: Reduce stack footprint of nfs4_proc_create()
   NFS: Reduce stack footprint of nfs_setattr()
   NFS: Reduce stack footprint of nfs_statfs()
   NFS: Reduce stack footprint of nfs3_proc_getacl() and
     nfs3_proc_setacl()
   NFS: Prevent the mount code from looping forever on broken exports

  fs/nfs/client.c         |   54 ++++++++++---
  fs/nfs/dir.c            |   62 +++++++++++----
  fs/nfs/getroot.c        |  191 +++++++++++++++++------------------------------
  fs/nfs/inode.c          |   46 ++++++++++--
  fs/nfs/internal.h       |    4 +-
  fs/nfs/namespace.c      |   20 ++++--
  fs/nfs/nfs3acl.c        |   23 ++++--
  fs/nfs/nfs3proc.c       |  128 +++++++++++++++++++------------
  fs/nfs/nfs3xdr.c        |    2 +-
  fs/nfs/nfs4namespace.c  |   10 ++-
  fs/nfs/nfs4proc.c       |   81 ++++++++++++--------
  fs/nfs/nfs4xdr.c        |    2 +-
  fs/nfs/proc.c           |  144 ++++++++++++++++++++---------------
  fs/nfs/super.c          |  121 ++++++++++++++++++++++++++----
  fs/nfs/unlink.c         |    4 +-
  include/linux/nfs_fs.h  |   14 ++++
  include/linux/nfs_xdr.h |    2 +-
  17 files changed, 566 insertions(+), 342 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


--
chuck[dot]lever[at]oracle[dot]com
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux