public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
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

  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