From: Chuck Lever <chuck.lever@oracle.com>
To: Trond Myklebust <Trond.Myklebust@netapp.com>
Cc: linux-nfs@vger.kernel.org
Subject: Re: [PATCH 00/24] Reduce the stack foot print of the NFS client
Date: Mon, 19 Apr 2010 17:43:32 -0400 [thread overview]
Message-ID: <4BCCCE84.3050109@oracle.com> (raw)
In-Reply-To: <1271449882-8580-1-git-send-email-Trond.Myklebust@netapp.com>
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@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
chuck[dot]lever[at]oracle[dot]com
next prev parent reply other threads:[~2010-04-19 21:44 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-16 20:30 [PATCH 00/24] Reduce the stack foot print of the NFS client Trond Myklebust
2010-04-16 20:30 ` [PATCH 01/24] NFS: Add helper functions for allocating filehandles and fattr structs Trond Myklebust
2010-04-16 20:31 ` [PATCH 02/24] NFSv4: Eliminate nfs4_path_walk() Trond Myklebust
2010-04-16 20:31 ` [PATCH 03/24] NFS: Reduce the stack footprint of nfs_follow_mountpoint() Trond Myklebust
2010-04-16 20:31 ` [PATCH 04/24] NFS: Reduce the stack footprint of nfs_create_server Trond Myklebust
2010-04-16 20:31 ` [PATCH 05/24] NFSv4: Reduce the stack footprint of try_location() Trond Myklebust
2010-04-16 20:31 ` [PATCH 06/24] NFS: Reduce the stack footprint of nfs_lookup Trond Myklebust
2010-04-16 20:31 ` [PATCH 07/24] NFS: Reduce the stack footprint of nfs_follow_remote_path() Trond Myklebust
2010-04-16 20:31 ` [PATCH 08/24] NFSv4: Reduce stack footprint of nfs4_get_root() Trond Myklebust
2010-04-16 20:31 ` [PATCH 09/24] NFSv4: Reduce the stack footprint of nfs4_remote_referral_get_sb Trond Myklebust
2010-04-16 20:31 ` [PATCH 10/24] NFSv4: Reduce stack footprint of nfs4_proc_access() and nfs3_proc_access() Trond Myklebust
2010-04-16 20:31 ` [PATCH 11/24] NFS: Reduce stack footprint of nfs_revalidate_inode() Trond Myklebust
2010-04-16 20:31 ` [PATCH 12/24] NFS: Reduce stack footprint of nfs3_proc_rename() and nfs4_proc_rename() Trond Myklebust
2010-04-16 20:31 ` [PATCH 13/24] NFS: Reduce stack footprint of nfs_readdir() Trond Myklebust
2010-04-16 20:31 ` [PATCH 14/24] NFS: Reduce the stack footprint of nfs_link() Trond Myklebust
2010-04-16 20:31 ` [PATCH 15/24] NFS: Reduce stack footprint of nfs3_proc_readlink() Trond Myklebust
2010-04-16 20:31 ` [PATCH 16/24] NFS: Reduce stack footprint of nfs_proc_remove() Trond Myklebust
2010-04-16 20:31 ` [PATCH 17/24] NFS: Reduce the stack footprint of nfs_rmdir Trond Myklebust
2010-04-16 20:31 ` [PATCH 18/24] NFS: Reduce the stack footprint of nfs_proc_create Trond Myklebust
2010-04-16 20:31 ` [PATCH 19/24] NFS: Reduce the stack footprint of nfs_proc_symlink() Trond Myklebust
2010-04-16 20:31 ` [PATCH 20/24] NFS: Reduce stack footprint of nfs4_proc_create() Trond Myklebust
2010-04-16 20:31 ` [PATCH 21/24] NFS: Reduce stack footprint of nfs_setattr() Trond Myklebust
2010-04-16 20:31 ` [PATCH 22/24] NFS: Reduce stack footprint of nfs_statfs() Trond Myklebust
2010-04-16 20:31 ` [PATCH 23/24] NFS: Reduce stack footprint of nfs3_proc_getacl() and nfs3_proc_setacl() Trond Myklebust
2010-04-16 20:31 ` [PATCH 24/24] NFS: Prevent the mount code from looping forever on broken exports Trond Myklebust
2010-04-19 21:03 ` [PATCH 08/24] NFSv4: Reduce stack footprint of nfs4_get_root() Chuck Lever
2010-04-19 21:43 ` Chuck Lever [this message]
2010-04-19 23:29 ` [PATCH 00/24] Reduce the stack foot print of the NFS client Trond Myklebust
[not found] ` <1271719778.25129.73.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2010-04-19 23:37 ` Chuck Lever
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4BCCCE84.3050109@oracle.com \
--to=chuck.lever@oracle.com \
--cc=Trond.Myklebust@netapp.com \
--cc=linux-nfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox