public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Matt Mackall <mpm@selenic.com>
To: David Rientjes <rientjes@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Christoph Lameter <cl@linux-foundation.org>,
	Pekka Enberg <penberg@cs.helsinki.fi>,
	Paul Menage <menage@google.com>,
	Randy Dunlap <randy.dunlap@oracle.com>,
	linux-kernel@vger.kernel.org
Subject: Re: [patch -mm] cpusets: add memory_slab_hardwall flag
Date: Sun, 08 Mar 2009 12:01:04 -0500	[thread overview]
Message-ID: <1236531664.4192.389.camel@calx> (raw)
In-Reply-To: <alpine.DEB.2.00.0903080917460.25207@chino.kir.corp.google.com>

On Sun, 2009-03-08 at 09:27 -0700, David Rientjes wrote:
> Adds a per-cpuset `memory_slab_hardwall' flag.
> 
> The slab allocator interface for determining whether an object is allowed
> is
> 
> 	int current_cpuset_object_allowed(int node, gfp_t flags)
> 
> This returns non-zero when the object is allowed, either because
> current's cpuset does not have memory_slab_hardwall enabled or because
> it allows allocation on the node.  Otherwise, it returns zero.
> 
> This interface is lockless because a task's cpuset can always be safely
> dereferenced atomically.
> 
> For slab, if the physical node id of the cpu cache is not from an
> allowable node, the allocation will fail.  If an allocation is targeted
> for a node that is not allowed, we allocate from an appropriate one
> instead of failing.
> 
> For slob, if the page from the slob list is not from an allowable node,
> we continue to scan for an appropriate slab.  If none can be used, a new
> slab is allocated.

Looks fine to me, if a little expensive. We'll be needing SLQB support
though.

-- 
http://selenic.com : development and support for Mercurial and Linux



  parent reply	other threads:[~2009-03-08 17:02 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-08 16:27 [patch -mm] cpusets: add memory_slab_hardwall flag David Rientjes
2009-03-08 16:53 ` Paul Menage
2009-03-08 21:38   ` David Rientjes
2009-03-09  7:08     ` Paul Menage
2009-03-09  9:18       ` David Rientjes
2009-03-08 17:01 ` Matt Mackall [this message]
2009-03-08 21:51   ` David Rientjes
2009-03-09  4:49 ` KOSAKI Motohiro
2009-03-09  9:12   ` David Rientjes
2009-03-09 10:19     ` KOSAKI Motohiro
2009-03-09 20:26       ` David Rientjes
2009-03-09 21:14         ` Christoph Lameter
2009-03-09 21:31           ` David Rientjes
2009-03-10 20:50             ` Christoph Lameter
2009-03-10 21:08               ` Matt Mackall
2009-03-12 16:08                 ` Christoph Lameter
2009-03-12 17:23                   ` Matt Mackall
2009-03-10 22:12               ` Paul Menage
2009-03-12 15:51                 ` Christoph Lameter
2009-03-09 18:50 ` Christoph Lameter
2009-03-09 20:13   ` David Rientjes
2009-03-10  1:35     ` KOSAKI Motohiro
2009-03-10  2:01       ` David Rientjes
2009-03-10  4:05         ` Matt Mackall
2009-03-10  4:26           ` David Rientjes
2009-03-12  1:03   ` Paul E. McKenney
2009-03-12  5:51     ` David Rientjes

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=1236531664.4192.389.camel@calx \
    --to=mpm@selenic.com \
    --cc=akpm@linux-foundation.org \
    --cc=cl@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=menage@google.com \
    --cc=penberg@cs.helsinki.fi \
    --cc=randy.dunlap@oracle.com \
    --cc=rientjes@google.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