lkml.org 
[lkml]   [2012]   [May]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch 18/18] task_allocator: Use config switches instead of magic defines
    Replace __HAVE_ARCH_TASK_ALLOCATOR and __HAVE_ARCH_THREAD_ALLOCATOR
    with proper config switches.

    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: Sam Ravnborg <sam@ravnborg.org>
    Cc: Tony Luck <tony.luck@intel.com>
    ---
    arch/Kconfig | 8 ++++++++
    arch/ia64/Kconfig | 2 ++
    arch/ia64/include/asm/thread_info.h | 3 ---
    arch/sparc/Kconfig | 1 +
    arch/sparc/include/asm/thread_info_32.h | 2 --
    kernel/fork.c | 7 +++----
    6 files changed, 14 insertions(+), 9 deletions(-)

    Index: tip/arch/Kconfig
    ===================================================================
    --- tip.orig/arch/Kconfig
    +++ tip/arch/Kconfig
    @@ -152,6 +152,14 @@ config GENERIC_SMP_IDLE_THREAD
    config ARCH_INIT_TASK
    bool

    +# Select if arch has its private alloc_task_struct() function
    +config ARCH_TASK_STRUCT_ALLOCATOR
    + bool
    +
    +# Select if arch has its private alloc_thread_info() function
    +config ARCH_THREAD_INFO_ALLOCATOR
    + bool
    +
    config HAVE_REGS_AND_STACK_ACCESS_API
    bool
    help
    Index: tip/arch/ia64/Kconfig
    ===================================================================
    --- tip.orig/arch/ia64/Kconfig
    +++ tip/arch/ia64/Kconfig
    @@ -35,6 +35,8 @@ config IA64
    select GENERIC_IOMAP
    select GENERIC_SMP_IDLE_THREAD
    select ARCH_INIT_TASK
    + select ARCH_TASK_STRUCT_ALLOCATOR
    + select ARCH_THREAD_INFO_ALLOCATOR
    default y
    help
    The Itanium Processor Family is Intel's 64-bit successor to
    Index: tip/arch/ia64/include/asm/thread_info.h
    ===================================================================
    --- tip.orig/arch/ia64/include/asm/thread_info.h
    +++ tip/arch/ia64/include/asm/thread_info.h
    @@ -54,8 +54,6 @@ struct thread_info {
    }, \
    }

    -#define __HAVE_ARCH_THREAD_INFO_ALLOCATOR
    -
    #ifndef ASM_OFFSETS_C
    /* how to get the thread information struct from C */
    #define current_thread_info() ((struct thread_info *) ((char *) current + IA64_TASK_SIZE))
    @@ -84,7 +82,6 @@ struct thread_info {
    #endif
    #define end_of_stack(p) (unsigned long *)((void *)(p) + IA64_RBS_OFFSET)

    -#define __HAVE_ARCH_TASK_STRUCT_ALLOCATOR
    #define alloc_task_struct_node(node) \
    ({ \
    struct page *page = alloc_pages_node(node, GFP_KERNEL | __GFP_COMP, \
    Index: tip/arch/sparc/Kconfig
    ===================================================================
    --- tip.orig/arch/sparc/Kconfig
    +++ tip/arch/sparc/Kconfig
    @@ -36,6 +36,7 @@ config SPARC32
    def_bool !64BIT
    select GENERIC_ATOMIC64
    select CLZ_TAB
    + select ARCH_THREAD_INFO_ALLOCATOR

    config SPARC64
    def_bool 64BIT
    Index: tip/arch/sparc/include/asm/thread_info_32.h
    ===================================================================
    --- tip.orig/arch/sparc/include/asm/thread_info_32.h
    +++ tip/arch/sparc/include/asm/thread_info_32.h
    @@ -80,8 +80,6 @@ register struct thread_info *current_thr
    */
    #define THREAD_INFO_ORDER 1

    -#define __HAVE_ARCH_THREAD_INFO_ALLOCATOR
    -
    BTFIXUPDEF_CALL(struct thread_info *, alloc_thread_info_node, int)
    #define alloc_thread_info_node(tsk, node) BTFIXUP_CALL(alloc_thread_info_node)(node)

    Index: tip/kernel/fork.c
    ===================================================================
    --- tip.orig/kernel/fork.c
    +++ tip/kernel/fork.c
    @@ -111,7 +111,7 @@ int nr_processes(void)
    return total;
    }

    -#ifndef __HAVE_ARCH_TASK_STRUCT_ALLOCATOR
    +#ifndef CONFIG_ARCH_TASK_STRUCT_ALLOCATOR
    static struct kmem_cache *task_struct_cachep;

    static inline struct task_struct *alloc_task_struct_node(int node)
    @@ -128,8 +128,7 @@ static inline void free_task_struct(stru
    }
    #endif

    -#ifndef __HAVE_ARCH_THREAD_INFO_ALLOCATOR
    -
    +#ifndef CONFIG_ARCH_THREAD_INFO_ALLOCATOR
    void __weak arch_release_thread_info(struct thread_info *ti) { }

    /*
    @@ -243,7 +242,7 @@ void __init __weak arch_task_cache_init(

    void __init fork_init(unsigned long mempages)
    {
    -#ifndef __HAVE_ARCH_TASK_STRUCT_ALLOCATOR
    +#ifndef CONFIG_ARCH_TASK_STRUCT_ALLOCATOR
    #ifndef ARCH_MIN_TASKALIGN
    #define ARCH_MIN_TASKALIGN L1_CACHE_BYTES
    #endif



    \
     
     \ /
      Last update: 2012-05-05 17:21    [W:0.026 / U:0.488 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site