* 2.6.32-rc3/sparsemem: kernel BUG at mm/bootmem.c:243
@ 2009-10-09 23:16 Christian Gagneraud
2009-10-10 0:38 ` H Hartley Sweeten
2009-10-10 9:20 ` Matthieu Crapet
0 siblings, 2 replies; 4+ messages in thread
From: Christian Gagneraud @ 2009-10-09 23:16 UTC (permalink / raw)
To: linux-arm-kernel
Hi,
I've rebased my tree to 2.6.32-rc3, and apply the patch for sparsemem
support (ts72xx) + the fix in mm/Kconfig, and now the kernel refuse to
boot. Any hint is greatly appreciated
Here is the log:
Using base address 0x00218000 and length 0x000b87f8
Uncompressing
Linux...................................................... done,
booting the kernel.
<5>Linux version 2.6.32-rc3 (cgagneraud at archeopterix.techworks.local)
(gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) ) #1
Fri Oct 9 23:32:03 IST 2009
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=00007177
CPU: VIVT data cache, VIVT instruction cache
Machine: Technologic Systems TS-72xx SBC
Memory policy: ECC disabled, Data cache writeback
<7>On node 0 totalpages: 16384
<7> Normal zone: 8262 pages used for memmap
<7> Normal zone: 0 pages reserved
<7> Normal zone: 8122 pages, LIFO batch:0
Built 1 zonelists in Zone order, mobility grouping on. Total pages:
8122
<5>Kernel command line: console=ttyAM0,115200 bootmem_debug
<6>bootmem::alloc_bootmem_core nid=0 size=200 [1 pages] align=20
goal=0 limit=0
<6>bootmem::__reserve nid=0 start=10b9 end=10b9 flags=1
<6>PID hash table entries: 128 (order: -3, 512 bytes)
<6>bootmem::alloc_bootmem_core nid=0 size=4000 [4 pages] align=20
goal=0 limit=0
<6>bootmem::__reserve nid=0 start=10b9 end=10bd flags=1
<6>Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
<6>bootmem::alloc_bootmem_core nid=0 size=2000 [2 pages] align=20
goal=0 limit=0
<6>bootmem::__reserve nid=0 start=10bd end=10bf flags=1
<6>Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
<6>bootmem::mark_bootmem_node nid=0 start=776 end=788 reserve=0
flags=0
<6>bootmem::__free nid=0 start=776 end=788
<6>bootmem::mark_bootmem_node nid=0 start=79a end=7ac reserve=0
flags=0
<6>bootmem::__free nid=0 start=79a end=7ac
<6>bootmem::mark_bootmem_node nid=0 start=7be end=7d0 reserve=0
flags=0
<6>bootmem::__free nid=0 start=7be end=7d0
<6>bootmem::mark_bootmem_node nid=0 start=7e2 end=1000 reserve=0
flags=0
<6>bootmem::__free nid=0 start=7e2 end=1000
<2>kernel BUG at mm/bootmem.c:243!
<1>Unable to handle kernel NULL pointer dereference at virtual address
00000000
<1>pgd = c0004000
<1>[00000000] *pgd=00000000
Internal error: Oops: 805 [#1]
CPU: 0 Not tainted (2.6.32-rc3 #1)
PC is at __bug+0x20/0x2c
LR is at vprintk+0x388/0x3d8
pc : [<c0028e20>] lr : [<c0040720>] psr: 600000d3
sp : c0187f18 ip : c0187e78 fp : c0187f24
r10: 00016130 r9 : 41129200 r8 : 00000000
r7 : 00000000 r6 : 00001000 r5 : c0018270 r4 : 000007f4
r3 : 00000000 r2 : 600000d3 r1 : c01896d0 r0 : 00000035
Flags: nZCv IRQs off FIQs off Mode SVC_32 ISA ARM Segment kernel
Control: 0000717f Table: 00004000 DAC: 00000017
Process swapper (pid: 0, stack limit = 0xc0186270)
Stack: (0xc0187f18 to 0xc0188000)
7f00: c0187f4c
c0187f28
7f20: c000ea20 c0028e10 00001000 c0187f44 c0187f84 c0018270 00001000
000007e2
7f40: c0187f84 c0187f50 c000ef64 c000e9a8 00001000 00000000 00000000
c0010cfc
7f60: 00000000 007e2000 01000000 c019b674 c018b1c8 00016164 c0187fac
c0187f88
7f80: c000f564 c000eec4 00000000 00016164 41129200 c019c998 00000004
c0017c9c
7fa0: c0187fcc c0187fb0 c000a784 c000f514 c0187fcc c0187fc0 c019c620
c0017ca0
7fc0: c0187ff4 c0187fd0 c00089ec c000a654 c000866c 00000000 00000000
c0017ca0
7fe0: 00007175 c019c930 00000000 c0187ff8 00008038 c00088e0 00000000
00000000
[<c0028e20>] (__bug+0x20/0x2c) from [<c000ea20>] (__free+0x88/0xb4)
[<c000ea20>] (__free+0x88/0xb4) from [<c000ef64>]
(mark_bootmem_node+0xb0/0xd8)
[<c000ef64>] (mark_bootmem_node+0xb0/0xd8) from [<c000f564>]
(free_bootmem_node+0x60/0x68)
[<c000f564>] (free_bootmem_node+0x60/0x68) from [<c000a784>]
(mem_init+0x140/0x2a4)
[<c000a784>] (mem_init+0x140/0x2a4) from [<c00089ec>]
(start_kernel+0x11c/0x27c)
[<c00089ec>] (start_kernel+0x11c/0x27c) from [<00008038>] (0x8038)
Code: e1a01000 e59f000c eb0400be e3a03000 (e5833000)
<4>---[ end trace 1b75b31a2719ed1c ]---
<0>Kernel panic - not syncing: Attempted to kill the idle task!
[<c002afd8>] (unwind_backtrace+0x0/0x154) from [<c0128ff0>]
(dump_stack+0x18/0x1c)
[<c0128ff0>] (dump_stack+0x18/0x1c) from [<c0129040>]
(panic+0x4c/0x124)
[<c0129040>] (panic+0x4c/0x124) from [<c0042bdc>] (do_exit+0x70/0x598)
[<c0042bdc>] (do_exit+0x70/0x598) from [<c0029288>] (die+0x144/0x168)
[<c0029288>] (die+0x144/0x168) from [<c002c1f0>]
(__do_kernel_fault+0x6c/0x7c)
[<c002c1f0>] (__do_kernel_fault+0x6c/0x7c) from [<c002c3dc>]
(do_page_fault+0x1dc/0x1fc)
[<c002c3dc>] (do_page_fault+0x1dc/0x1fc) from [<c002c49c>]
(do_translation_fault+0x18/0x94)
[<c002c49c>] (do_translation_fault+0x18/0x94) from [<c00242b8>]
(do_DataAbort+0x3c/0x9c)
[<c00242b8>] (do_DataAbort+0x3c/0x9c) from [<c0024a6c>]
(__dabt_svc+0x4c/0x80)
Exception stack(0xc0187ed0 to 0xc0187f18)
7ec0: 00000035 c01896d0 600000d3
00000000
7ee0: 000007f4 c0018270 00001000 00000000 00000000 41129200 00016130
c0187f24
7f00: c0187e78 c0187f18 c0040720 c0028e20 600000d3 ffffffff
[<c0024a6c>] (__dabt_svc+0x4c/0x80) from [<c0028e20>]
(__bug+0x20/0x2c)
[<c0028e20>] (__bug+0x20/0x2c) from [<c000ea20>] (__free+0x88/0xb4)
[<c000ea20>] (__free+0x88/0xb4) from [<c000ef64>]
(mark_bootmem_node+0xb0/0xd8)
[<c000ef64>] (mark_bootmem_node+0xb0/0xd8) from [<c000f564>]
(free_bootmem_node+0x60/0x68)
[<c000f564>] (free_bootmem_node+0x60/0x68) from [<c000a784>]
(mem_init+0x140/0x2a4)
[<c000a784>] (mem_init+0x140/0x2a4) from [<c00089ec>]
(start_kernel+0x11c/0x27c)
[<c00089ec>] (start_kernel+0x11c/0x27c) from [<00008038>] (0x8038)
Regards,
Chris
^ permalink raw reply [flat|nested] 4+ messages in thread
* 2.6.32-rc3/sparsemem: kernel BUG at mm/bootmem.c:243
2009-10-09 23:16 2.6.32-rc3/sparsemem: kernel BUG at mm/bootmem.c:243 Christian Gagneraud
@ 2009-10-10 0:38 ` H Hartley Sweeten
2009-10-10 9:20 ` Matthieu Crapet
1 sibling, 0 replies; 4+ messages in thread
From: H Hartley Sweeten @ 2009-10-10 0:38 UTC (permalink / raw)
To: linux-arm-kernel
On Friday, October 09, 2009 4:17 PM, Christian Gagneraud wrote:
> Hi,
>
> I've rebased my tree to 2.6.32-rc3, and apply the patch for sparsemem
> support (ts72xx) + the fix in mm/Kconfig, and now the kernel refuse to
> boot. Any hint is greatly appreciated
I'm not the best one to interpret the log but you are hitting a BUG()
in __free() (mm/bootmem.c).
To start with are the ATAGS describing your memory being propery passed
by the bootloader?
Try applying this patch to see what the kernel thinks your memory
actually is. On my ep9307 system I get:
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177
CPU: VIVT data cache, VIVT instruction cache
Machine: Vision Engraving Systems EP9307 SoM
arm_add_memory: start:0xc0000000 size:0x2000000 node:0
arm_add_memory: start:0xc4000000 size:0x2000000 node:0
Memory policy: ECC disabled, Data cache writeback
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16192
Kernel command line: root=/dev/ram console=ttyAM2 video=ep93xx-fb:640x480-16 at 60
PID hash table entries: 256 (order: 8, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 32MB 32MB = 64MB total
This is with flatmem not sparsemem. I have 64MB total with 32MB at 0xc0000000
and 32MB at 0xc4000000.
Regards,
Hartley
---
diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c
index c6c57b6..1c3d665 100644
--- a/arch/arm/kernel/setup.c
+++ b/arch/arm/kernel/setup.c
@@ -410,6 +410,8 @@ static int __init arm_add_memory(unsigned long start, unsigned long size)
return -EINVAL;
meminfo.nr_banks++;
+ printk("%s: start:%#lx size:%#lx node:%d\n",
+ __func__, bank->start, bank->size, bank->node);
return 0;
}
^ permalink raw reply related [flat|nested] 4+ messages in thread* 2.6.32-rc3/sparsemem: kernel BUG at mm/bootmem.c:243
2009-10-09 23:16 2.6.32-rc3/sparsemem: kernel BUG at mm/bootmem.c:243 Christian Gagneraud
2009-10-10 0:38 ` H Hartley Sweeten
@ 2009-10-10 9:20 ` Matthieu Crapet
2009-10-10 15:41 ` Christian Gagneraud
1 sibling, 1 reply; 4+ messages in thread
From: Matthieu Crapet @ 2009-10-10 9:20 UTC (permalink / raw)
To: linux-arm-kernel
Hi Christian,
It works fine here with my TS-7250. I'll send you asap my "ts72xx rebase
patch".
Regards,
Matthieu
Christian Gagneraud wrote:
> Hi,
>
> I've rebased my tree to 2.6.32-rc3, and apply the patch for sparsemem
> support (ts72xx) + the fix in mm/Kconfig, and now the kernel refuse to
> boot. Any hint is greatly appreciated
> Here is the log:
>
> Using base address 0x00218000 and length 0x000b87f8
>
> Uncompressing
> Linux...................................................... done,
> booting the kernel.
> <5>Linux version 2.6.32-rc3 (cgagneraud at archeopterix.techworks.local)
> (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) ) #1
> Fri Oct 9 23:32:03 IST 2009
>
> CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=00007177
>
> CPU: VIVT data cache, VIVT instruction cache
>
> Machine: Technologic Systems TS-72xx SBC
>
> Memory policy: ECC disabled, Data cache writeback
>
> <7>On node 0 totalpages: 16384
>
> <7> Normal zone: 8262 pages used for memmap
>
> <7> Normal zone: 0 pages reserved
>
> <7> Normal zone: 8122 pages, LIFO batch:0
>
> Built 1 zonelists in Zone order, mobility grouping on. Total pages:
> 8122
> <5>Kernel command line: console=ttyAM0,115200 bootmem_debug
>
> <6>bootmem::alloc_bootmem_core nid=0 size=200 [1 pages] align=20
> goal=0 limit=0
> <6>bootmem::__reserve nid=0 start=10b9 end=10b9 flags=1
>
> <6>PID hash table entries: 128 (order: -3, 512 bytes)
>
> <6>bootmem::alloc_bootmem_core nid=0 size=4000 [4 pages] align=20
> goal=0 limit=0
> <6>bootmem::__reserve nid=0 start=10b9 end=10bd flags=1
>
> <6>Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
>
> <6>bootmem::alloc_bootmem_core nid=0 size=2000 [2 pages] align=20
> goal=0 limit=0
> <6>bootmem::__reserve nid=0 start=10bd end=10bf flags=1
>
> <6>Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
> <6>bootmem::mark_bootmem_node nid=0 start=776 end=788 reserve=0
> flags=0
> <6>bootmem::__free nid=0 start=776 end=788
>
> <6>bootmem::mark_bootmem_node nid=0 start=79a end=7ac reserve=0
> flags=0
> <6>bootmem::__free nid=0 start=79a end=7ac
>
> <6>bootmem::mark_bootmem_node nid=0 start=7be end=7d0 reserve=0
> flags=0
> <6>bootmem::__free nid=0 start=7be end=7d0
>
> <6>bootmem::mark_bootmem_node nid=0 start=7e2 end=1000 reserve=0
> flags=0
> <6>bootmem::__free nid=0 start=7e2 end=1000
>
> <2>kernel BUG at mm/bootmem.c:243!
>
> <1>Unable to handle kernel NULL pointer dereference at virtual address
> 00000000
> <1>pgd = c0004000
>
> <1>[00000000] *pgd=00000000
>
> Internal error: Oops: 805 [#1]
>
> CPU: 0 Not tainted (2.6.32-rc3 #1)
>
> PC is at __bug+0x20/0x2c
>
> LR is at vprintk+0x388/0x3d8
>
> pc : [<c0028e20>] lr : [<c0040720>] psr: 600000d3
>
> sp : c0187f18 ip : c0187e78 fp : c0187f24
>
> r10: 00016130 r9 : 41129200 r8 : 00000000
>
> r7 : 00000000 r6 : 00001000 r5 : c0018270 r4 : 000007f4
>
> r3 : 00000000 r2 : 600000d3 r1 : c01896d0 r0 : 00000035
>
> Flags: nZCv IRQs off FIQs off Mode SVC_32 ISA ARM Segment kernel
>
> Control: 0000717f Table: 00004000 DAC: 00000017
>
> Process swapper (pid: 0, stack limit = 0xc0186270)
>
> Stack: (0xc0187f18 to 0xc0188000)
>
> 7f00: c0187f4c
> c0187f28
> 7f20: c000ea20 c0028e10 00001000 c0187f44 c0187f84 c0018270 00001000
> 000007e2
> 7f40: c0187f84 c0187f50 c000ef64 c000e9a8 00001000 00000000 00000000
> c0010cfc
> 7f60: 00000000 007e2000 01000000 c019b674 c018b1c8 00016164 c0187fac
> c0187f88
> 7f80: c000f564 c000eec4 00000000 00016164 41129200 c019c998 00000004
> c0017c9c
> 7fa0: c0187fcc c0187fb0 c000a784 c000f514 c0187fcc c0187fc0 c019c620
> c0017ca0
> 7fc0: c0187ff4 c0187fd0 c00089ec c000a654 c000866c 00000000 00000000
> c0017ca0
> 7fe0: 00007175 c019c930 00000000 c0187ff8 00008038 c00088e0 00000000
> 00000000
> [<c0028e20>] (__bug+0x20/0x2c) from [<c000ea20>] (__free+0x88/0xb4)
>
> [<c000ea20>] (__free+0x88/0xb4) from [<c000ef64>]
> (mark_bootmem_node+0xb0/0xd8)
> [<c000ef64>] (mark_bootmem_node+0xb0/0xd8) from [<c000f564>]
> (free_bootmem_node+0x60/0x68)
> [<c000f564>] (free_bootmem_node+0x60/0x68) from [<c000a784>]
> (mem_init+0x140/0x2a4)
> [<c000a784>] (mem_init+0x140/0x2a4) from [<c00089ec>]
> (start_kernel+0x11c/0x27c)
> [<c00089ec>] (start_kernel+0x11c/0x27c) from [<00008038>] (0x8038)
>
> Code: e1a01000 e59f000c eb0400be e3a03000 (e5833000)
>
> <4>---[ end trace 1b75b31a2719ed1c ]---
>
> <0>Kernel panic - not syncing: Attempted to kill the idle task!
>
> [<c002afd8>] (unwind_backtrace+0x0/0x154) from [<c0128ff0>]
> (dump_stack+0x18/0x1c)
> [<c0128ff0>] (dump_stack+0x18/0x1c) from [<c0129040>]
> (panic+0x4c/0x124)
> [<c0129040>] (panic+0x4c/0x124) from [<c0042bdc>] (do_exit+0x70/0x598)
>
> [<c0042bdc>] (do_exit+0x70/0x598) from [<c0029288>] (die+0x144/0x168)
>
> [<c0029288>] (die+0x144/0x168) from [<c002c1f0>]
> (__do_kernel_fault+0x6c/0x7c)
>
> [<c002c1f0>] (__do_kernel_fault+0x6c/0x7c) from [<c002c3dc>]
> (do_page_fault+0x1dc/0x1fc)
> [<c002c3dc>] (do_page_fault+0x1dc/0x1fc) from [<c002c49c>]
> (do_translation_fault+0x18/0x94)
> [<c002c49c>] (do_translation_fault+0x18/0x94) from [<c00242b8>]
> (do_DataAbort+0x3c/0x9c)
> [<c00242b8>] (do_DataAbort+0x3c/0x9c) from [<c0024a6c>]
> (__dabt_svc+0x4c/0x80)
> Exception stack(0xc0187ed0 to 0xc0187f18)
>
> 7ec0: 00000035 c01896d0 600000d3
> 00000000
> 7ee0: 000007f4 c0018270 00001000 00000000 00000000 41129200 00016130
> c0187f24
> 7f00: c0187e78 c0187f18 c0040720 c0028e20 600000d3 ffffffff
>
> [<c0024a6c>] (__dabt_svc+0x4c/0x80) from [<c0028e20>]
> (__bug+0x20/0x2c)
> [<c0028e20>] (__bug+0x20/0x2c) from [<c000ea20>] (__free+0x88/0xb4)
>
> [<c000ea20>] (__free+0x88/0xb4) from [<c000ef64>]
> (mark_bootmem_node+0xb0/0xd8)
> [<c000ef64>] (mark_bootmem_node+0xb0/0xd8) from [<c000f564>]
> (free_bootmem_node+0x60/0x68)
> [<c000f564>] (free_bootmem_node+0x60/0x68) from [<c000a784>]
> (mem_init+0x140/0x2a4)
> [<c000a784>] (mem_init+0x140/0x2a4) from [<c00089ec>]
> (start_kernel+0x11c/0x27c)
> [<c00089ec>] (start_kernel+0x11c/0x27c) from [<00008038>] (0x8038)
>
> Regards,
> Chris
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* 2.6.32-rc3/sparsemem: kernel BUG at mm/bootmem.c:243
2009-10-10 9:20 ` Matthieu Crapet
@ 2009-10-10 15:41 ` Christian Gagneraud
0 siblings, 0 replies; 4+ messages in thread
From: Christian Gagneraud @ 2009-10-10 15:41 UTC (permalink / raw)
To: linux-arm-kernel
Matthieu Crapet wrote:
> Hi Christian,
>
> It works fine here with my TS-7250. I'll send you asap my "ts72xx rebase
Matthieu,
Has your TS-7250 64MB? Are you using sparsemem or flatmem?
7250: 1x32MB at 0x00000000, using flatmem or sparsemem, always OK
7260: 1x32MB at 0x00000000, 32MB at 0xe0000000, using sparsemem, not OK
anymore (was OK with 2.6.32-rc2)
Hartley: 1x64MB at 0x00000000, using flatmem, OK
Btw Hartley, which board are you using for testing?
I'll check again the meminfo with 2.6.32-rc3, I did it for 2.6.32-rc2
and it showed 8 nodes of 8MB, each at the expected base addresse, as I
didn't change my bootloader I should still get the same result, let's see.
Regards,
Chris
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2009-10-10 15:41 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-10-09 23:16 2.6.32-rc3/sparsemem: kernel BUG at mm/bootmem.c:243 Christian Gagneraud
2009-10-10 0:38 ` H Hartley Sweeten
2009-10-10 9:20 ` Matthieu Crapet
2009-10-10 15:41 ` Christian Gagneraud
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).