linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Christoph Lameter <cl@linux.com>
To: James Bottomley <James.Bottomley@HansenPartnership.com>
Cc: Pekka Enberg <penberg@kernel.org>,
	Matthew Wilcox <matthew@wil.cx>,
	KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
	Michal Hocko <mhocko@suse.cz>,
	Andrew Morton <akpm@linux-foundation.org>,
	Hugh Dickins <hughd@google.com>,
	linux-mm@kvack.org, LKML <linux-kernel@vger.kernel.org>,
	linux-parisc@vger.kernel.org,
	David Rientjes <rientjes@google.com>, Ingo Molnar <mingo@elte.hu>,
	x86 maintainers <x86@kernel.org>,
	linux-arch@vger.kernel.org, Mel Gorman <mel@csn.ul.ie>
Subject: Re: [PATCH v3] mm: make expand_downwards symmetrical to expand_upwards
Date: Wed, 20 Apr 2011 09:50:40 -0500 (CDT)	[thread overview]
Message-ID: <alpine.DEB.2.00.1104200943580.9266@router.home> (raw)
In-Reply-To: <1303308938.2587.8.camel@mulgrave.site>

On Wed, 20 Apr 2011, James Bottomley wrote:

>      1. We can look at what imposing NUMA on the DISCONTIGMEM archs
>         would do ... the embedded ones are going to be hardest hit, but
>         if it's not too much extra code, it might be palatable.
>      2. The other is that we can audit mm to look at all the node
>         assumptions in the non-numa case.  My suspicion is that
>         accidentally or otherwise, it mostly works for the normal case,
>         so there might not be much needed to pull it back to working
>         properly for DISCONTIGMEM.

The older code may work. SLAB f.e. does not call page_to_nid() in the
!NUMA case but keeps special metadata structures around in each slab page
that records the node used for allocation. The problem is with new code
added/revised in the last 5 years or so that uses page_to_nid() and
allocates only a single structure for !NUMA. There are also VM_BUG_ONs in
the page allocator that should trigger if page_to_nid() returns strange
values. I wonder why that never occurred.

>      3. Finally we could look at deprecating DISCONTIGMEM in favour
of >         SPARSEMEM, but we'd still need to fix -stable for that case.
>         Especially as it will take time to convert all the architectures

The fix needed is to mark DISCONTIGMEM without NUMA as broken for now. We
need an audit of the core VM before removing that or making it contingent
on the configurations of various VM subsystems.

> I'm certainly with Matthew: DISCONTIGMEM is supposed to be a lightweight
> framework which allows machines with split physical memory ranges to
> work.  That's a very common case nowadays.  Numa is supposed to be a
> heavyweight framework to preserve node locality for non-uniform memory
> access boxes (which none of the DISCONTIGMEM && !NUMA systems are).

Well yes but we have SPARSE for that today. DISCONTIG with multiple per
pgdat structures in a !NUMA case is just weird and unexpected for many who
have done VM coding in the last years.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2011-04-20 14:50 UTC|newest]

Thread overview: 90+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-15 13:51 [PATCH] " Michal Hocko
2011-04-18  3:00 ` Hugh Dickins
2011-04-18 10:01   ` [PATCH v2] " Michal Hocko
2011-04-18 20:56     ` Andrew Morton
     [not found]       ` <20110419091022.GA21689@tiehlicka.suse.cz>
2011-04-19 11:09         ` [PATCH followup] mm: get rid of CONFIG_STACK_GROWSUP || CONFIG_IA64 Michal Hocko
2011-04-20  0:33           ` KOSAKI Motohiro
2011-04-20  6:59             ` Michal Hocko
2011-04-20  7:08               ` KOSAKI Motohiro
2011-04-26  7:59           ` Michal Hocko
2011-04-19 11:10       ` [PATCH v3] mm: make expand_downwards symmetrical to expand_upwards Michal Hocko
2011-04-19 15:46         ` James Bottomley
2011-04-19 16:06           ` [PATCH v3] mm: make expand_downwards symmetrical to John David Anglin
2011-04-19 16:59             ` James Bottomley
2011-04-19 16:07           ` [PATCH v3] mm: make expand_downwards symmetrical to expand_upwards James Bottomley
2011-04-19 17:05           ` Pekka Enberg
2011-04-19 17:11             ` James Bottomley
2011-04-19 17:15               ` Christoph Lameter
2011-04-19 17:48                 ` James Bottomley
2011-04-19 18:10                   ` Christoph Lameter
2011-04-19 18:20                     ` James Bottomley
2011-04-19 18:35                       ` Christoph Lameter
2011-04-19 19:49                         ` James Bottomley
2011-04-19 20:56                           ` Christoph Lameter
2011-04-19 21:21                             ` James Bottomley
2011-04-19 21:39                               ` Christoph Lameter
2011-04-19 21:48                                 ` James Bottomley
2011-04-19 21:58                                   ` Christoph Lameter
2011-04-20  1:23                                     ` KOSAKI Motohiro
2011-04-20  2:48                                       ` James Bottomley
2011-04-20  2:57                                         ` KOSAKI Motohiro
2011-04-20 13:50                                           ` Christoph Lameter
2011-04-21 13:32                                             ` Tejun Heo
2011-04-20  5:53                                       ` Pekka Enberg
2011-04-20  7:15                                         ` KOSAKI Motohiro
2011-04-20  7:34                                           ` Pekka Enberg
2011-04-20  8:40                                             ` KOSAKI Motohiro
2011-04-20 16:32                                               ` James Bottomley
2011-04-20 16:50                                                 ` Christoph Lameter
2011-04-20 18:09                                                   ` James Bottomley
2011-04-20 21:18                                                 ` David Rientjes
2011-04-20 22:15                                                   ` James Bottomley
2011-04-20 23:12                                                     ` David Rientjes
2011-04-21 13:16                                                       ` KOSAKI Motohiro
2011-04-21 16:37                                                         ` James Bottomley
2011-04-21 18:33                                                           ` Christoph Lameter
2011-04-21 18:45                                                             ` Dave Hansen
2011-04-22 18:19                                                               ` James Bottomley
2011-04-22 20:24                                                                 ` Dave Hansen
2011-04-22 20:35                                                                   ` James Bottomley
2011-04-22 21:33                                                               ` James Bottomley
2011-04-23 18:34                                                                 ` [PATCH] convert parisc to sparsemem (was Re: [PATCH v3] mm: make expand_downwards symmetrical to expand_upwards) James Bottomley
2011-04-24 16:27                                                                   ` John David Anglin
2011-04-26  0:32                                                                   ` KOSAKI Motohiro
2011-04-27 16:36                                                                   ` Dave Hansen
2011-04-21 20:05                                                             ` [PATCH v3] mm: make expand_downwards symmetrical to expand_upwards James Bottomley
2011-04-21 21:07                                                               ` Christoph Lameter
2011-04-21 21:22                                                                 ` James Bottomley
2011-04-21 19:33                                                         ` David Rientjes
2011-04-22  0:34                                                           ` KOSAKI Motohiro
2011-04-21 13:03                                                   ` KOSAKI Motohiro
2011-04-21 19:38                                                     ` David Rientjes
2011-04-21 20:02                                                       ` Christoph Lameter
2011-04-21 21:19                                                         ` David Rientjes
2011-04-21 21:24                                                           ` James Bottomley
2011-04-21 21:34                                                             ` David Rientjes
2011-04-21 21:49                                                               ` James Bottomley
2011-04-21 22:12                                                                 ` David Rientjes
2011-04-22  8:02                                                                   ` Pekka Enberg
2011-04-22 13:49                                                                     ` James Bottomley
2011-04-22 17:00                                                                       ` Pekka Enberg
2011-04-22 17:03                                                                         ` James Bottomley
2011-04-21 21:41                                                           ` [patch] mm: always set nodes with regular memory in N_NORMAL_MEMORY David Rientjes
2011-04-22  0:36                                                             ` KOSAKI Motohiro
2011-04-20 21:05                                               ` [PATCH v3] mm: make expand_downwards symmetrical to expand_upwards David Rientjes
2011-04-20 11:20                                             ` Matthew Wilcox
2011-04-20 11:28                                               ` Pekka Enberg
2011-04-20 14:15                                                 ` James Bottomley
2011-04-20 14:50                                                   ` Christoph Lameter [this message]
2011-04-20 15:02                                                     ` James Bottomley
2011-04-20 15:22                                                       ` Christoph Lameter
2011-04-20 19:25                                                         ` Matthew Wilcox
2011-04-20 21:42                                                         ` David Rientjes
2011-04-21 16:06                                                           ` James Bottomley
2011-04-21 22:19                                                             ` David Rientjes
2011-04-21 22:31                                                               ` James Bottomley
2011-04-20 13:58                                               ` Christoph Lameter
2011-04-20 21:34                                               ` David Rientjes
2011-04-20 14:07                                             ` Christoph Lameter
2011-04-20  2:33                                     ` James Bottomley
2011-04-19 17:12             ` Christoph Lameter

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=alpine.DEB.2.00.1104200943580.9266@router.home \
    --to=cl@linux.com \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=akpm@linux-foundation.org \
    --cc=hughd@google.com \
    --cc=kosaki.motohiro@jp.fujitsu.com \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-parisc@vger.kernel.org \
    --cc=matthew@wil.cx \
    --cc=mel@csn.ul.ie \
    --cc=mhocko@suse.cz \
    --cc=mingo@elte.hu \
    --cc=penberg@kernel.org \
    --cc=rientjes@google.com \
    --cc=x86@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