diff options
Diffstat (limited to 'include/asm-powerpc/thread_info.h')
| -rw-r--r-- | include/asm-powerpc/thread_info.h | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/include/asm-powerpc/thread_info.h b/include/asm-powerpc/thread_info.h index ab17db79f69d..e525f49bd179 100644 --- a/include/asm-powerpc/thread_info.h +++ b/include/asm-powerpc/thread_info.h | |||
| @@ -65,23 +65,27 @@ struct thread_info { | |||
| 65 | 65 | ||
| 66 | /* thread information allocation */ | 66 | /* thread information allocation */ |
| 67 | 67 | ||
| 68 | #ifdef CONFIG_DEBUG_STACK_USAGE | ||
| 69 | #define THREAD_INFO_GFP GFP_KERNEL | __GFP_ZERO | ||
| 70 | #else | ||
| 71 | #define THREAD_INFO_GFP GFP_KERNEL | ||
| 72 | #endif | ||
| 73 | |||
| 74 | #if THREAD_SHIFT >= PAGE_SHIFT | 68 | #if THREAD_SHIFT >= PAGE_SHIFT |
| 75 | 69 | ||
| 76 | #define THREAD_ORDER (THREAD_SHIFT - PAGE_SHIFT) | 70 | #define THREAD_ORDER (THREAD_SHIFT - PAGE_SHIFT) |
| 77 | 71 | ||
| 72 | #ifdef CONFIG_DEBUG_STACK_USAGE | ||
| 78 | #define alloc_thread_info(tsk) \ | 73 | #define alloc_thread_info(tsk) \ |
| 79 | ((struct thread_info *)__get_free_pages(THREAD_INFO_GFP, THREAD_ORDER)) | 74 | ((struct thread_info *)__get_free_pages(GFP_KERNEL | \ |
| 75 | __GFP_ZERO, THREAD_ORDER)) | ||
| 76 | #else | ||
| 77 | #define alloc_thread_info(tsk) \ | ||
| 78 | ((struct thread_info *)__get_free_pages(GFP_KERNEL, THREAD_ORDER)) | ||
| 79 | #endif | ||
| 80 | #define free_thread_info(ti) free_pages((unsigned long)ti, THREAD_ORDER) | 80 | #define free_thread_info(ti) free_pages((unsigned long)ti, THREAD_ORDER) |
| 81 | 81 | ||
| 82 | #else /* THREAD_SHIFT < PAGE_SHIFT */ | 82 | #else /* THREAD_SHIFT < PAGE_SHIFT */ |
| 83 | 83 | ||
| 84 | #define alloc_thread_info(tsk) kmalloc(THREAD_SIZE, THREAD_INFO_GFP) | 84 | #ifdef CONFIG_DEBUG_STACK_USAGE |
| 85 | #define alloc_thread_info(tsk) kzalloc(THREAD_SIZE, GFP_KERNEL) | ||
| 86 | #else | ||
| 87 | #define alloc_thread_info(tsk) kmalloc(THREAD_SIZE, GFP_KERNEL) | ||
| 88 | #endif | ||
| 85 | #define free_thread_info(ti) kfree(ti) | 89 | #define free_thread_info(ti) kfree(ti) |
| 86 | 90 | ||
| 87 | #endif /* THREAD_SHIFT < PAGE_SHIFT */ | 91 | #endif /* THREAD_SHIFT < PAGE_SHIFT */ |
