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:
@@ -138,32 +138,11 @@ register struct thread_info *current_thread_info_reg asm("g6");
|
|||||||
|
|
||||||
/* thread information allocation */
|
/* thread information allocation */
|
||||||
#if PAGE_SHIFT == 13
|
#if PAGE_SHIFT == 13
|
||||||
#define __THREAD_INFO_ORDER 1
|
#define THREAD_SIZE_ORDER 1
|
||||||
#else /* PAGE_SHIFT == 13 */
|
#else /* PAGE_SHIFT == 13 */
|
||||||
#define __THREAD_INFO_ORDER 0
|
#define THREAD_SIZE_ORDER 0
|
||||||
#endif /* PAGE_SHIFT == 13 */
|
#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) \
|
#define __thread_flag_byte_ptr(ti) \
|
||||||
((unsigned char *)(&((ti)->flags)))
|
((unsigned char *)(&((ti)->flags)))
|
||||||
#define __cur_thread_flag_byte_ptr __thread_flag_byte_ptr(current_thread_info())
|
#define __cur_thread_flag_byte_ptr __thread_flag_byte_ptr(current_thread_info())
|
||||||
|
Reference in New Issue
Block a user