Re: [PATCH 5.10] nfsd: Replace use of rwsem with errseq_t

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

 



On Mon, Jun 13, 2022 at 09:58:21AM +0200, Greg KH wrote:
> On Tue, Jun 07, 2022 at 01:10:36PM -0700, Leah Rumancik wrote:
> > From: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
> > 
> > [ Upstream commit 555dbf1a9aac6d3150c8b52fa35f768a692f4eeb ]
> > 
> > The nfsd_file nf_rwsem is currently being used to separate file write
> > and commit instances to ensure that we catch errors and apply them to
> > the correct write/commit.
> > We can improve scalability at the expense of a little accuracy (some
> > extra false positives) by replacing the nf_rwsem with more careful
> > use of the errseq_t mechanism to track errors across the different
> > operations.
> > 
> > [Leah: This patch is for 5.10. 5011af4c698a ("nfsd: Fix stable writes")
> > introduced a 75% performance regression on parallel random write
> > workloads. With this commit, the performance is restored to 90% of what
> > it was prior to 5011af4c698a. The changes to the fsync for asynchronous
> > copies were not included in this backport version as the fsync was not
> > added until 5.14 (eac0b17a77fb).]
> > 
> > Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>
> > Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx>
> > Signed-off-by: Leah Rumancik <leah.rumancik@xxxxxxxxx>
> > [ cel: rebased on zero-verifier fix ]
> > ---
> >  fs/nfsd/filecache.c |  1 -
> >  fs/nfsd/filecache.h |  1 -
> >  fs/nfsd/nfs4proc.c  |  7 ++++---
> >  fs/nfsd/vfs.c       | 40 +++++++++++++++-------------------------
> >  4 files changed, 19 insertions(+), 30 deletions(-)
> 
> What about 5.15?  We can't take this patch for 5.10 only as if you
> upgrade to 5.15 you would have a regression.  Can you provide a version
> for that tree so that I can then apply this one too?
> 
> thanks,
> 
> greg k-h

Just sent the 5.15 version. The upstream commit
(555dbf1a9aac6d3150c8b52fa35f768a692f4eeb) actually applies cleanly on
5.15 so you can pull that or the version I just sent with the
justification for backporting. After applying this commit to 5.15, I
confirmed there was no peformance regression.

Best,
Leah



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux