This is a note to let you know that I've just added the patch titled

    [PARISC] set memory ranges in N_NORMAL_MEMORY when onlined

to the 2.6.33-longterm tree which can be found at:
    
http://www.kernel.org/git/?p=linux/kernel/git/longterm/longterm-queue-2.6.33.git;a=summary

The filename of the patch is:
     set-memory-ranges-in-n_normal_memory-when-onlined.patch
and it can be found in the queue-2.6.33 subdirectory.

If you, or anyone else, feels it should not be added to the 2.6.33 longterm 
tree,
please let <[email protected]> know about it.


>From d9b41e0b54fd7e164daf1e9c539c1070398aa02e Mon Sep 17 00:00:00 2001
From: David Rientjes <[email protected]>
Date: Wed, 20 Apr 2011 19:27:13 -0700
Subject: [PARISC] set memory ranges in N_NORMAL_MEMORY when onlined

From: David Rientjes <[email protected]>

commit d9b41e0b54fd7e164daf1e9c539c1070398aa02e upstream.

When a DISCONTIGMEM memory range is brought online as a NUMA node, it
also needs to have its bet set in N_NORMAL_MEMORY.  This is necessary for
generic kernel code that utilizes N_NORMAL_MEMORY as a subset of N_ONLINE
for memory savings.

These types of hacks can hopefully be removed once DISCONTIGMEM is either
removed or abstracted away from CONFIG_NUMA.

Fixes a panic in the slub code which only initializes structures for
N_NORMAL_MEMORY to save memory:

        Backtrace:
         [<000000004021c938>] add_partial+0x28/0x98
         [<000000004021faa0>] __slab_free+0x1d0/0x1d8
         [<000000004021fd04>] kmem_cache_free+0xc4/0x128
         [<000000004033bf9c>] ida_get_new_above+0x21c/0x2c0
         [<00000000402a8980>] sysfs_new_dirent+0xd0/0x238
         [<00000000402a974c>] create_dir+0x5c/0x168
         [<00000000402a9ab0>] sysfs_create_dir+0x98/0x128
         [<000000004033d6c4>] kobject_add_internal+0x114/0x258
         [<000000004033d9ac>] kobject_add_varg+0x7c/0xa0
         [<000000004033df20>] kobject_add+0x50/0x90
         [<000000004033dfb4>] kobject_create_and_add+0x54/0xc8
         [<00000000407862a0>] cgroup_init+0x138/0x1f0
         [<000000004077ce50>] start_kernel+0x5a0/0x840
         [<000000004011fa3c>] start_parisc+0xa4/0xb8
         [<00000000404bb034>] packet_ioctl+0x16c/0x208
         [<000000004049ac30>] ip_mroute_setsockopt+0x260/0xf20

Signed-off-by: David Rientjes <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
 arch/parisc/mm/init.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

--- a/arch/parisc/mm/init.c
+++ b/arch/parisc/mm/init.c
@@ -265,8 +265,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
 
        /*


Patches currently in longterm-queue-2.6.33 which might be from 
[email protected] are

/home/gregkh/linux/longterm/longterm-queue-2.6.33/queue-2.6.33/slub-fix-panic-with-discontigmem.patch
/home/gregkh/linux/longterm/longterm-queue-2.6.33/queue-2.6.33/m68k-mm-set-all-online-nodes-in-n_normal_memory.patch
/home/gregkh/linux/longterm/longterm-queue-2.6.33/queue-2.6.33/set-memory-ranges-in-n_normal_memory-when-onlined.patch

_______________________________________________
stable mailing list
[email protected]
http://linux.kernel.org/mailman/listinfo/stable

Reply via email to