From: Dipankar Sarma <dipankar@in.ibm.com>
To: Eric Dumazet <dada1@cosmosbay.com>
Cc: Andrew Morton <akpm@osdl.org>, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] : struct dentry : place d_hash close to d_parent and d_name to speedup lookups
Date: Thu, 1 Sep 2005 23:06:34 +0530 [thread overview]
Message-ID: <20050901173634.GA4767@in.ibm.com> (raw)
In-Reply-To: <431722CC.8040204@cosmosbay.com>
On Thu, Sep 01, 2005 at 05:48:28PM +0200, Eric Dumazet wrote:
> dentry cache uses sophisticated RCU technology (and prefetching if
> available) but touches 2 cache lines per dentry during hlist lookup.
>
> This patch moves d_hash in the same cache line than d_parent and d_name
> fields so that :
>
> 1) One cache line is needed instead of two.
> 2) the hlist_for_each_rcu() prefetching has a chance to bring all the
> needed data in advance, not only the part that includes d_hash.next.
>
> I also changed one old comment that was wrong for 64bits.
>
> A further optimisation would be to separate dentry in two parts, one that
> is mostly read, and one writen (d_count/d_lock) to avoid false sharing on
> SMP/NUMA but this would need different field placement depending on 32bits
> or 64bits platform.
Do you have performance numbers that show the benefits ? In the
past, I did try some optimizations like this but found no demonstrable
benefits. If it ain't broken .....
Thanks
Dipankar
next prev parent reply other threads:[~2005-09-01 17:41 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-09-01 10:55 2.6.13-mm1 Andrew Morton
2005-09-01 14:22 ` 2.6.13-mm1 Martin J. Bligh
2005-09-01 14:50 ` 2.6.13-mm1 Alan Cox
2005-09-01 20:56 ` 2.6.13-mm1 Joel Schopp
2005-09-01 21:16 ` 2.6.13-mm1 Alan Cox
2005-09-01 21:26 ` 2.6.13-mm1 Joel Schopp
2005-09-01 21:44 ` 2.6.13-mm1 Alan Cox
2005-09-12 16:34 ` tty patches in 2.6.13-mm3 (was Re: 2.6.13-mm1) serue
2005-09-12 16:55 ` Joel Schopp
2005-09-12 17:04 ` 2.6.13-mm1 serue
2005-09-01 14:59 ` 2.6.13-mm1 Adrian Bunk
2005-09-01 15:01 ` [PATCH] mips: remove typedef from struct flock Yoichi Yuasa
2005-09-01 15:38 ` 2.6.13-mm1 Dominik Karall
2005-09-01 16:09 ` 2.6.13-mm1 John Stoffel
2005-09-01 16:28 ` 2.6.13-mm1 Dominik Karall
2005-09-01 17:34 ` 2.6.13-mm1 John Stoffel
2005-09-01 18:05 ` 2.6.13-mm1 Dominik Karall
2005-09-01 18:27 ` 2.6.13-mm1 John Stoffel
2005-09-01 15:44 ` [PATCH] : struct dentry : place d_hash close to d_parent and d_name to speedup lookups Eric Dumazet
2005-09-01 15:48 ` Eric Dumazet
2005-09-01 17:36 ` Dipankar Sarma [this message]
2005-09-01 19:52 ` Eric Dumazet
2005-09-01 17:41 ` 2.6.13-mm1 - drivers/isdn/i4l/isdn_tty broken Damir Perisa
2005-09-01 21:06 ` Alan Cox
2005-09-02 1:05 ` 2.6.13-mm1 - drivers/serial/jsm/jsm_tty broken too Damir Perisa
2005-09-01 21:14 ` 2.6.13-mm1: PCMCIA problem Rafael J. Wysocki
2005-09-01 21:28 ` Andrew Morton
2005-09-02 8:30 ` Rafael J. Wysocki
2005-09-02 8:37 ` Rafael J. Wysocki
2005-09-02 10:43 ` Pavel Machek
2005-09-02 10:58 ` Rafael J. Wysocki
2005-09-02 11:09 ` Andrew Morton
2005-09-02 11:45 ` 2.6.13-mm1: swsusp problem (was: PCMCIA problem) Rafael J. Wysocki
2005-09-02 14:17 ` Rafael J. Wysocki
2005-09-04 14:29 ` 2.6.13-mm1: PCMCIA problem Pavel Machek
2005-09-01 22:19 ` 2.6.13-mm1: broken drivers/video/sis/Makefile Adrian Bunk
2005-09-01 23:24 ` Thomas Winischhofer
2005-09-01 23:25 ` 2.6.13-mm1: misc mwave issues Adrian Bunk
2005-09-02 12:36 ` Alan Cox
2005-09-02 13:57 ` 2.6.13-mm1 Benjamin LaHaise
2005-09-02 20:57 ` 2.6.13-mm1 Andrew Morton
2005-09-06 11:50 ` 2.6.13-mm1 Benjamin LaHaise
2005-09-02 14:30 ` 2.6.13-mm1 Alexander Nyberg
2005-09-02 14:40 ` 2.6.13-mm1 Zwane Mwaikambo
2005-09-03 12:21 ` 2.6.13-mm1 Adrian Bunk
2005-09-03 19:34 ` 2.6.13-mm1 Andrew Morton
2005-09-03 19:54 ` 2.6.13-mm1 Adrian Bunk
2005-09-03 20:06 ` 2.6.13-mm1 Andrew Morton
2005-09-04 20:00 ` 2.6.13-mm1 Adrian Bunk
2005-09-04 21:24 ` 2.6.13-mm1 Jesper Juhl
2005-09-04 21:30 ` 2.6.13-mm1 Andrew Morton
2005-09-04 21:36 ` 2.6.13-mm1 Jesper Juhl
2005-09-07 0:05 ` 2.6.13-mm1 Paul Jackson
2005-09-07 0:32 ` 2.6.13-mm1 Andrew Morton
2005-09-07 0:44 ` 2.6.13-mm1 Jesper Juhl
2005-09-07 2:38 ` 2.6.13-mm1 Paul Jackson
2005-09-04 10:26 ` 2.6.13-mm1 Alexander Nyberg
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=20050901173634.GA4767@in.ibm.com \
--to=dipankar@in.ibm.com \
--cc=akpm@osdl.org \
--cc=dada1@cosmosbay.com \
--cc=linux-kernel@vger.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