sparc: Use common threadinfo allocator
Exaclty the same as the core code. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: David S. Miller <davem@davemloft.net> Link: http://lkml.kernel.org/r/20120505150142.252861878@linutronix.de
This commit is contained in:
parent
c4e26890ff
commit
66bb4cda55
|
@ -138,32 +138,11 @@ register struct thread_info *current_thread_info_reg asm("g6");
|
|||
|
||||
/* thread information allocation */
|
||||
#if PAGE_SHIFT == 13
|
||||
#define __THREAD_INFO_ORDER 1
|
||||
#define THREAD_SIZE_ORDER 1
|
||||
#else /* PAGE_SHIFT == 13 */
|
||||
#define __THREAD_INFO_ORDER 0
|
||||
#define THREAD_SIZE_ORDER 0
|
||||
#endif /* PAGE_SHIFT == 13 */
|
||||
|
||||
#define __HAVE_ARCH_THREAD_INFO_ALLOCATOR
|
||||
|
||||
#ifdef CONFIG_DEBUG_STACK_USAGE
|
||||
#define THREAD_FLAGS (GFP_KERNEL | __GFP_ZERO)
|
||||
#else
|
||||
#define THREAD_FLAGS (GFP_KERNEL)
|
||||
#endif
|
||||
|
||||
#define alloc_thread_info_node(tsk, node) \
|
||||
({ \
|
||||
struct page *page = alloc_pages_node(node, THREAD_FLAGS, \
|
||||
__THREAD_INFO_ORDER); \
|
||||
struct thread_info *ret; \
|
||||
\
|
||||
ret = page ? page_address(page) : NULL; \
|
||||
ret; \
|
||||
})
|
||||
|
||||
#define free_thread_info(ti) \
|
||||
free_pages((unsigned long)(ti),__THREAD_INFO_ORDER)
|
||||
|
||||
#define __thread_flag_byte_ptr(ti) \
|
||||
((unsigned char *)(&((ti)->flags)))
|
||||
#define __cur_thread_flag_byte_ptr __thread_flag_byte_ptr(current_thread_info())
|
||||
|
|
Loading…
Reference in New Issue