From: Hanna Linder <hannal@us.ibm.com>
To: Juan Quintela <quintela@mandrakesoft.com>,
davej@suse.de, torvalds@transmeta.com, viro@math.psu.edu,
linux-kernel@vger.kernel.org
Cc: Hanna Linder <hannal@us.ibm.com>, lse-tech@lists.sourceforge.net
Subject: Re: [Lse-tech] [PATCH] 2.5.5-dj2 - Fast Walk Dcache to Decrease Cacheline Bouncing
Date: Tue, 05 Mar 2002 11:16:25 -0800 [thread overview]
Message-ID: <15690000.1015355785@w-hlinder.des> (raw)
In-Reply-To: <m2sn7f8zev.fsf@localhost.mandrakesoft.com>
In-Reply-To: <33110000.1015293677@w-hlinder.des> <m2sn7f8zev.fsf@localhost.mandrakesoft.com>
--On Tuesday, March 05, 2002 04:30:00 +0100 Juan Quintela <quintela@mandrakesoft.com> wrote:
>
> hanna> struct dentry * d_lookup(struct dentry * parent, struct qstr * name)
> hanna> {
> hanna> + struct dentry *dentry = NULL;
>
> Not needed.
Good catch. Changed.
>
> Would you mean retest if the speed is the same using lik the old code
Any tests people would like to see that might increase the chance
of it getting accepted.
>
> I think that it should not made difference, and code is IMHO, more
> readadble (and you don't duplicate walk_init_root).
>
There is a difference. The reviewer of the first submission also
missed it. path_lookup duplicates walk_init_root because mntget
and dget are not called when the dcache_lock is held. So it is not
an exact copy of walk_init_root.
The point of this is to find all the dentries in the path being
walked already in the dcache (aka the easy lookups) without bumping
the reference counter for every single dentry. On SMP this can lead
to cacheline bouncing. When a dentry is not found in the cache then
call mntget and dget followed by releasing the dcache_lock to continue.
Al Viro came up with this idea, I have implemented it.
The lockmeter results and patch are here: http://lse.sf.net/locking
Hanna Linder (hannal@us.ibm.com)
IBM Linux Technology Center
prev parent reply other threads:[~2002-03-05 19:15 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-03-05 2:01 Hanna Linder
2002-03-05 3:30 ` [Lse-tech] " Juan Quintela
2002-03-05 19:16 ` Hanna Linder [this message]
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=15690000.1015355785@w-hlinder.des \
--to=hannal@us.ibm.com \
--cc=davej@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=lse-tech@lists.sourceforge.net \
--cc=quintela@mandrakesoft.com \
--cc=torvalds@transmeta.com \
--cc=viro@math.psu.edu \
/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
all inboxes | Powered by JetHome®