On Mon, Jun 13, 2022 at 04:46:47PM -0700, Leah Rumancik wrote: > 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. Now all queued up, thanks. greg k-h