Re: BUG: enable_cpucache failed for radix_tree_node, error 12 (was: Re: [PATCH v3 9/9] slab: remove BAD_ALIEN_MAGIC)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Aug 07, 2014 at 10:03:09PM +0900, Joonsoo Kim wrote:
> 2014-08-07 21:53 GMT+09:00 Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>:
> > Hi,
> >
> > On Thu, Aug 7, 2014 at 2:36 PM, Joonsoo Kim <js1304@xxxxxxxxx> wrote:
> >>> With latest mainline, I'm getting a crash during bootup on m68k/ARAnyM:
> >>>
> >>> enable_cpucache failed for radix_tree_node, error 12.
> >>> kernel BUG at /scratch/geert/linux/linux-m68k/mm/slab.c:1522!
> >
> >>> I bisected it to commit a640616822b2c3a8009b0600f20c4a76ea8a0025
> >>> Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>
> >>> Date:   Wed Aug 6 16:04:38 2014 -0700
> >>>
> >>>     slab: remove BAD_ALIEN_MAGIC
> >
> >> This patch only works for !NUMA. And if num_possible_nodes() is 1,
> >> then it doesn't have any effect, because alloc_alien_cache() call is always
> >> skipped. Is it possible !NUMA and num_possible_nodes() != 1?
> >>
> >> Could you check your config for CONFIG_NUMA and
> >> CONFIG_NODES_SHIFT?
> >
> > $ grep CONFIG_NUMA .config
> > $ grep CONFIG_NODES_SHIFT .config
> > CONFIG_NODES_SHIFT=3
> > $
> >
> > There are indeed multiple nodes:
> >
> > On node 0 totalpages: 3584
> > free_area_init_node: node 0, pgdat 003659a4, node_mem_map 00402000
> >   DMA zone: 32 pages used for memmap
> >   DMA zone: 0 pages reserved
> >   DMA zone: 3584 pages, LIFO batch:0
> > On node 1 totalpages: 65536
> > free_area_init_node: node 1, pgdat 00366294, node_mem_map 00426090
> >   DMA zone: 576 pages used for memmap
> >   DMA zone: 0 pages reserved
> >   DMA zone: 65536 pages, LIFO batch:15
> >
> >> And, could you check booting with boot param "noaliencache"?
> >
> > That fixes the boot, too.
> 
> Ah... I don't know it can be possible to be !CONFIG_NUMA and
> CONFIG_NODES_SHIFT > 0 until now. If so, I should revert this patch.
> 
> After some more investigation, I will revert this patch tomorrow and
> notify you.
> 
> Thanks for reporting!!! :)

Hello,

Just for curiosity.

Could you show me your full dmesg on boot-up?
What I want to know is nodes-cpus mapping.

I looked at SLAB code and found that SLAB works fine only if
numa_mem_id() always returns 0. I guess that this is the case for
!CONFIG_NUMA, so your system would work fine.

And, I looked at SLUB code and found that SLUB works fine only if
page_to_nid(page) always return 0 for this !CONFIG_NUMA and many nodes
case. If not, some memory could be leak, I guess. 

If possible, could you check whether page_to_nid(page) returns
only 0 or not?

Thanks.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]