diff options
author | Eric Dumazet <eric.dumazet@gmail.com> | 2011-03-22 19:30:42 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-03-22 20:44:01 -0400 |
commit | b6a84016bd2598e35ead635147fa53619982648d (patch) | |
tree | a73dc0ef4e353723bf123898f0fc143e587c16d8 /arch/tile | |
parent | 504f52b5439aaf26d3e2c1d45ec10fce38c8dd27 (diff) |
mm: NUMA aware alloc_thread_info_node()
Add a node parameter to alloc_thread_info(), and change its name to
alloc_thread_info_node()
This change is needed to allow NUMA aware kthread_create_on_cpu()
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Acked-by: David S. Miller <davem@davemloft.net>
Reviewed-by: Andi Kleen <ak@linux.intel.com>
Acked-by: Rusty Russell <rusty@rustcorp.com.au>
Cc: Tejun Heo <tj@kernel.org>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Fenghua Yu <fenghua.yu@intel.com>
Cc: David Howells <dhowells@redhat.com>
Cc: <linux-arch@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/tile')
-rw-r--r-- | arch/tile/include/asm/thread_info.h | 2 | ||||
-rw-r--r-- | arch/tile/kernel/process.c | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/arch/tile/include/asm/thread_info.h b/arch/tile/include/asm/thread_info.h index 9e8e9c4dfa2a..3405b52853b8 100644 --- a/arch/tile/include/asm/thread_info.h +++ b/arch/tile/include/asm/thread_info.h | |||
@@ -84,7 +84,7 @@ register unsigned long stack_pointer __asm__("sp"); | |||
84 | ((struct thread_info *)(stack_pointer & -THREAD_SIZE)) | 84 | ((struct thread_info *)(stack_pointer & -THREAD_SIZE)) |
85 | 85 | ||
86 | #define __HAVE_ARCH_THREAD_INFO_ALLOCATOR | 86 | #define __HAVE_ARCH_THREAD_INFO_ALLOCATOR |
87 | extern struct thread_info *alloc_thread_info(struct task_struct *task); | 87 | extern struct thread_info *alloc_thread_info_node(struct task_struct *task, int node); |
88 | extern void free_thread_info(struct thread_info *info); | 88 | extern void free_thread_info(struct thread_info *info); |
89 | 89 | ||
90 | /* Sit on a nap instruction until interrupted. */ | 90 | /* Sit on a nap instruction until interrupted. */ |
diff --git a/arch/tile/kernel/process.c b/arch/tile/kernel/process.c index b9cd962e1d30..d0065103eb7b 100644 --- a/arch/tile/kernel/process.c +++ b/arch/tile/kernel/process.c | |||
@@ -109,7 +109,7 @@ void cpu_idle(void) | |||
109 | } | 109 | } |
110 | } | 110 | } |
111 | 111 | ||
112 | struct thread_info *alloc_thread_info(struct task_struct *task) | 112 | struct thread_info *alloc_thread_info_node(struct task_struct *task, int node) |
113 | { | 113 | { |
114 | struct page *page; | 114 | struct page *page; |
115 | gfp_t flags = GFP_KERNEL; | 115 | gfp_t flags = GFP_KERNEL; |
@@ -118,7 +118,7 @@ struct thread_info *alloc_thread_info(struct task_struct *task) | |||
118 | flags |= __GFP_ZERO; | 118 | flags |= __GFP_ZERO; |
119 | #endif | 119 | #endif |
120 | 120 | ||
121 | page = alloc_pages(flags, THREAD_SIZE_ORDER); | 121 | page = alloc_pages_node(node, flags, THREAD_SIZE_ORDER); |
122 | if (!page) | 122 | if (!page) |
123 | return NULL; | 123 | return NULL; |
124 | 124 | ||