From: Jeff Layton <jlayton@kernel.org>
To: Andi Kleen <ak@linux.intel.com>, Mateusz Guzik <mjguzik@gmail.com>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>,
Christian Brauner <brauner@kernel.org>, Jan Kara <jack@suse.cz>,
Andrew Morton <akpm@linux-foundation.org>,
Josef Bacik <josef@toxicpanda.com>,
linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2] fs: try an opportunistic lookup for O_CREAT opens too
Date: Tue, 06 Aug 2024 15:26:28 -0400 [thread overview]
Message-ID: <44862ec7c85cdc19529e26f47176d0ecfc90d888.camel@kernel.org> (raw)
In-Reply-To: <87ikwdtqiy.fsf@linux.intel.com>
On Tue, 2024-08-06 at 12:11 -0700, Andi Kleen wrote:
> Mateusz Guzik <mjguzik@gmail.com> writes:
> >
> > I would bench with that myself, but I temporarily don't have handy
> > access to bigger hw. Even so, the below is completely optional and
> > perhaps more of a suggestion for the future :)
> >
> > I hacked up the test case based on tests/open1.c.
>
> Don't you need two test cases? One where the file exists and one
> where it doesn't. Because the "doesn't exist" will likely be slower
> than before because it will do the lookups twice,
> and it will likely even slow single threaded.
>
> I assume the penalty will also depend on the number of entries
> in the path.
>
> That all seem to be an important considerations in judging the benefits
> of the patch.
>
Definitely.
FWIW, I did test a single threaded (bespoke) test case that did a bunch
of O_CREAT opens, closes and then unlinks. I didn't measure any
discernable difference with this patch. My conclusion from that was
that the extra lockless lookup should be cheap.
That said, this could show a difference if you have rather long hash
chains that need to be walked completely, and you have to actually do
the create every time. In practice though, time spent under the
inode_lock and doing the create tends to dominate in that case, so I
*think* this should still be worthwhile.
I'll plan to add a test like that to will_it_scale unless Mateusz beats
me to it. A long soak in linux-next is probably also justified with
this patch.
--
Jeff Layton <jlayton@kernel.org>
next prev parent reply other threads:[~2024-08-06 19:26 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-06 14:32 [PATCH v2] fs: try an opportunistic lookup for O_CREAT opens too Jeff Layton
2024-08-06 15:25 ` Mateusz Guzik
2024-08-06 16:17 ` Jeff Layton
2024-08-06 16:42 ` Mateusz Guzik
2024-08-06 19:11 ` Andi Kleen
2024-08-06 19:22 ` Mateusz Guzik
2024-08-06 20:42 ` Jeff Layton
2024-08-06 19:26 ` Jeff Layton [this message]
2024-08-06 20:03 ` Mateusz Guzik
2024-08-06 20:47 ` Andi Kleen
2024-08-15 15:07 ` Mateusz Guzik
2024-08-06 19:51 ` Jeff Layton
2024-08-14 2:18 ` Al Viro
2024-08-14 2:40 ` Al Viro
2024-08-14 11:48 ` Jeff Layton
2024-08-14 12:40 ` Christian Brauner
2024-08-14 15:44 ` Al Viro
2024-08-16 8:34 ` Christian Brauner
2024-08-14 15:42 ` Al Viro
2024-08-14 16:46 ` Jeff Layton
2024-08-07 14:26 ` Christian Brauner
2024-08-07 14:36 ` Jeff Layton
2024-08-08 10:36 ` Christian Brauner
2024-08-08 10:54 ` Jeff Layton
2024-08-08 11:18 ` Christian Brauner
2024-08-08 17:11 ` Jan Kara
2024-08-08 21:12 ` Paul Moore
2024-08-08 23:43 ` Jeff Layton
2024-08-09 0:28 ` Paul Moore
2024-08-09 0:33 ` Jeff Layton
2024-08-09 1:22 ` Paul Moore
2024-08-09 14:21 ` Jeff Layton
2024-08-11 21:52 ` Paul Moore
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=44862ec7c85cdc19529e26f47176d0ecfc90d888.camel@kernel.org \
--to=jlayton@kernel.org \
--cc=ak@linux.intel.com \
--cc=akpm@linux-foundation.org \
--cc=brauner@kernel.org \
--cc=jack@suse.cz \
--cc=josef@toxicpanda.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mjguzik@gmail.com \
--cc=viro@zeniv.linux.org.uk \
/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;
as well as URLs for NNTP newsgroup(s).