From: Oliver Sang <oliver.sang@intel.com>
To: Al Viro <viro@zeniv.linux.org.uk>
Cc: <oe-lkp@lists.linux.dev>, <lkp@intel.com>,
<linux-fsdevel@vger.kernel.org>,
Christian Brauner <brauner@kernel.org>,
<linux-doc@vger.kernel.org>, <ying.huang@intel.com>,
<feng.tang@intel.com>, <fengwei.yin@intel.com>,
Linus Torvalds <torvalds@linux-foundation.org>,
<oliver.sang@intel.com>
Subject: Re: [viro-vfs:work.dcache2] [__dentry_kill()] 1b738f196e: stress-ng.sysinfo.ops_per_sec -27.2% regression
Date: Mon, 4 Dec 2023 21:37:45 +0800 [thread overview]
Message-ID: <ZW3WKV9ut7aFteKS@xsang-OptiPlex-9020> (raw)
In-Reply-To: <20231201200446.GA1431056@ZenIV>
hi, Al Viro,
On Fri, Dec 01, 2023 at 08:04:46PM +0000, Al Viro wrote:
> On Fri, Dec 01, 2023 at 06:56:03AM +0000, Al Viro wrote:
> > On Fri, Dec 01, 2023 at 04:09:51AM +0000, Al Viro wrote:
> > > On Fri, Dec 01, 2023 at 10:13:09AM +0800, Oliver Sang wrote:
> > >
> > > > > Very interesting... Out of curiosity, what effect would the following
> > > > > have on top of 1b738f196e?
> > > >
> > > > I applied the patch upon 1b738f196e (as below fec356fd0c), but seems less
> > > > useful.
> > >
> > > I would be rather surprised if it fixed anything; it's just that 1b738f196e
> > > changes two things - locking rules for __dentry_kill() and, in some cases,
> > > the order of dentry eviction in shrink_dentry_list(). That delta on top of
> > > it restores the original order in shrink_dentry_list(), leaving pretty much
> > > the changes in lock_for_kill()/dput()/__dentry_kill().
> > >
> > > Interesting... Looks like there are serious changes in context switch
> > > frequencies, but I don't see where could that have come from...
> >
> > In principle it could be an effect of enforcing the ordering between __dentry_kill()
> > of child and parent, but if that's what is going on... we would've seen
> > more iterations of loop in shrink_dcache_parent() and/or d_walk() calls in
> > it having more work to do. But... had that been what's going on, wouldn't we
> > see some of those functions in the changed part of profile?
> >
> > I'll try to split that thing into a series of steps, so we could at least narrow
> > the effect down, but that'll have to wait until tomorrow ;-/
>
> OK, a carved-up series (on top of 1b738f196e^) is in #carved-up-__dentry_kill
> That's 9 commits, leading to something close to 1b738f196e+patch you've tested
> yesterday; could you profile them on your reproducers? That might give some
> useful information about the nature of the regression...
>
we rerun the test and confirmed the regression still exists if comparing
20f7d1936e8a2 (viro-vfs/carved-up-__dentry_kill) step 9: fold decrment of parent's refcount into __dentry_kill()
with
b4cc0734d2574 d_prune_aliases(): use a shrink list
the data is similar to our previous report.
now we feed the results into our auto-bisect tool and hope to get results later
but due to the limitation such like auto-bisect cannot capture multi commits if
they all contribute to the regression, after we get the results from auto
bisect, we will check if any further munual efforts needed. Thanks
next prev parent reply other threads:[~2023-12-04 13:37 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-30 4:54 [viro-vfs:work.dcache2] [__dentry_kill()] 1b738f196e: stress-ng.sysinfo.ops_per_sec -27.2% regression kernel test robot
2023-11-30 7:55 ` Al Viro
2023-12-01 2:13 ` Oliver Sang
2023-12-01 2:42 ` Oliver Sang
2023-12-01 4:09 ` Al Viro
2023-12-01 6:56 ` Al Viro
2023-12-01 20:04 ` Al Viro
2023-12-04 13:37 ` Oliver Sang [this message]
2023-12-04 19:53 ` Al Viro
2023-12-06 2:40 ` Oliver Sang
2023-12-06 5:49 ` Al Viro
2023-12-06 14:56 ` Oliver Sang
2023-12-06 16:15 ` Al Viro
2023-12-06 16:30 ` Mateusz Guzik
2023-12-06 16:42 ` Mateusz Guzik
2023-12-06 17:09 ` Al Viro
2023-12-06 17:24 ` Mateusz Guzik
2023-12-06 18:30 ` Mateusz Guzik
2023-12-07 2:29 ` Oliver Sang
2023-12-08 18:07 ` Mateusz Guzik
2023-12-06 21:07 ` Al Viro
2023-12-06 21:41 ` Mateusz Guzik
2023-12-06 16:45 ` Al Viro
2023-12-06 16:52 ` Mateusz Guzik
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=ZW3WKV9ut7aFteKS@xsang-OptiPlex-9020 \
--to=oliver.sang@intel.com \
--cc=brauner@kernel.org \
--cc=feng.tang@intel.com \
--cc=fengwei.yin@intel.com \
--cc=linux-doc@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=lkp@intel.com \
--cc=oe-lkp@lists.linux.dev \
--cc=torvalds@linux-foundation.org \
--cc=viro@zeniv.linux.org.uk \
--cc=ying.huang@intel.com \
/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