lkml.org 
[lkml]   [2002]   [Mar]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [Lse-tech] [PATCH] 2.5.5-dj2 - Fast Walk Dcache to Decrease Cacheline Bouncing

--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


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:24    [W:0.043 / U:0.872 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site