linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Mel Gorman <mel@csn.ul.ie>
To: Pekka J Enberg <penberg@cs.helsinki.fi>
Cc: lee.schermerhorn@hp.com, Olaf Hering <olaf@aepfle.de>,
	Linux MM <linux-mm@kvack.org>,
	linux-kernel@vger.kernel.org, linuxppc-dev@ozlabs.org,
	"Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>,
	hanth Aravamudan <nacc@us.ibm.com>,
	akpm@linux-foundation.org,
	KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
	Christoph Lameter <clameter@sgi.com>
Subject: Re: [PATCH] Fix boot problem in situations where the boot CPU is running on a memoryless node
Date: Wed, 23 Jan 2008 15:56:55 +0000	[thread overview]
Message-ID: <20080123155655.GB20156@csn.ul.ie> (raw)
In-Reply-To: <Pine.LNX.4.64.0801231648140.23343@sbz-30.cs.Helsinki.FI>

On (23/01/08 16:49), Pekka J Enberg didst pronounce:
> Hi,
> 
> On Wed, 23 Jan 2008, Pekka J Enberg wrote:
> > > I still think Christoph's kmem_getpages() patch is correct (to fix 
> > > cache_grow() oops) but I overlooked the fact that none the callers of 
> > > ____cache_alloc_node() deal with bootstrapping (with the exception of 
> > > __cache_alloc_node() that even has a comment about it).
> > 
> > So something like this (totally untested) patch on top of current git:
> 
> Sorry, removed a BUG_ON() from cache_alloc_refill() by mistake, here's a 
> better one:
> 

Applied in combination with the N_NORMAL_MEMORY revert and it fails to
boot. Console is as follows;

Linux version 2.6.24-rc8-autokern1 (root@gekko-lp3.ltc.austin.ibm.com)
(gcc version 3.4.6 20060404 (Red Hat 3.4.6-3)) #2 SMP Wed Jan 23
10:37:36 EST 2008
[boot]0012 Setup Arch
EEH: PCI Enhanced I/O Error Handling Enabled
PPC64 nvram contains 7168 bytes
Zone PFN ranges:
  DMA             0 ->  1048576
  Normal    1048576 ->  1048576
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
    2:        0 ->  1048576
Could not find start_pfn for node 0
[boot]0015 Setup Done
Built 2 zonelists in Node order, mobility grouping on.  Total pages: 1034240
Policy zone: DMA
Kernel command line: ro console=hvc0 autobench_args: root=/dev/sda6
ABAT:1201101591 loglevel=8 
[boot]0020 XICS Init
xics: no ISA interrupt controller
[boot]0021 XICS Done
PID hash table entries: 4096 (order: 12, 32768 bytes)
time_init: decrementer frequency = 238.059000 MHz
time_init: processor frequency   = 1904.472000 MHz
clocksource: timebase mult[10cd746] shift[22] registered
clockevent: decrementer mult[3cf1] shift[16] cpu[0]
Console: colour dummy device 80x25
console handover: boot [udbg0] -> real [hvc0]
Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes)
Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes)
freeing bootmem node 2
Memory: 4105560k/4194304k available (5004k kernel code, 88744k reserved,
876k data, 559k bss, 272k init)
Unable to handle kernel paging request for data at address 0x00000040
Faulting instruction address: 0xc0000000003c8ae8
cpu 0x0: Vector: 300 (Data Access) at [c0000000005c3840]
    pc: c0000000003c8ae8: __lock_text_start+0x20/0x88
    lr: c0000000000dadb4: .cache_grow+0x7c/0x338
    sp: c0000000005c3ac0
   msr: 8000000000009032
   dar: 40
 dsisr: 40000000
  current = 0xc000000000500f10
  paca    = 0xc000000000501b80
    pid   = 0, comm = swapper
enter ? for help
[c0000000005c3b40] c0000000000dadb4 .cache_grow+0x7c/0x338
[c0000000005c3c00] c0000000000db518 .fallback_alloc+0x1c0/0x224
[c0000000005c3cb0] c0000000000db920 .kmem_cache_alloc+0xe0/0x14c
[c0000000005c3d50] c0000000000dcbd0 .kmem_cache_create+0x230/0x4cc
[c0000000005c3e30] c0000000004c049c .kmem_cache_init+0x1ec/0x51c
[c0000000005c3ee0] c00000000049f8d8 .start_kernel+0x304/0x3fc
[c0000000005c3f90] c000000000008594 .start_here_common+0x54/0xc0

0xc0000000000dadb4 is in cache_grow (mm/slab.c:2782).
2777            local_flags = flags & (GFP_CONSTRAINT_MASK|GFP_RECLAIM_MASK);
2778    
2779            /* Take the l3 list lock to change the colour_next on this node */
2780            check_irq_off();
2781            l3 = cachep->nodelists[nodeid];
2782            spin_lock(&l3->list_lock);
2783    
2784            /* Get colour for the slab, and cal the next value. */
2785            offset = l3->colour_next;
2786            l3->colour_next++;

-- 
Mel Gorman
Part-time Phd Student                          Linux Technology Center
University of Limerick                         IBM Dublin Software Lab

  reply	other threads:[~2008-01-23 15:57 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-15 15:09 crash in kmem_cache_init Olaf Hering
2008-01-15 15:58 ` Olaf Hering
2008-01-17 12:14 ` Pekka Enberg
2008-01-17 14:30   ` Christoph Lameter
2008-01-17 18:12     ` Olaf Hering
2008-01-17 18:58       ` Christoph Lameter
2008-01-17 19:54         ` Olaf Hering
2008-01-17 20:20           ` Olaf Hering
2008-01-19  4:56             ` Christoph Lameter
2008-01-17 21:15         ` Olaf Hering
2008-01-18  6:56           ` Olaf Hering
2008-01-18 18:42             ` Christoph Lameter
2008-01-19  4:55             ` Christoph Lameter
2008-01-18 18:47           ` Christoph Lameter
2008-01-18 21:30             ` Mel Gorman
2008-01-18 21:43               ` Christoph Lameter
2008-01-18 22:16               ` Christoph Lameter
2008-01-18 22:19                 ` Nish Aravamudan
2008-01-18 22:38                 ` Christoph Lameter
2008-01-18 22:57                 ` Olaf Hering
2008-01-22 19:54                   ` Mel Gorman
2008-01-22 20:11                     ` Christoph Lameter
2008-01-22 21:26                       ` Mel Gorman
2008-01-22 21:34                         ` Christoph Lameter
2008-01-22 22:50                           ` Mel Gorman
2008-01-22 22:57                             ` Christoph Lameter
2008-01-22 23:10                               ` Mel Gorman
2008-01-22 23:14                                 ` Christoph Lameter
2008-01-22 22:59                             ` Pekka Enberg
2008-01-22 23:12                               ` Christoph Lameter
2008-01-22 23:18                                 ` Christoph Lameter
2008-01-23  8:19                                   ` Pekka Enberg
2008-01-23  8:40                                     ` Olaf Hering
2008-01-22 21:45                     ` Olaf Hering
2008-01-22 22:12                       ` Nish Aravamudan
2008-01-22 22:23                       ` Christoph Lameter
2008-01-23  7:58                         ` Olaf Hering
2008-01-23 10:50                           ` Mel Gorman
2008-01-23 12:14                             ` Olaf Hering
2008-01-23 12:52                               ` Olaf Hering
2008-01-23 13:55                                 ` [PATCH] Fix boot problem in situations where the boot CPU is running on a memoryless node Mel Gorman
2008-01-23 14:18                                   ` Pekka J Enberg
2008-01-23 14:32                                     ` Pekka J Enberg
2008-01-23 14:49                                       ` Pekka J Enberg
2008-01-23 15:56                                         ` Mel Gorman [this message]
2008-01-23 17:29                                           ` Pekka J Enberg
2008-01-23 17:42                                             ` Pekka J Enberg
2008-01-23 18:51                                             ` Christoph Lameter
2008-01-23 19:52                                             ` Nishanth Aravamudan
2008-01-23 21:02                                               ` Pekka Enberg
2008-01-23 21:14                                                 ` Christoph Lameter
2008-01-23 21:36                                                   ` Nishanth Aravamudan
2008-01-24  3:13                                                     ` Christoph Lameter
2008-01-23 18:36                                         ` Christoph Lameter
2008-01-23 18:35                                     ` Christoph Lameter
2008-01-23 14:27                                   ` Olaf Hering
2008-01-23 14:42                                     ` Mel Gorman
2008-01-23 18:41                                   ` Christoph Lameter
2008-01-23 13:41                               ` crash in kmem_cache_init Mel Gorman
2008-01-18 18:51           ` Christoph Lameter
2008-01-17 19:03       ` 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=20080123155655.GB20156@csn.ul.ie \
    --to=mel@csn.ul.ie \
    --cc=akpm@linux-foundation.org \
    --cc=aneesh.kumar@linux.vnet.ibm.com \
    --cc=clameter@sgi.com \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=lee.schermerhorn@hp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=nacc@us.ibm.com \
    --cc=olaf@aepfle.de \
    --cc=penberg@cs.helsinki.fi \
    /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).