xfs
[Top] [All Lists]

Re: nfs performance delta between filesystems

To: Emmanuel Florac <eflorac@xxxxxxxxxxxxxx>
Subject: Re: nfs performance delta between filesystems
From: bpm@xxxxxxx
Date: Fri, 22 Jan 2010 12:38:48 -0600
Cc: xfs@xxxxxxxxxxx
In-reply-to: <20100122185419.63ae6430@xxxxxxxxxxxxxxxxxxxx>
References: <20100122185419.63ae6430@xxxxxxxxxxxxxxxxxxxx>
User-agent: Mutt/1.5.17+20080114 (2008-01-14)
Hey Emmanuel,

I did some research on this in April last year on an old, old kernel.
One of the codepaths I flagged:

nfsd_create
  write_inode_now
    __sync_single_inode
      write_inode
        xfs_fs_write_inode
          xfs_inode_flush
            xfs_iflush

There were small gains to be had by reordering the sync of the parent and
child syncs where the two inodes were in the same cluster.  The larger
problem seemed to be that we're not treating the log as stable storage.
By calling write_inode_now we've written the changes to the log first
and then gone and also written them out to the inode.  

nfsd_create, nfsd_link, and nfsd_setattr all do this (or do in the old
kernel I'm looking at).  I have a patchset that changes
this to an fsync so we force the log and call it good.  I'll be happy to
dust it off if someone hasn't already addressed this situation.

-Ben

<Prev in Thread] Current Thread [Next in Thread>