Skip to content

Commit

Permalink
fork: Move thread info gfp flags to header
Browse files Browse the repository at this point in the history
These flags can be useful for extra allocations outside of the core
code.

Add __GFP_NOTRACK to them, so the archs which have kmemcheck do
not have to provide extra allocators just for that reason.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/20120505150141.428211694@linutronix.de
  • Loading branch information
Thomas Gleixner committed May 8, 2012
1 parent 6c0a9fa commit 2889f60
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 6 deletions.
6 changes: 6 additions & 0 deletions include/linux/thread_info.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,12 @@ extern long do_no_restart_syscall(struct restart_block *parm);

#ifdef __KERNEL__

#ifdef CONFIG_DEBUG_STACK_USAGE
# define THREADINFO_GFP (GFP_KERNEL | __GFP_NOTRACK | __GFP_ZERO)
#else
# define THREADINFO_GFP (GFP_KERNEL | __GFP_NOTRACK)
#endif

/*
* flag set/clear/test wrappers
* - pass TIF_xxxx constants to these functions
Expand Down
8 changes: 2 additions & 6 deletions kernel/fork.c
Original file line number Diff line number Diff line change
Expand Up @@ -123,12 +123,8 @@ static struct kmem_cache *task_struct_cachep;
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
struct page *page = alloc_pages_node(node, mask, THREAD_SIZE_ORDER);
struct page *page = alloc_pages_node(node, THREADINFO_GFP,
THREAD_SIZE_ORDER);

return page ? page_address(page) : NULL;
}
Expand Down

0 comments on commit 2889f60

Please sign in to comment.