All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Christoph Lameter <clameter@sgi.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
	Pekka Enberg <penberg@cs.helsinki.fi>,
	linux-kernel@vger.kernel.org, Mel Gorman <mel@csn.ul.ie>,
	Nick Piggin <npiggin@suse.de>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Rafael J. Wysocki" <rjw@sisk.pl>,
	Yinghai.Lu@sun.com, apw@shadowen.org,
	KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Subject: Re: [bug] SLUB + mm/slab.c boot crash in -rc9
Date: Tue, 15 Apr 2008 22:17:34 +0200	[thread overview]
Message-ID: <20080415201734.GA25628@elte.hu> (raw)
In-Reply-To: <Pine.LNX.4.64.0804151255390.1785@schroedinger.engr.sgi.com>


* Christoph Lameter <clameter@sgi.com> wrote:

> > Pretty please, could you pay more than cursory attention to this bug 
> > i already spent two full days on and which is blocking the v2.6.25 
> > release?
> 
> Yeah trying to get to understand how exactly sparsemem works and how 
> the 32 bit highmem stuff interacts with it... Sorry not code that I am 
> an expert in nor the platform that I am familiar with. Code mods there 
> required heavy review from multiple parties with expertise in various 
> subjects.

yeah - sorry about that impatient flame. And it could still be anything 
from the page allocator to bootmem - or some completely unrelated piece 
of code corrupting some key data structure.

sparsemem is supposed to work roughly like this on x86 (32-bit):

- the x86 memory map comes from the bios via e820.

- those individual chunks of e820-enumerated memory get
  registered with mm/sparse.c's data structures via memory_present()
  callbacks. [btw., this should be renamed to register_memory_present()
  or register_sparse_range() - something less opaque.]

- there's really just 3 RAM areas that matter on this box, and the last 
  one is unusable for !PAE, which leaves 2.

- there's a 256 MB PCI aperture hole at 0xf0000000.

- out of the 64 sparse memory chunk the first 60 get filled in (all have 
  at least partially some RAM content) - the last 4 [the PCI aperture 
  hole] remains !present.

- we pass in an array of 3 zones to free_area_init_nodes().

- we free the lowmem pages into the buddy allocator via the usual 
  generic setup

- we have a special loop for highmem pages in arch/x86/mm/init_32.c, 
  set_highmem_pages_init(). This just goes through the PFNs one by one 
  and does an explicit __free_page() on all RAM pages that are in the 
  mem_map[] and which are non-reserved.

and that's it roughly.

my current guess would have been some bootmem regression/interaction 
that messes up the buddy bitmaps - but i just reverted to the v2.6.24 
version of bootmem.c and that crashes too ...

	Ingo

  reply	other threads:[~2008-04-15 20:18 UTC|newest]

Thread overview: 95+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-11  7:41 [bug] mm/slab.c boot crash in -git, "kernel BUG at mm/slab.c:2103!" Ingo Molnar
2008-04-11  8:21 ` Pekka Enberg
2008-04-11  8:50   ` Pekka Enberg
2008-04-11  8:54     ` Ingo Molnar
2008-04-11  9:05       ` Pekka Enberg
2008-04-11  9:08         ` Pekka Enberg
2008-04-11  9:11           ` Pekka Enberg
2008-04-11  9:24             ` Ingo Molnar
2008-04-11 10:34               ` Nick Piggin
2008-04-11 19:28               ` Christoph Lameter
2008-04-12 10:38                 ` Christoph Lameter
2008-04-12 17:22                   ` Yinghai Lu
2008-04-15  5:43                 ` Ingo Molnar
2008-04-15  9:36               ` Mel Gorman
2008-04-15 10:03                 ` Ingo Molnar
2008-04-15  6:25             ` [bug] SLUB + mm/slab.c boot crash in -rc9 Ingo Molnar
2008-04-15  6:41               ` Pekka Enberg
2008-04-15  7:08                 ` Ingo Molnar
2008-04-15  8:31                   ` Yinghai Lu
2008-04-15  8:46                     ` Ingo Molnar
2008-04-15  9:11                   ` Ingo Molnar
2008-04-15 16:02               ` Linus Torvalds
2008-04-15 16:15                 ` Ingo Molnar
2008-04-15 17:23                   ` Linus Torvalds
2008-04-15 19:35                     ` Ingo Molnar
2008-04-15 19:41                       ` Ingo Molnar
2008-04-15 19:39                     ` Christoph Lameter
2008-04-15 19:54                       ` Ingo Molnar
2008-04-15 20:03                         ` Christoph Lameter
2008-04-15 20:17                           ` Ingo Molnar [this message]
2008-04-15 20:28                             ` Ingo Molnar
2008-04-15 20:34                               ` Ingo Molnar
2008-04-15 20:42                                 ` Ingo Molnar
2008-04-15 20:50                                   ` Christoph Lameter
2008-04-15 20:58                                     ` Ingo Molnar
2008-04-15 21:08                                       ` Christoph Lameter
2008-04-15 21:16                                         ` Mike Travis
2008-04-15 21:19                                         ` Ingo Molnar
2008-04-15 21:21                                           ` Christoph Lameter
2008-04-15 21:23                                             ` Ingo Molnar
2008-04-15 21:24                                               ` Christoph Lameter
2008-04-15 21:28                                                 ` Ingo Molnar
2008-04-15 21:33                                                   ` Christoph Lameter
2008-04-15 21:43                                                   ` Mike Travis
2008-04-15 22:07                                                   ` Ingo Molnar
2008-04-15 21:27                                           ` Mike Travis
2008-04-15 20:34                             ` Pekka Enberg
2008-04-15 20:40                               ` Ingo Molnar
2008-04-15 21:06                                 ` Linus Torvalds
2008-04-15 21:13                                   ` Ingo Molnar
2008-04-15 21:24                                     ` Ingo Molnar
2008-04-15 21:42                                       ` Christoph Lameter
2008-04-15 21:55                                         ` Ingo Molnar
2008-04-15 22:06                                           ` Christoph Lameter
2008-04-15 22:13                                             ` Ingo Molnar
2008-04-15 22:27                                               ` Christoph Lameter
2008-04-15 22:32                                                 ` Ingo Molnar
2008-04-15 23:22                                                 ` Christoph Lameter
2008-04-15 23:27                                                   ` Ingo Molnar
2008-04-15 23:32                                                     ` Christoph Lameter
2008-04-16  0:04                                                     ` Christoph Lameter
2008-04-15 23:18                                             ` Yinghai Lu
2008-04-16  0:03                                   ` [patch] mm: sparsemem memory_present() memory corruption fix Ingo Molnar
2008-04-16  0:10                                     ` Christoph Lameter
2008-04-16  0:18                                     ` Ingo Molnar
2008-04-16  0:32                                       ` Yinghai Lu
2008-04-16  0:44                                         ` Ingo Molnar
2008-04-16  0:46                                           ` Christoph Lameter
2008-04-16  0:52                                             ` Ingo Molnar
2008-04-16  1:17                                               ` Ingo Molnar
2008-04-16  1:30                                                 ` Yinghai Lu
2008-04-16  2:00                                                   ` Yinghai Lu
2008-04-16  2:20                                                     ` KAMEZAWA Hiroyuki
2008-04-16  0:56                                           ` Yinghai Lu
2008-04-16  1:02                                             ` Ingo Molnar
2008-04-16  1:17                                               ` Yinghai Lu
2008-04-16  0:19                                     ` Christoph Lameter
2008-04-16  0:33                                       ` Yinghai Lu
2008-04-16  0:36                                       ` Ingo Molnar
2008-04-16  0:34                                     ` Ingo Molnar
2008-04-16  0:40                                       ` Ingo Molnar
2008-04-16  0:45                                         ` Christoph Lameter
2008-04-16  0:52                                           ` Ingo Molnar
2008-04-16  1:14                                         ` Ingo Molnar
2008-04-16  2:45                                       ` Linus Torvalds
2008-04-16  1:48                                     ` KAMEZAWA Hiroyuki
2008-04-16 14:05                                     ` Mel Gorman
2008-04-16 15:03                                     ` Ingo Molnar
2008-04-15 20:54                             ` [bug] SLUB + mm/slab.c boot crash in -rc9 Christoph Lameter
2008-04-15 20:58                               ` Ingo Molnar
2008-04-15 21:08                                 ` Ingo Molnar
2008-04-15 20:23                   ` Ingo Molnar
2008-04-11 19:26           ` [bug] mm/slab.c boot crash in -git, "kernel BUG at mm/slab.c:2103!" Christoph Lameter
2008-04-11 19:25         ` Christoph Lameter
2008-04-15  5:49           ` Ingo Molnar

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=20080415201734.GA25628@elte.hu \
    --to=mingo@elte.hu \
    --cc=Yinghai.Lu@sun.com \
    --cc=akpm@linux-foundation.org \
    --cc=apw@shadowen.org \
    --cc=clameter@sgi.com \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mel@csn.ul.ie \
    --cc=npiggin@suse.de \
    --cc=penberg@cs.helsinki.fi \
    --cc=rjw@sisk.pl \
    --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.