|
@@ -95,12 +95,14 @@ static inline struct thread_info *current_thread_info(void)
|
|
|
|
|
|
/* thread information allocation */
|
|
|
#ifdef CONFIG_DEBUG_STACK_USAGE
|
|
|
-#define alloc_thread_info(tsk) kzalloc(THREAD_SIZE, GFP_KERNEL)
|
|
|
+#define alloc_thread_info(tsk) ((struct thread_info *) \
|
|
|
+ __get_free_pages(GFP_KERNEL| __GFP_ZERO, get_order(THREAD_SIZE)))
|
|
|
#else
|
|
|
-#define alloc_thread_info(tsk) kmalloc(THREAD_SIZE, GFP_KERNEL)
|
|
|
+#define alloc_thread_info(tsk) ((struct thread_info *) \
|
|
|
+ __get_free_pages(GFP_KERNEL, get_order(THREAD_SIZE)))
|
|
|
#endif
|
|
|
|
|
|
-#define free_thread_info(info) kfree(info)
|
|
|
+#define free_thread_info(info) free_pages((unsigned long)(info), get_order(THREAD_SIZE))
|
|
|
|
|
|
#else /* !__ASSEMBLY__ */
|
|
|
|