On Wed, 20 Apr 2011, James Bottomley wrote: > [ 0.200000] Backtrace: > [ 0.200000] [<000000004021c938>] add_partial+0x28/0x98 > [ 0.200000] [<000000004021faa0>] __slab_free+0x1d0/0x1d8 > [ 0.200000] [<000000004021fd04>] kmem_cache_free+0xc4/0x128 > [ 0.200000] [<000000004033bf9c>] ida_get_new_above+0x21c/0x2c0 > [ 0.200000] [<00000000402a8980>] sysfs_new_dirent+0xd0/0x238 > [ 0.200000] [<00000000402a974c>] create_dir+0x5c/0x168 > [ 0.200000] [<00000000402a9ab0>] sysfs_create_dir+0x98/0x128 > [ 0.200000] [<000000004033d6c4>] kobject_add_internal+0x114/0x258 > [ 0.200000] [<000000004033d9ac>] kobject_add_varg+0x7c/0xa0 > [ 0.200000] [<000000004033df20>] kobject_add+0x50/0x90 > [ 0.200000] [<000000004033dfb4>] kobject_create_and_add+0x54/0xc8 > [ 0.200000] [<00000000407862a0>] cgroup_init+0x138/0x1f0 > [ 0.200000] [<000000004077ce50>] start_kernel+0x5a0/0x840 > [ 0.200000] [<000000004011fa3c>] start_parisc+0xa4/0xb8 > [ 0.200000] [<00000000404bb034>] packet_ioctl+0x16c/0x208 > [ 0.200000] [<000000004049ac30>] ip_mroute_setsockopt+0x260/0xf20 > [ 0.200000] This is probably because the parisc's DISCONTIGMEM memory ranges don't have bits set in N_NORMAL_MEMORY. diff --git a/arch/parisc/mm/init.c b/arch/parisc/mm/init.c --- a/arch/parisc/mm/init.c +++ b/arch/parisc/mm/init.c @@ -266,8 +266,10 @@ static void __init setup_bootmem(void) } memset(pfnnid_map, 0xff, sizeof(pfnnid_map)); - for (i = 0; i < npmem_ranges; i++) + for (i = 0; i < npmem_ranges; i++) { + node_set_state(i, N_NORMAL_MEMORY); node_set_online(i); + } #endif /* -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>