public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@osdl.org>
To: Christoph Lameter <clameter@sgi.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Avoid allocating during interleave from almost full nodes
Date: Mon, 6 Nov 2006 12:24:46 -0800	[thread overview]
Message-ID: <20061106122446.8269f7bc.akpm@osdl.org> (raw)
In-Reply-To: <Pine.LNX.4.64.0611061207310.26685@schroedinger.engr.sgi.com>

On Mon, 6 Nov 2006 12:12:50 -0800 (PST)
Christoph Lameter <clameter@sgi.com> wrote:

> On Mon, 6 Nov 2006, Andrew Morton wrote:
> 
> > > It should do interleaving because the data is to be accessed from multiple 
> > > nodes.
> > 
> > I think you missed the point.
> > 
> > At present the code does interleaving by taking one page from each zone and
> > then advancing onto the next zone, yes?
> 
> s/zone/node/ then yes (zone == node if we just have a single zone).
> 
> > If so, this is pretty awful frmo a cache utilsiation POV.  it'd be much
> > better to take 16 pages from one zone before advancing onto the next one.
> 
> The L1/L2 cpu cache or the pageset hot / cold caches?

I'm referring to the metadata rather than to the pages themselves: the zone
structure at least.  I bet there are a couple of cache misses in there.

> Take N pages 
> from a node instead of 1? That would mean we need to have more complex 
> interleaving logic that keeps track of how many pages we took.

It's hardly rocket science.  Stick a nid and a counter in the task_struct
for a simple implmentation.

> The number 
> of pages to take will vary depending on the size of the shared data. For 
> shared data areas that are just a couple of pages this wont work.

What is "shared data"?

> > > Clustering on a single node may create hotspots or imbalances. 
> > 
> > Umm, but that's exactly what the patch we're discussing will do.
> 
> Not if we have a set of remaining nodes.

Yes it is.  You're proposing taking an arbitrarily large number of
successive pages from the same node rather than interleaving the allocations.
That will create "hotspots or imbalances" (whatever they are).

  reply	other threads:[~2006-11-06 20:24 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-11-03 20:58 Avoid allocating during interleave from almost full nodes Christoph Lameter
2006-11-03 21:46 ` Andrew Morton
2006-11-03 22:10   ` Christoph Lameter
2006-11-03 22:31     ` Andrew Morton
2006-11-04  0:28       ` Christoph Lameter
2006-11-04  0:58         ` Andrew Morton
2006-11-06 16:53           ` Christoph Lameter
2006-11-06 19:59             ` Andrew Morton
2006-11-06 20:12               ` Christoph Lameter
2006-11-06 20:24                 ` Andrew Morton [this message]
2006-11-06 20:31                   ` Christoph Lameter
2006-11-06 20:42                     ` Andrew Morton
2006-11-06 20:58                       ` Christoph Lameter
2006-11-06 21:20                         ` Andrew Morton
2006-11-06 21:42                           ` Christoph Lameter
2006-11-04  1:26       ` Paul Jackson
2006-11-04  1:42         ` Andrew Morton
2006-11-04 10:51           ` Paul Jackson
2006-11-06 16:56             ` Christoph Lameter
2006-11-08 10:21               ` Paul Jackson
2006-11-08 15:18                 ` Peter Zijlstra
2006-11-08 17:06                   ` Paul Jackson
2006-11-08 17:09                     ` Peter Zijlstra
2006-11-08 17:21                       ` Paul Jackson
2006-11-08 17:40                         ` Christoph Lameter
2006-12-01  7:51               ` Paul Jackson
2006-12-01  7:59                 ` Andrew Morton
2006-12-01 16:27                 ` Christoph Lameter
2006-11-04 10:35   ` CTL_UNNUMBERED and killing sys_sysctl Eric W. Biederman

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=20061106122446.8269f7bc.akpm@osdl.org \
    --to=akpm@osdl.org \
    --cc=clameter@sgi.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