public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Daniel Phillips <phillips@google.com>
To: Mark Fasheh <mark.fasheh@oracle.com>
Cc: Andrew Morton <akpm@osdl.org>,
	linux-kernel@vger.kernel.org, ocfs2-devel@oss.oracle.com
Subject: Re: [Ocfs2-devel] Ocfs2 performance bugs of doom
Date: Sun, 05 Mar 2006 20:59:50 -0800	[thread overview]
Message-ID: <440BC1C6.1000606@google.com> (raw)
In-Reply-To: <20060306025800.GA27280@ca-server1.us.oracle.com>

Mark Fasheh wrote:
> On Sun, Mar 05, 2006 at 05:28:21PM -0800, Daniel Phillips wrote:
>>I think this table is per-ocfs2-mount, and really really, a meg is
>>nothing if it makes CPU cycles  go away.  That's .05% of the memory
>>on this box, which is a small box where clusters are concerned.  But
>>there is also some gratuitous cpu suck still happening in there that
>>needs investigating.  I would not be surprised at all to learn that
>>full_name_hash is a terrible hash function.
> 
> Can you try the attached patch?

With patch:

     Real  User  Sys
    31.93 23.72 3.69
    29.39 24.18 4.01
    53.36 24.25 4.80
    30.24 24.40 4.76
    63.60 24.09 5.03
    29.95 24.18 4.91

Without patch:

     Real  User  Sys
    30.15 23.90 3.58
    54.99 24.38 4.56
    31.49 24.63 5.28
    60.09 24.71 5.47
    31.44 24.34 5.72
    65.36 24.31 5.84

So that hack apparently improves the bucket distribution quite a bit, but
look, the bad old linear systime creep is still very obvious.  For that
there is no substitute for lots of buckets.

The hash function can be improved way more.  Your resource encoding is
also painfully wasteful.

As for optimizing the loop... most of the loop overhead comes from
loading cold cache lines no doubt.  The struct qstr is an impediment
there because it adds another cache line to every loop.  Speaking of
that, the qstr is so far away from the list.next pointer that you're
most probably getting an extra cache line load there too.  Just move
the qstr up next to the hash list.

Notice, those wildly gyrating real times are still manifesting.  Seen
them over there?

Regards,

Daniel

  reply	other threads:[~2006-03-06  5:00 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-03-03 22:27 Ocfs2 performance bugs of doom Daniel Phillips
2006-03-04  0:53 ` Mark Fasheh
2006-03-04  3:42   ` Daniel Phillips
2006-03-04  7:36 ` Andrew Morton
2006-03-05 19:22   ` Mark Fasheh
2006-03-06  1:28   ` Daniel Phillips
2006-03-06  2:58     ` [Ocfs2-devel] " Mark Fasheh
2006-03-06  4:59       ` Daniel Phillips [this message]
2006-03-06 19:51         ` Mark Fasheh
2006-03-07  3:34           ` Andi Kleen
2006-03-07  4:58             ` Mark Fasheh
2006-03-07  6:56               ` [Ocfs2-devel] " Daniel Phillips
2006-03-09  6:26               ` Daniel Phillips
2006-03-09  7:26                 ` Nick Piggin
2006-03-09  7:43                 ` Nick Piggin
2006-03-09  4:19                   ` Andi Kleen
2006-03-09 12:30                     ` Nick Piggin
2006-03-10  5:14                       ` Nick Piggin
2006-03-10  0:21                 ` [Ocfs2-devel] Ocfs2 performance Mark Fasheh
2006-03-10  1:14                   ` Bernd Eckenfels
2006-03-10  7:10                     ` Joel Becker
2006-03-11  1:09                     ` Mark Fasheh
2006-03-11  1:57                       ` Bernd Eckenfels
2006-03-10 11:17                   ` Daniel Phillips
2006-03-10 18:23                     ` Zach Brown
2006-03-10 21:13                       ` Daniel Phillips
2006-03-10 21:13                     ` Daniel Phillips
2006-03-10  2:33                 ` [Ocfs2-devel] Ocfs2 performance bugs of doom J. Bruce Fields
2006-03-10 10:27                   ` Daniel Phillips

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=440BC1C6.1000606@google.com \
    --to=phillips@google.com \
    --cc=akpm@osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.fasheh@oracle.com \
    --cc=ocfs2-devel@oss.oracle.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