linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Christoph Lameter <cl@linux.com>
Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
	David Rientjes <rientjes@google.com>,
	Pekka Enberg <penberg@kernel.org>, 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, Ingo Molnar <mingo@elte.hu>,
	x86 maintainers <x86@kernel.org>, Tejun Heo <tj@kernel.org>,
	Dave Hansen <dave@linux.vnet.ibm.com>, Mel Gorman <mel@csn.ul.ie>
Subject: Re: [PATCH v3] mm: make expand_downwards symmetrical to expand_upwards
Date: Thu, 21 Apr 2011 16:22:35 -0500	[thread overview]
Message-ID: <1303420955.4025.50.camel@mulgrave.site> (raw)
In-Reply-To: <alpine.DEB.2.00.1104211553390.9496@router.home>

On Thu, 2011-04-21 at 16:07 -0500, Christoph Lameter wrote:
> On Thu, 21 Apr 2011, James Bottomley wrote:
> 
> > > Dave Hansen, Mel: Can you provide us with some help? (Its Easter and so
> > > the europeans may be off for awhile)
> >
> > It sort of depends on your definition of easy.  The problem going from
> > DISCONTIGMEM to SPARSEMEM is sorting out the section size (the minimum
> > indivisible size for a sectional_mem_map array) and also deciding on
> > whether you need SPARSEMEM_EXTREME (discontigmem allows arbitrarily
> > different sizes for each contiguous region) or
> > ARCH_HAS_HOLES_MEMORYMODEL (allows empty mem_map regions as well).  I
> > suspect most architectures will want SPARSEMEM_EXTREME (it means that
> > the section array isn't fully populated) because the gaps can be huge
> > (we've got a 64GB gap on parisc).
> 
> Well my favorite is SPARSEMEM_VMEMMAP because it allows page level holes
> and uses the TLB (via page tables) to avoid lookups in the SPARSE maps but
> that is likely not going to be in an initial fix.

Really, no ... that requires additional pte insertion logic and some
other stuff that's nasty to craft and requires significant testing.

> > However, even though I think we can do this going forwards ... I don't
> > think we can backport it as a bug fix for the slub panic.
> 
> So far there seems to be no other solution that will fix the issues
> cleanly since we have a clash of the notions of a node in !NUMA between
> core and discontig. Which is a pretty basic thing to get wrong.

Yes there is ... there's the slub patch or the marking as broken.
Either are much simpler.

> If we can avoid all the fancy stuff and Dave can just get a minimal SPARSE
> config going then this may be the best solution for stable as well.
> 
> But then these configs have been broken for years and no one noticed. This
> means the users of these arches likely have been running a subset of
> kernel functionality. I suspect they have never freed memory from
> DISCONTIG node 1 and higher without CONFIG_DEBUG_VM on. Otherwise I
> cannot explain why the VM_BUG_ONs did not trigger in
> mm/page_alloc.c:move_freepages() that should have been brought to the MM
> developers attention.

Yes they have.  As willy said, they've just never been run with DEBUG_VM
or HUGEPAGES or, until recently, SLUB.  The test boxes (at least for
parisc) get hammered quite a lot to flush out coherency issues.  That's
why I'm confident this panic only triggers for slub.  I found the panic
within about two days of turning SLUB on.

> This set of circumstances leads to the suspicion that there were only
> tests run that showed that the kernel booted. Higher node memory was never
> touched and the MM code was never truly exercised.

Look, try to stay on point with logic: they have been extensively
tested, just not in the slub configuration, which is the only one that
crashes.  As I explained (several times) we're just now picking up slub
because debian now enables it by default.

> So I am not sure that there is any urgency in this matter. No one has
> cared for years after all.

If we didn't care, we wouldn't be making all this fuss.  It's only a
couple of days since the bug was reported, which should indicate the
high importance attached to it (well, by everyone except you,
apparently).

James


--
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-21 21:22 UTC|newest]

Thread overview: 90+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-15 13:51 [PATCH] mm: make expand_downwards symmetrical to expand_upwards 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 [this message]
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
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=1303420955.4025.50.camel@mulgrave.site \
    --to=james.bottomley@hansenpartnership.com \
    --cc=akpm@linux-foundation.org \
    --cc=cl@linux.com \
    --cc=dave@linux.vnet.ibm.com \
    --cc=hughd@google.com \
    --cc=kosaki.motohiro@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-parisc@vger.kernel.org \
    --cc=mel@csn.ul.ie \
    --cc=mhocko@suse.cz \
    --cc=mingo@elte.hu \
    --cc=penberg@kernel.org \
    --cc=rientjes@google.com \
    --cc=tj@kernel.org \
    --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;
as well as URLs for NNTP newsgroup(s).