From: Ted Ts'o <tytso@mit.edu>
To: Andi Kleen <ak@linux.intel.com>
Cc: Vivek Haldar <haldar@google.com>,
Andreas Dilger <adilger@dilger.ca>,
linux-ext4@vger.kernel.org, tim.c.chen@linux.intel.com
Subject: Re: [RFC, PATCH] Avoid hot statistics cache line in ext4 extent cache
Date: Mon, 26 Mar 2012 16:57:07 -0700 [thread overview]
Message-ID: <20120326235707.GC19489@thunk.org> (raw)
In-Reply-To: <4F70F51F.8030405@linux.intel.com>
On Mon, Mar 26, 2012 at 04:00:47PM -0700, Andi Kleen wrote:
> On 3/26/2012 3:26 PM, Vivek Haldar wrote:
> >Andi --
> >
> >I realized the problem soon after the original patch, and submitted
> >another patch to make these per cpu counters.
>
> Is there a clear use case having these counters on every production system?
Today, with the current single entry extent cache, I don't think
there's a good justification for it, no.
Vivek has worked on a rather more sophisticated extent cache which
could cache several extent entries (and indeed, combine multiple
on-disk extent entries into a single in-memory extent). There are a
variety of reasons that hasn't gone upstream yet; one of which is
there are some interesting questions about how to control memory usage
of the extent cache; how do we trim it back in the case of memory
pressure?
One of the other things that we need to consider as we think about
getting this upstream is the "status" or "delayed" extents patches
which Allison and Yongqiang were looking at. Does it make sense to
have two parallel datastructures which are indexed by logical block
number? On the one hand, using an in-memory tree structure is pretty
expensive, just because of all of the 64-bit logical block numbers and
64-bit pointers. On the other hand, would that make things too
complicated?
Once we start having multiple knobs to adjust, having these counters
available does make sense. For now, using a per-cpu counter is
relatively low cost, except on extreme SGI Altix-like machines with
hundreds of CPU's, where the memory utilization is something to think
about. Given that Vivek has submitted a patch to convert to per-cpu,
I can see applying it just to fix it; or just removing the stats for
now until we get the more sophisticated extent cache merged in.
- Ted
next prev parent reply other threads:[~2012-03-26 23:57 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-23 22:17 [RFC, PATCH] Avoid hot statistics cache line in ext4 extent cache Andi Kleen
2012-03-24 1:10 ` Andreas Dilger
2012-03-24 3:13 ` Andi Kleen
2012-03-26 22:26 ` Vivek Haldar
2012-03-26 23:00 ` Andi Kleen
2012-03-26 23:57 ` Ted Ts'o [this message]
2012-04-11 16:59 ` Andi Kleen
2012-04-13 17:42 ` Linus Torvalds
2012-04-13 17:53 ` Tim Chen
2012-04-13 18:08 ` Linus Torvalds
2012-04-13 18:31 ` Tim Chen
2012-04-13 18:33 ` Linus Torvalds
2012-04-13 18:37 ` Ted Ts'o
2012-04-13 18:41 ` Andi Kleen
2012-04-13 18:48 ` Ted Ts'o
2012-04-13 19:01 ` Eric Whitney
2012-04-13 19:26 ` Tim Chen
2012-04-13 19:33 ` Ted Ts'o
2012-04-13 17:57 ` Andi Kleen
2012-04-13 18:06 ` Ted Ts'o
2012-04-13 18:22 ` Andi Kleen
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=20120326235707.GC19489@thunk.org \
--to=tytso@mit.edu \
--cc=adilger@dilger.ca \
--cc=ak@linux.intel.com \
--cc=haldar@google.com \
--cc=linux-ext4@vger.kernel.org \
--cc=tim.c.chen@linux.intel.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;
as well as URLs for NNTP newsgroup(s).