Re: SLUB ia64 linux-next crash bisected to 756dee75

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

 



* Christoph Lameter <cl@xxxxxxxxxxxxxxxxxxxx>:
> On Thu, 14 Jan 2010, Alex Chiang wrote:
> 
> > coffee0:/usr/src/linux-2.6 # addr2line 0xa0000001001add60 -e vmlinux
> > /usr/src/linux-2.6/include/linux/mm.h:543
> >
> >  538 #ifdef NODE_NOT_IN_PAGE_FLAGS
> >  539 extern int page_to_nid(struct page *page);
> >  540 #else
> >  541 static inline int page_to_nid(struct page *page)
> >  542 {
> >  543         return (page->flags >> NODES_PGSHIFT) & NODES_MASK;
> >  544 }
> >  545 #endif
> 
> That may mean that early_kmem_node_alloc gets a screwy page number from
> the page allocator? ????
> 
> Can you print the address of page returned from new_slab() in
> early_kmem_cache_node_alloc()?

diff --git a/mm/slub.c b/mm/slub.c
index 9e86e6b..2909cc4 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -2062,7 +2062,7 @@ init_kmem_cache_node(struct kmem_cache_node *n, struct kme
m_cache *s)
 #endif
 }
 
-static DEFINE_PER_CPU(struct kmem_cache_cpu, kmalloc_percpu[SLUB_PAGE_SHIFT]);
+static DEFINE_PER_CPU(struct kmem_cache_cpu, kmalloc_percpu[KMALLOC_CACHES]);
 
 static inline int alloc_kmem_cache_cpus(struct kmem_cache *s, gfp_t flags)
 {
@@ -2100,6 +2100,7 @@ static void early_kmem_cache_node_alloc(gfp_t gfpflags, in
t node)
        BUG_ON(kmalloc_caches->size < sizeof(struct kmem_cache_node));
 
        page = new_slab(kmalloc_caches, gfpflags, node);
+       printk("page from new_slab() %#llx\n", page);
 
        BUG_ON(!page);
        if (page_to_nid(page) != node) {

Memory: 66849344k/66910528k available (8033k code, 110720k reserved, 10805k data, 1984k init)
page from new_slab() 0xa07fffffff900000
page from new_slab() 0xa07fffffe39000e0
SLUB: Unable to allocate memory from node 2
SLUB: Allocating a useless per node structure in order to be able to continue
SLUB: Genslabs=18, HWalign=128, Order=0-3, MinObjects=0, CPUs=16, Nodes=1024

[...]

Unable to handle kernel paging request at virtual address a07ffffe5a7838a8
modprobe[6043]: Oops 8813272891392 [1]
Modules linked in: sr_mod(+) sg container(+) button usbhid ohci_hcd ehci_hcd usbcore fan thermal processor thermal_sys

Pid: 6043, CPU 9, comm:             modprobe
psr : 0000101008526010 ifs : 8000000000000b1d ip  : [<a0000001001add60>]    Not tainted (2.6.33-rc3-next-20100111-dirty)
ip is at kmem_cache_open+0x420/0xb40

--
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel]     [Sparc Linux]     [DCCP]     [Linux ARM]     [Yosemite News]     [Linux SCSI]     [Linux x86_64]     [Linux for Ham Radio]

  Powered by Linux