Linux NFS development
 help / color / mirror / Atom feed
From: Trond Myklebust <trondmy@hammerspace.com>
To: "snitzer@kernel.org" <snitzer@kernel.org>,
	"jlayton@kernel.org" <jlayton@kernel.org>,
	"loghyr@gmail.com" <loghyr@gmail.com>
Cc: "anna@kernel.org" <anna@kernel.org>,
	"linux-nfs@vger.kernel.org" <linux-nfs@vger.kernel.org>,
	"chuck.lever@oracle.com" <chuck.lever@oracle.com>
Subject: Re: OPEN_XOR_DELEGATION performance problems
Date: Tue, 19 Nov 2024 15:09:48 +0000	[thread overview]
Message-ID: <ec60bdca5eea7d459ce81144914f7bd56cd747a9.camel@hammerspace.com> (raw)
In-Reply-To: <d5b8d3d6c7592808ad1332ae8c7c2f2cc9635550.camel@kernel.org>

On Tue, 2024-11-19 at 06:45 -0500, Jeff Layton wrote:
> We attempted to implement the "delstid" draft for v6.13, but have had
> to drop the patches for it. After merge, we got a couple of reports
> of
> a performance issue due to the OPEN_XOR_DELEGATION patch:
>
>
> https://lore.kernel.org/linux-nfs/202409161645.d44bced5-oliver.sang@intel.com/
>
> Once we enable OPEN_XOR_DELEGATION support, the fsmark "App Overhead"
> statistic spikes significantly. The kernel patch for this is very
> simple, and doesn't seem likely to cause a performance issue on its
> own. My theory is that this test is one that causes the client to
> return the delegation, and since it doesn't have an open stateid, it
> has to reestablish one during the test run, and that causes the app
> overhead stat to spike.
>
> Trond, Tom, Mike -- I know that the HS Anvil has support for
> OPEN_XOR_DELEGATION. If you run the fsmark test against it with that
> support both enabled and disabled (either on the client or server
> side), do you see a similar spike in "App Overhead"?
>
> If so, then I suspect we need to consider limiting the use of that
> flag
> in some cases. I have no idea what heuristic we'd use to decide this
> though.

As already stated when we discussed this at Bakeathon: the server is
still in charge of heuristics w.r.t. whether or not there may be
contention for the file. The OPEN_XOR_DELEGATION flag changes nothing
in that respect.

Yes, I'm sure you can find tests which cause recalls of delegations,
and those will be marginally slower when the client has to re-establish
an open stateid. However the issue with those tests is that they are
deliberately setting up a situation where the server ideally shouldn't
be handing out a delegation at all.

Furthermore, this is no different than a situation where the client
used a delegation to cache the open (i.e. avoid sending an OPEN call)
after the application closed the file and then later re-opened it.
So the point is that this is not a situation that is unique to
OPEN_XOR_DELEGATION. It is just a consequence of the client's ability
to cache open state.

--
Trond Myklebust
Linux NFS client maintainer, Hammerspace
trond.myklebust@hammerspace.com



  reply	other threads:[~2024-11-19 15:09 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-19 11:45 OPEN_XOR_DELEGATION performance problems Jeff Layton
2024-11-19 15:09 ` Trond Myklebust [this message]
2024-11-19 16:23   ` Chuck Lever III
2024-11-19 16:37     ` Jeff Layton
2024-11-20  7:39     ` Cedric Blancher
2024-11-20 12:11       ` Mkrtchyan, Tigran

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=ec60bdca5eea7d459ce81144914f7bd56cd747a9.camel@hammerspace.com \
    --to=trondmy@hammerspace.com \
    --cc=anna@kernel.org \
    --cc=chuck.lever@oracle.com \
    --cc=jlayton@kernel.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=loghyr@gmail.com \
    --cc=snitzer@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