All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
To: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Greg KH <gregkh@suse.de>,
	linux-kernel@vger.kernel.org, stable@kernel.org,
	stable-review@kernel.org, torvalds@linux-foundation.org,
	akpm@linux-foundation.org, alan@lxorguk.ukuu.org.uk,
	Mel Gorman <mel@csn.ul.ie>, Christoph Lameter <cl@linux.com>
Subject: Re: [06/44] numa: fix slab_node(MPOL_BIND)
Date: Wed, 08 Dec 2010 08:53:09 -0500	[thread overview]
Message-ID: <1291816389.3941.17.camel@zaphod> (raw)
In-Reply-To: <1291782782.5324.54.camel@edumazet-laptop>

On Wed, 2010-12-08 at 05:33 +0100, Eric Dumazet wrote:
> Le mardi 07 décembre 2010 à 22:03 -0500, Lee Schermerhorn a écrit :
> > On Tue, 2010-12-07 at 16:04 -0800, Greg KH wrote:
> > > 2.6.27-stable review patch.  If anyone has any objections, please let us know.
> > > 
> > > ------------------
> > > 
> > > From: Eric Dumazet <eric.dumazet@gmail.com>
> > > 
> > > commit 800416f799e0723635ac2d720ad4449917a1481c upstream.
> > > 
> 
> > > 
> > > --- a/mm/mempolicy.c
> > > +++ b/mm/mempolicy.c
> > > @@ -1404,7 +1404,7 @@ unsigned slab_node(struct mempolicy *pol
> > >  		(void)first_zones_zonelist(zonelist, highest_zoneidx,
> > >  							&policy->v.nodes,
> > >  							&zone);
> > > -		return zone->node;
> > > +		return zone ? zone->node : numa_node_id();
> > 
> > I think this should be numa_mem_id().  Given the documented purpose of
> > slab_node(), we want a node from which page allocation is likely to
> > succeed.  numa_node_id() can return a memoryless node for, e.g.,  some
> > configurations of some HP ia64 platforms.  numa_mem_id() was introduced
> > to return that same node from which "local" mempolicy would allocate
> > pages.
> 
> Hmm... numa_mem_id() was introduced in 2.6.35 as an optimization.
> 
> When I did this patch (to fix a bug), mm/mempolicy.c only contained
> calls to numa_node_id() (and still is today)

Sometimes you want numa_node_id()--e.g., for use with a mempolicy-based
allocation that allows fallback.  When the node id will be used for a
'_THIS_NODE allocation, numa_mem_id() is preferred as it will always
return a node that contains or contained--maybe now oom--memory.  It's
the same as numa_node_id() on platforms that don't expose memoryless
nodes.  

> 
> By the way, anybody knows how I can emulate a memoryless node on a dual
> node x86_64 machine (with memory present on both nodes) ?
> 

You can use the mem= boot parameter and specify the amount of memory on
the 1st/boot node.  Or you can use the memmap parameter to reserve the
memory on the 2nd/non-boot node.  With the memmap parameter, you can
reserve the memory of nodes other than the highest numbered
one[s]--e.g., on a >2 node platform.  However, you'll probably a patch
to see the cpus on any node that you hide using memmap.  I have such a
patch if you're interested in going that route.

You can also reduce the amount of memory on any/each node by reserving
ranges of physical memory with memmap.  Use the 'SRAT.*PXM' boot
messages to find the nodes' physical memory ranges and reserve how ever
much you want off the top of the nodes.

Lee




  parent reply	other threads:[~2010-12-08 13:52 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-08  0:32 [00/44] 2.6.27.57-stable review Greg KH
2010-12-08  0:04 ` [01/44] block: check for proper length of iov entries in blk_rq_map_user_iov() Greg KH
2010-12-08  0:04 ` [02/44] irda: Fix parameter extraction stack overflow Greg KH
2010-12-08  0:04 ` [03/44] irda: Fix heap memory corruption in iriap.c Greg KH
2010-12-08  0:04 ` [04/44] percpu: fix list_head init bug in __percpu_counter_init() Greg KH
2010-12-08  0:04 ` [05/44] um: fix global timer issue when using CONFIG_NO_HZ Greg KH
2010-12-08  0:04 ` [06/44] numa: fix slab_node(MPOL_BIND) Greg KH
2010-12-08  3:03   ` Lee Schermerhorn
2010-12-08  3:03   ` Lee Schermerhorn
2010-12-08  4:17     ` Greg KH
2010-12-08  4:37       ` Eric Dumazet
2010-12-08 13:54       ` Lee Schermerhorn
2010-12-08  4:33     ` Eric Dumazet
2010-12-08  5:07       ` Eric Dumazet
2010-12-08 13:53       ` Lee Schermerhorn [this message]
2010-12-08  0:04 ` [07/44] mm: fix return value of scan_lru_pages in memory unplug Greg KH
2010-12-08  0:04 ` [08/44] mm: fix is_mem_section_removable() page_order BUG_ON check Greg KH
2010-12-08  0:04 ` [09/44] ipc: initialize structure memory to zero for compat functions Greg KH
2010-12-08  0:04 ` [10/44] ipc: shm: fix information leak to userland Greg KH
2010-12-08  0:04 ` [11/44] sys_semctl: fix kernel stack leakage Greg KH
2010-12-08  0:04 ` [12/44] drivers/char/vt_ioctl.c: fix VT_OPENQRY error value Greg KH
2010-12-08  0:04 ` [13/44] eCryptfs: Clear LOOKUP_OPEN flag when creating lower file Greg KH
2010-12-08  0:04 ` [14/44] bio: take care not overflow page count when mapping/copying user data Greg KH
2010-12-08  0:04 ` [15/44] libata: fix NULL sdev dereference race in atapi_qc_complete() Greg KH
2010-12-08  0:04 ` [16/44] usb: misc: sisusbvga: fix information leak to userland Greg KH
2010-12-08  0:04 ` [17/44] usb: misc: iowarrior: " Greg KH
2010-12-08  0:04 ` [18/44] usb: core: " Greg KH
2010-12-08  0:04 ` [19/44] USB: EHCI: fix obscure race in ehci_endpoint_disable Greg KH
2010-12-08  0:04 ` [20/44] USB: storage: sierra_ms: fix sysfs file attribute Greg KH
2010-12-08  0:04 ` [21/44] USB: atm: ueagle-atm: fix up some permissions on the sysfs files Greg KH
2010-12-08  0:04 ` [22/44] USB: misc: cypress_cy7c63: fix up some sysfs attribute permissions Greg KH
2010-12-08  0:04 ` [23/44] USB: misc: usbled: " Greg KH
2010-12-08  0:04 ` [24/44] USB: misc: trancevibrator: fix up a sysfs attribute permission Greg KH
2010-12-08  0:04 ` [25/44] acpi-cpufreq: fix a memleak when unloading driver Greg KH
2010-12-08  0:04 ` [26/44] do_exit(): make sure that we run with get_fs() == USER_DS Greg KH
2010-12-08  0:04 ` [27/44] DECnet: dont leak uninitialized stack byte Greg KH
2010-12-08  0:04 ` [28/44] ARM: 6482/2: Fix find_next_zero_bit and related assembly Greg KH
2010-12-08  0:04 ` [29/44] net: clear heap allocations for privileged ethtool actions Greg KH
2010-12-08  0:04 ` [30/44] xfrm4: strip ECN and IP Precedence bits in policy lookup Greg KH
2010-12-08  0:04 ` [31/44] net: Fix IPv6 PMTU disc. w/ asymmetric routes Greg KH
2010-12-08  0:04 ` [32/44] rose: Fix signedness issues wrt. digi count Greg KH
2010-12-08  0:04 ` [33/44] net: Fix the condition passed to sk_wait_event() Greg KH
2010-12-08  0:04 ` [34/44] Limit sysctl_tcp_mem and sysctl_udp_mem initializers to prevent integer overflows Greg KH
2010-12-08  0:04   ` Greg KH
2010-12-08  1:22   ` [34/44] Limit sysctl_tcp_mem and sysctl_udp_mem initializers to Linus Torvalds
2010-12-08  1:22     ` [34/44] Limit sysctl_tcp_mem and sysctl_udp_mem initializers to prevent integer overflows Linus Torvalds
2010-12-08  4:16     ` [34/44] Limit sysctl_tcp_mem and sysctl_udp_mem initializers Greg KH
2010-12-08  4:16       ` [34/44] Limit sysctl_tcp_mem and sysctl_udp_mem initializers to prevent integer overflows Greg KH
2010-12-08  5:50       ` [34/44] Limit sysctl_tcp_mem and sysctl_udp_mem initializers Eric Dumazet
2010-12-08  5:50         ` [34/44] Limit sysctl_tcp_mem and sysctl_udp_mem initializers to prevent integer overflows Eric Dumazet
2010-12-08 16:25         ` [34/44] Limit sysctl_tcp_mem and sysctl_udp_mem initializers David Miller
2010-12-08 16:25           ` [34/44] Limit sysctl_tcp_mem and sysctl_udp_mem initializers to prevent integer overflows David Miller
2010-12-08 23:13           ` [34/44] Limit sysctl_tcp_mem and sysctl_udp_mem initializers Greg KH
2010-12-08 23:13             ` [34/44] Limit sysctl_tcp_mem and sysctl_udp_mem initializers to prevent integer overflows Greg KH
2010-12-08 23:13             ` Greg KH
2010-12-08  0:04 ` [35/44] tcp: Fix race in tcp_poll Greg KH
2010-12-08  0:04 ` [36/44] net: Truncate recvfrom and sendto length to INT_MAX Greg KH
2010-12-08  0:04 ` [37/44] ipv6: conntrack: Add member of user to nf_ct_frag6_queue structure Greg KH
2010-12-08  0:04 ` [38/44] x25: Patch to fix bug 15678 - x25 accesses fields beyond end of packet Greg KH
2010-12-08  0:04 ` [39/44] memory corruption in X.25 facilities parsing Greg KH
2010-12-08  0:04 ` [40/44] can-bcm: fix minor heap overflow Greg KH
2010-12-08  0:04 ` [41/44] V4L/DVB: ivtvfb: prevent reading uninitialized stack memory Greg KH
2010-12-08  0:04 ` [42/44] x25: Prevent crashing when parsing bad X.25 facilities Greg KH
2010-12-08  0:04 ` [43/44] econet: disallow NULL remote addr for sendmsg(), fixes CVE-2010-3849 Greg KH
2010-12-08  0:04 ` [44/44] econet: fix CVE-2010-3850 Greg KH

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=1291816389.3941.17.camel@zaphod \
    --to=lee.schermerhorn@hp.com \
    --cc=akpm@linux-foundation.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=cl@linux.com \
    --cc=eric.dumazet@gmail.com \
    --cc=gregkh@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mel@csn.ul.ie \
    --cc=stable-review@kernel.org \
    --cc=stable@kernel.org \
    --cc=torvalds@linux-foundation.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.