You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
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>
This commit is contained in:
committed by
Linus Torvalds
parent
504f52b543
commit
b6a84016bd
+6
-3
@@ -117,14 +117,17 @@ static struct kmem_cache *task_struct_cachep;
|
||||
#endif
|
||||
|
||||
#ifndef __HAVE_ARCH_THREAD_INFO_ALLOCATOR
|
||||
static inline struct thread_info *alloc_thread_info(struct task_struct *tsk)
|
||||
static struct thread_info *alloc_thread_info_node(struct task_struct *tsk,
|
||||
int node)
|
||||
{
|
||||
#ifdef CONFIG_DEBUG_STACK_USAGE
|
||||
gfp_t mask = GFP_KERNEL | __GFP_ZERO;
|
||||
#else
|
||||
gfp_t mask = GFP_KERNEL;
|
||||
#endif
|
||||
return (struct thread_info *)__get_free_pages(mask, THREAD_SIZE_ORDER);
|
||||
struct page *page = alloc_pages_node(node, mask, THREAD_SIZE_ORDER);
|
||||
|
||||
return page ? page_address(page) : NULL;
|
||||
}
|
||||
|
||||
static inline void free_thread_info(struct thread_info *ti)
|
||||
@@ -260,7 +263,7 @@ static struct task_struct *dup_task_struct(struct task_struct *orig)
|
||||
if (!tsk)
|
||||
return NULL;
|
||||
|
||||
ti = alloc_thread_info(tsk);
|
||||
ti = alloc_thread_info_node(tsk, node);
|
||||
if (!ti) {
|
||||
free_task_struct(tsk);
|
||||
return NULL;
|
||||
|
||||
Reference in New Issue
Block a user