init_task: Use a generic init_task variant
Subsystems (18)
v2 cover init_task: Use a generic init_task variant
All architectures do roughly the same to initialize init_task. The only architecture which deviates is ia64 as it allocates task_struct and thread_info together.
Move the common code to init/init_task.c and remove all the redundant copies.
Difference to V1:
- FRV updates
- left IA64 alone
- Score/Sparc corrections
- Picked up Acked-bys
Thanks,
tglx
arch/alpha/kernel/init_task.c | 17 ------- arch/arm/kernel/init_task.c | 37 ---------------- arch/avr32/kernel/init_task.c | 31 -------------- arch/blackfin/kernel/init_task.c | 32 -------------- arch/frv/kernel/init_task.c | 32 -------------- arch/h8300/kernel/init_task.c | 36 ---------------- arch/hexagon/kernel/init_task.c | 54 ------------------------ arch/m32r/kernel/init_task.c | 34 --------------- arch/m68k/kernel/init_task.c | 35 ---------------- arch/microblaze/kernel/init_task.c | 26 ----------- arch/mips/kernel/init_task.c | 35 ---------------- arch/mn10300/kernel/init_task.c | 39 ----------------- arch/openrisc/kernel/init_task.c | 42 ------------------- arch/parisc/kernel/init_task.c | 70 -------------------------------- arch/powerpc/kernel/init_task.c | 29 ------------- arch/s390/kernel/init_task.c | 38 ----------------- arch/score/kernel/init_task.c | 46 --------------------- arch/sh/kernel/init_task.c | 30 ------------- arch/sparc/kernel/init_task.c | 22 ---------- arch/tile/kernel/init_task.c | 59 -------------------------- arch/um/kernel/init_task.c | 38 ----------------- arch/unicore32/kernel/init_task.c | 44 -------------------- arch/x86/kernel/init_task.c | 42 ------------------- arch/xtensa/kernel/init_task.c | 31 -------------- tip/arch/Kconfig | 9 ++++ tip/arch/alpha/kernel/Makefile | 2 tip/arch/arm/Makefile | 2 tip/arch/arm/kernel/Makefile | 2 tip/arch/avr32/kernel/Makefile | 2 tip/arch/blackfin/Makefile | 2 tip/arch/blackfin/kernel/Makefile | 2 tip/arch/c6x/kernel/process.c | 16 ------- tip/arch/cris/kernel/process.c | 28 ------------ tip/arch/frv/Kconfig | 1 tip/arch/frv/Makefile | 2 tip/arch/frv/include/asm/thread_info.h | 4 - tip/arch/frv/kernel/Makefile | 2 tip/arch/frv/kernel/process.c | 15 ------ tip/arch/h8300/kernel/Makefile | 2 tip/arch/hexagon/Makefile | 3 - tip/arch/hexagon/kernel/Makefile | 2 tip/arch/ia64/Kconfig | 3 + tip/arch/ia64/include/asm/thread_info.h | 3 - tip/arch/m32r/Makefile | 2 tip/arch/m32r/kernel/Makefile | 2 tip/arch/m68k/kernel/Makefile | 2 tip/arch/microblaze/kernel/Makefile | 2 tip/arch/mips/Makefile | 2 tip/arch/mips/kernel/Makefile | 2 tip/arch/mips/kernel/vmlinux.lds.S | 2 tip/arch/mn10300/Makefile | 2 tip/arch/mn10300/kernel/Makefile | 2 tip/arch/openrisc/Makefile | 2 tip/arch/openrisc/kernel/Makefile | 2 tip/arch/parisc/mm/init.c | 12 +++++ tip/arch/powerpc/kernel/Makefile | 2 tip/arch/s390/Makefile | 1 tip/arch/s390/kernel/Makefile | 2 tip/arch/score/kernel/Makefile | 2 tip/arch/sh/Makefile | 2 tip/arch/sh/kernel/Makefile | 2 tip/arch/sparc/Makefile | 1 tip/arch/sparc/kernel/Makefile | 1 tip/arch/tile/kernel/Makefile | 2 tip/arch/tile/kernel/setup.c | 16 +++++++ tip/arch/um/kernel/Makefile | 2 tip/arch/um/kernel/um_arch.c | 5 ++ tip/arch/unicore32/Makefile | 1 tip/arch/unicore32/kernel/Makefile | 2 tip/arch/x86/Makefile | 1 tip/arch/x86/kernel/Makefile | 2 tip/arch/x86/kernel/process.c | 9 ++++ tip/arch/xtensa/kernel/Makefile | 2 tip/init/Makefile | 4 + tip/init/init_task.c | 24 ++++++++++ tip/kernel/fork.c | 6 +- tip/kernel/sched/Makefile | 2 77 files changed, 117 insertions(+), 1009 deletions(-)
PATCH v2 1/31 frv: Use correct size for task_struct allocation
alloc_task_struct_node() allocates THREAD_SIZE and maintains some weird refcount in the allocated memory. This never blew up as task_struct size on 32bit machines was always less than THREAD_SIZE
Allocate just sizeof(struct task_struct) and get rid of the magic refcounting.
--- arch/frv/kernel/process.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-)
arch/frv/kernel/process.c +2 -7
@@ -45,17 +45,12 @@ EXPORT_SYMBOL(pm_power_off);struct task_struct *alloc_task_struct_node (int node) { -struct task_struct *p =kmalloc_node (THREAD_SIZE ,GFP_KERNEL , node); - -if (p) -atomic_set ((atomic_t *)(p+1 ),1 ); -return p; +return kmalloc_node (sizeof (task_struct),GFP_KERNEL , node); }void free_task_struct (struct task_struct *p) { -if (atomic_dec_and_test ((atomic_t *)(p+1 ))) -kfree (p); +kfree (p); }static void core_sleep_idle (void )
[tip:smp/hotplug] frv: Use correct size for task_struct allocation
Commit-ID: cce4517f33384c3794c759e206cc8e1bb6df146b Gitweb: http://git.kernel.org/tip/cce4517f33384c3794c759e206cc8e1bb6df146b Author: Thomas Gleixner <[email protected]> AuthorDate: Thu, 3 May 2012 09:02:47 +0000 Committer: Thomas Gleixner <[email protected]> CommitDate: Sat, 5 May 2012 13:00:21 +0200
frv: Use correct size for task_struct allocation
alloc_task_struct_node() allocates THREAD_SIZE and maintains some weird refcount in the allocated memory. This never blew up as task_struct size on 32bit machines was always less than THREAD_SIZE
Allocate just sizeof(struct task_struct) and get rid of the magic refcounting.
--- arch/frv/kernel/process.c | 9 ++------- 1 files changed, 2 insertions(+), 7 deletions(-)
arch/frv/kernel/process.c +2 -7
@@ -45,17 +45,12 @@ EXPORT_SYMBOL(pm_power_off);struct task_struct *alloc_task_struct_node (int node) { -struct task_struct *p =kmalloc_node (THREAD_SIZE ,GFP_KERNEL , node); - -if (p) -atomic_set ((atomic_t *)(p+1 ),1 ); -return p; +return kmalloc_node (sizeof (task_struct),GFP_KERNEL , node); }void free_task_struct (struct task_struct *p) { -if (atomic_dec_and_test ((atomic_t *)(p+1 ))) -kfree (p); +kfree (p); }static void core_sleep_idle (void )
PATCH v2 2/31 frv: Use core allocator for task_struct
In reply to Thomas GleixnerThere is no point having a copy of the core allocator.
--- arch/frv/include/asm/thread_info.h | 2 -- arch/frv/kernel/process.c | 10 ---------- 2 files changed, 12 deletions(-)
arch/frv/include/asm/thread_info.h +0 -2
@@ -21,8 +21,6 @@#define THREAD_SIZE 8192 -#define __HAVE_ARCH_TASK_STRUCT_ALLOCATOR -/* * low level task data that entry.S needs immediate access to * - this struct should fit entirely inside of one cache line
arch/frv/kernel/process.c +0 -10
@@ -43,16 +43,6 @@ asmlinkage void ret_from_fork(void);void (*pm_power_off)(void );EXPORT_SYMBOL (pm_power_off); -struct task_struct *alloc_task_struct_node (int node) -{ -return kmalloc_node (sizeof (task_struct),GFP_KERNEL , node); -} - -void free_task_struct (struct task_struct *p) -{ -kfree (p); -} -static void core_sleep_idle (void ) {#ifdef LED_DEBUG_SLEEP
Re: [patch V2 02/31] frv: Use core allocator for task_struct
On the patches you directed my way:
[tip:smp/hotplug] frv: Use core allocator for task_struct
In reply to Thomas GleixnerCommit-ID: c6ae063aaf3786b9db7f19a90bf4ed8aaebb7f90 Gitweb: http://git.kernel.org/tip/c6ae063aaf3786b9db7f19a90bf4ed8aaebb7f90 Author: Thomas Gleixner <[email protected]> AuthorDate: Thu, 3 May 2012 09:02:47 +0000 Committer: Thomas Gleixner <[email protected]> CommitDate: Sat, 5 May 2012 13:00:21 +0200
frv: Use core allocator for task_struct
There is no point having a copy of the core allocator.
--- arch/frv/include/asm/thread_info.h | 2 -- arch/frv/kernel/process.c | 10 ---------- 2 files changed, 0 insertions(+), 12 deletions(-)
arch/frv/include/asm/thread_info.h +0 -2
@@ -21,8 +21,6 @@#define THREAD_SIZE 8192 -#define __HAVE_ARCH_TASK_STRUCT_ALLOCATOR -/* * low level task data that entry.S needs immediate access to * - this struct should fit entirely inside of one cache line
arch/frv/kernel/process.c +0 -10
@@ -43,16 +43,6 @@ asmlinkage void ret_from_fork(void);void (*pm_power_off)(void );EXPORT_SYMBOL (pm_power_off); -struct task_struct *alloc_task_struct_node (int node) -{ -return kmalloc_node (sizeof (task_struct),GFP_KERNEL , node); -} - -void free_task_struct (struct task_struct *p) -{ -kfree (p); -} -static void core_sleep_idle (void ) {#ifdef LED_DEBUG_SLEEP
PATCH v2 3/31 task_allocator: Use config switches instead of magic defines
In reply to Thomas GleixnerReplace __HAVE_ARCH_TASK_ALLOCATOR and __HAVE_ARCH_THREAD_ALLOCATOR with proper config switches.
--- arch/Kconfig | 6 ++++++ arch/frv/Kconfig | 1 + arch/frv/include/asm/thread_info.h | 2 -- arch/ia64/Kconfig | 2 ++ arch/ia64/include/asm/thread_info.h | 3 --- kernel/fork.c | 6 +++--- 6 files changed, 12 insertions(+), 8 deletions(-)
arch/Kconfig +6 -0
@@ -219,4 +219,10 @@ config HAVE_CMPXCHG_DOUBLE config ARCH_WANT_OLD_COMPAT_IPC bool +config ARCH_TASK_STRUCT_ALLOCATOR + bool + +config ARCH_THREAD_INFO_ALLOCATOR + bool + source "kernel/gcov/Kconfig"
arch/frv/Kconfig +1 -0
@@ -9,6 +9,7 @@ config FRV select GENERIC_IRQ_SHOW select ARCH_HAVE_NMI_SAFE_CMPXCHG select GENERIC_CPU_DEVICES + select ARCH_THREAD_INFO_ALLOCATOR config ZONE_DMA bool
arch/frv/include/asm/thread_info.h +0 -2
@@ -80,8 +80,6 @@ register struct thread_info *__current_t#define current_thread_info () ({ __current_thread_info; }) -#define __HAVE_ARCH_THREAD_INFO_ALLOCATOR -/* thread information allocation */ #ifdef CONFIG_DEBUG_STACK_USAGE #define alloc_thread_info_node (tsk, node) \
arch/ia64/Kconfig +2 -0
@@ -34,6 +34,8 @@ config IA64 select ARCH_HAVE_NMI_SAFE_CMPXCHG select GENERIC_IOMAP select GENERIC_SMP_IDLE_THREAD + select ARCH_TASK_STRUCT_ALLOCATOR + select ARCH_THREAD_INFO_ALLOCATOR default y help The Itanium Processor Family is Intel's 64-bit successor to
arch/ia64/include/asm/thread_info.h +0 -3
@@ -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, \
kernel/fork.c +3 -3
@@ -111,7 +111,7 @@ int nr_processes(void)return total; } -#ifndef __HAVE_ARCH_TASK_STRUCT_ALLOCATOR +#ifndef CONFIG_ARCH_TASK_STRUCT_ALLOCATOR # define alloc_task_struct_node (node) \ kmem_cache_alloc_node(task_struct_cachep, GFP_KERNEL, node)# define free_task_struct (tsk) \
@@ -119,7 +119,7 @@ int nr_processes(void)static struct kmem_cache *task_struct_cachep;#endif -#ifndef __HAVE_ARCH_THREAD_INFO_ALLOCATOR +#ifndef CONFIG_ARCH_THREAD_INFO_ALLOCATOR static struct thread_info *alloc_thread_info_node (struct task_struct *tsk,int node) {
@@ -213,7 +213,7 @@ EXPORT_SYMBOL_GPL(__put_task_struct);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
Re: [patch V2 03/31] task_allocator: Use config switches instead of magic defines
arch/Kconfig config HAVE_CMPXCHG_DOUBLE · line 226
Quoted 5 lines · Thomas Gleixner
arch/Kconfig +5
-0+config ARCH_TASK_STRUCT_ALLOCATOR + bool + +config ARCH_THREAD_INFO_ALLOCATOR + bool
With comments saying what they mean...
David
Re: [patch V2 03/31] task_allocator: Use config switches instead of magic defines
Quoted 9 lines · David Howells
arch/Kconfig config HAVE_CMPXCHG_DOUBLE · line 226
Quoted 5 lines · Thomas Gleixner
arch/Kconfig +5
-0+config ARCH_TASK_STRUCT_ALLOCATOR + bool + +config ARCH_THREAD_INFO_ALLOCATOR + boolWith comments saying what they mean...
Right. I dropped that patch anyway as it's incomplete. Next series will have it proper.
Thanks,
tglx
PATCH v2 4/31 init_task: Create generic init_task instance
In reply to Thomas GleixnerAll archs define init_task in the same way (except ia64, but there is no particular reason why ia64 cannot use the common version). Create a generic instance so all archs can be converted over.
The config switch is temporary and will be removed when all archs are converted over.
--- arch/Kconfig | 3 +++ init/Makefile | 1 + init/init_task.c | 24 ++++++++++++++++++++++++ kernel/sched/Makefile | 2 -- 4 files changed, 28 insertions(+), 2 deletions(-)
arch/Kconfig +3 -0
@@ -148,6 +148,9 @@ config USE_GENERIC_SMP_HELPERS config GENERIC_SMP_IDLE_THREAD bool +config HAVE_GENERIC_INIT_TASK + bool + config HAVE_REGS_AND_STACK_ACCESS_API bool help
init/Makefile +1 -0
@@ -9,6 +9,7 @@ else obj-$(CONFIG_BLK_DEV_INITRD) += initramfs.o endif obj-$(CONFIG_GENERIC_CALIBRATE_DELAY) += calibrate.o +obj-$(CONFIG_HAVE_GENERIC_INIT_TASK) += init_task.o mounts-y := do_mounts.o mounts-$(CONFIG_BLK_DEV_RAM) += do_mounts_rd.o
init/init_task.c new file +24 -0
@@ -0,0 +1,24 @@ +#include <linux/init_task.h> +#include <linux/module.h> +#include <linux/mqueue.h> +#include <linux/sched.h> +#include <linux/init.h> +#include <linux/fs.h> +#include <linux/mm.h> + +#include <asm/pgtable.h> +#include <asm/uaccess.h> + +static struct signal_struct init_signals =INIT_SIGNALS (init_signals); +static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); + +/* Initial task structure */ +struct task_struct init_task =INIT_TASK (init_task); +EXPORT_SYMBOL (init_task); + +/* +* Initial thread structure. Alignment of this is handled by a special +* linker map entry. +*/ +union thread_union init_thread_union __init_task_data = + {INIT_THREAD_INFO (init_task) };
kernel/sched/Makefile +0 -2
@@ -16,5 +16,3 @@ obj-$(CONFIG_SMP) += cpupri.o obj-$(CONFIG_SCHED_AUTOGROUP) += auto_group.o obj-$(CONFIG_SCHEDSTATS) += stats.o obj-$(CONFIG_SCHED_DEBUG) += debug.o - -
[tip:smp/hotplug] init_task: Create generic init_task instance
Commit-ID: a4a2eb490e38aaff61eafcb8cde6725ad1be22ab Gitweb: http://git.kernel.org/tip/a4a2eb490e38aaff61eafcb8cde6725ad1be22ab Author: Thomas Gleixner <[email protected]> AuthorDate: Thu, 3 May 2012 09:02:48 +0000 Committer: Thomas Gleixner <[email protected]> CommitDate: Sat, 5 May 2012 13:00:21 +0200
init_task: Create generic init_task instance
All archs define init_task in the same way (except ia64, but there is no particular reason why ia64 cannot use the common version). Create a generic instance so all archs can be converted over.
The config switch is temporary and will be removed when all archs are converted over.
---
arch/Kconfig | 3 +++
init/Makefile | 1 +
{arch/alpha/kernel => init}/init_task.c | 17 ++++++++++++-----
kernel/sched/Makefile | 2 --
4 files changed, 16 insertions(+), 7 deletions(-)arch/Kconfig +3 -0
@@ -148,6 +148,9 @@ config USE_GENERIC_SMP_HELPERS config GENERIC_SMP_IDLE_THREAD bool +config HAVE_GENERIC_INIT_TASK + bool + config HAVE_REGS_AND_STACK_ACCESS_API bool help
init/Makefile +1 -0
@@ -9,6 +9,7 @@ else obj-$(CONFIG_BLK_DEV_INITRD) += initramfs.o endif obj-$(CONFIG_GENERIC_CALIBRATE_DELAY) += calibrate.o +obj-$(CONFIG_HAVE_GENERIC_INIT_TASK) += init_task.o mounts-y := do_mounts.o mounts-$(CONFIG_BLK_DEV_RAM) += do_mounts_rd.o
init/init_task.c renamed from arch/alpha/kernel/init_task.c +12 -5
@@ -1,17 +1,24 @@ -#include <linux/mm.h> -#include <linux/module.h> +#include <linux/init_task.h> +#include <linux/export.h> +#include <linux/mqueue.h> #include <linux/sched.h> #include <linux/init.h> -#include <linux/init_task.h> #include <linux/fs.h> -#include <linux/mqueue.h> -#include <asm/uaccess.h> +#include <linux/mm.h> +#include <asm/pgtable.h> +#include <asm/uaccess.h> static struct signal_struct init_signals =INIT_SIGNALS (init_signals);static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); + +/* Initial task structure */ struct task_struct init_task =INIT_TASK (init_task);EXPORT_SYMBOL (init_task); +/* +* Initial thread structure. Alignment of this is handled by a special +* linker map entry. +*/ union thread_union init_thread_union __init_task_data = {INIT_THREAD_INFO (init_task) };
kernel/sched/Makefile +0 -2
@@ -16,5 +16,3 @@ obj-$(CONFIG_SMP) += cpupri.o obj-$(CONFIG_SCHED_AUTOGROUP) += auto_group.o obj-$(CONFIG_SCHEDSTATS) += stats.o obj-$(CONFIG_SCHED_DEBUG) += debug.o - -
PATCH v2 5/31 alpha: Use generic init_task
In reply to Thomas GleixnerIdentical code. Use the generic version.
--- arch/alpha/Kconfig | 1 + arch/alpha/kernel/Makefile | 2 +- arch/alpha/kernel/init_task.c | 17 ----------------- 3 files changed, 2 insertions(+), 18 deletions(-)
arch/alpha/Kconfig +1 -0
@@ -16,6 +16,7 @@ config ALPHA select ARCH_WANT_OPTIONAL_GPIOLIB select ARCH_HAVE_NMI_SAFE_CMPXCHG select GENERIC_SMP_IDLE_THREAD + select HAVE_GENERIC_INIT_TASK help The Alpha is a 64-bit general-purpose processor designed and marketed by the Digital Equipment Corporation of blessed memory,
arch/alpha/kernel/Makefile +1 -1
@@ -6,7 +6,7 @@ extra-y := head.o vmlinux.lds asflags-y := $(KBUILD_CFLAGS) ccflags-y := -Wno-sign-compare -obj-y := entry.o traps.o process.o init_task.o osf_sys.o irq.o \ +obj-y := entry.o traps.o process.o osf_sys.o irq.o \ irq_alpha.o signal.o setup.o ptrace.o time.o \ alpha_ksyms.o systbls.o err_common.o io.o
arch/alpha/kernel/init_task.c deleted +0 -17
@@ -1,17 +0,0 @@ -#include <linux/mm.h> -#include <linux/module.h> -#include <linux/sched.h> -#include <linux/init.h> -#include <linux/init_task.h> -#include <linux/fs.h> -#include <linux/mqueue.h> -#include <asm/uaccess.h> - - -static struct signal_struct init_signals =INIT_SIGNALS (init_signals); -static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); -struct task_struct init_task =INIT_TASK (init_task); -EXPORT_SYMBOL (init_task); - -union thread_union init_thread_union __init_task_data = - {INIT_THREAD_INFO (init_task) };
[tip:smp/hotplug] alpha: Use generic init_task
Commit-ID: 5dced29d71c2ad9b6e69a4af360bd2fd1b3c4950 Gitweb: http://git.kernel.org/tip/5dced29d71c2ad9b6e69a4af360bd2fd1b3c4950 Author: Thomas Gleixner <[email protected]> AuthorDate: Thu, 3 May 2012 09:02:50 +0000 Committer: Thomas Gleixner <[email protected]> CommitDate: Sat, 5 May 2012 13:00:21 +0200
alpha: Use generic init_task
Identical code. Use the generic version.
--- arch/alpha/Kconfig | 1 + arch/alpha/kernel/Makefile | 2 +- arch/alpha/kernel/init_task.c | 17 ----------------- 3 files changed, 2 insertions(+), 18 deletions(-)
arch/alpha/Kconfig +1 -0
@@ -16,6 +16,7 @@ config ALPHA select ARCH_WANT_OPTIONAL_GPIOLIB select ARCH_HAVE_NMI_SAFE_CMPXCHG select GENERIC_SMP_IDLE_THREAD + select HAVE_GENERIC_INIT_TASK help The Alpha is a 64-bit general-purpose processor designed and marketed by the Digital Equipment Corporation of blessed memory,
arch/alpha/kernel/Makefile +1 -1
@@ -6,7 +6,7 @@ extra-y := head.o vmlinux.lds asflags-y := $(KBUILD_CFLAGS) ccflags-y := -Wno-sign-compare -obj-y := entry.o traps.o process.o init_task.o osf_sys.o irq.o \ +obj-y := entry.o traps.o process.o osf_sys.o irq.o \ irq_alpha.o signal.o setup.o ptrace.o time.o \ alpha_ksyms.o systbls.o err_common.o io.o
arch/alpha/kernel/init_task.c deleted +0 -17
@@ -1,17 +0,0 @@ -#include <linux/mm.h> -#include <linux/module.h> -#include <linux/sched.h> -#include <linux/init.h> -#include <linux/init_task.h> -#include <linux/fs.h> -#include <linux/mqueue.h> -#include <asm/uaccess.h> - - -static struct signal_struct init_signals =INIT_SIGNALS (init_signals); -static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); -struct task_struct init_task =INIT_TASK (init_task); -EXPORT_SYMBOL (init_task); - -union thread_union init_thread_union __init_task_data = - {INIT_THREAD_INFO (init_task) };
PATCH v2 6/31 arm: Use generic init_task
In reply to Thomas GleixnerSame code. Use the generic version. The special Makefile treatment is pointless anyway as init_task.o contains only data which is handled by the linker script. So no point on being treated like head text.
--- arch/arm/Kconfig | 1 + arch/arm/Makefile | 2 +- arch/arm/kernel/Makefile | 2 +- arch/arm/kernel/init_task.c | 37 ------------------------------------- 4 files changed, 3 insertions(+), 39 deletions(-)
arch/arm/Kconfig +1 -0
@@ -35,6 +35,7 @@ config ARM select GENERIC_PCI_IOMAP select HAVE_BPF_JIT if NET select GENERIC_SMP_IDLE_THREAD + select HAVE_GENERIC_INIT_TASK help The ARM series is a line of low-power-consumption RISC chip designs licensed by ARM Ltd and targeted at embedded applications and
arch/arm/Makefile +1 -1
@@ -119,7 +119,7 @@ KBUILD_AFLAGS +=$(CFLAGS_ABI) $(AFLAGS_T CHECKFLAGS += -D__arm__ #Default value -head-y := arch/arm/kernel/head$(MMUEXT).o arch/arm/kernel/init_task.o +head-y := arch/arm/kernel/head$(MMUEXT).o textofs-y := 0x00008000 textofs-$(CONFIG_ARCH_CLPS711X) := 0x00028000 # We don't want the htc bootloader to corrupt kernel during resume
arch/arm/kernel/Makefile +1 -1
@@ -81,4 +81,4 @@ head-y := head$(MMUEXT).o obj-$(CONFIG_DEBUG_LL) += debug.o obj-$(CONFIG_EARLY_PRINTK) += early_printk.o -extra-y := $(head-y) init_task.o vmlinux.lds +extra-y := $(head-y) vmlinux.lds
arch/arm/kernel/init_task.c deleted +0 -37
@@ -1,37 +0,0 @@ -/* -* linux/arch/arm/kernel/init_task.c -*/ -#include <linux/mm.h> -#include <linux/module.h> -#include <linux/fs.h> -#include <linux/sched.h> -#include <linux/init.h> -#include <linux/init_task.h> -#include <linux/mqueue.h> -#include <linux/uaccess.h> - -#include <asm/pgtable.h> - -static struct signal_struct init_signals =INIT_SIGNALS (init_signals); -static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); -/* -* Initial thread structure. -* -* We need to make sure that this is 8192-byte aligned due to the -* way process stacks are handled. This is done by making sure -* the linker maps this in the .text segment right after head.S, -* and making head.S ensure the proper alignment. -* -* The things we do for performance.. -*/ -union thread_union init_thread_union __init_task_data = - {INIT_THREAD_INFO (init_task) }; - -/* -* Initial task structure. -* -* All other task structs will be allocated on slabs in fork.c -*/ -struct task_struct init_task =INIT_TASK (init_task); - -EXPORT_SYMBOL (init_task);
[tip:smp/hotplug] arm: Use generic init_task
Commit-ID: 5290dc292915aaed6ae71ec3db5d4aa3285e7d51 Gitweb: http://git.kernel.org/tip/5290dc292915aaed6ae71ec3db5d4aa3285e7d51 Author: Thomas Gleixner <[email protected]> AuthorDate: Thu, 3 May 2012 09:02:50 +0000 Committer: Thomas Gleixner <[email protected]> CommitDate: Sat, 5 May 2012 13:00:22 +0200
arm: Use generic init_task
Same code. Use the generic version. The special Makefile treatment is pointless anyway as init_task.o contains only data which is handled by the linker script. So no point on being treated like head text.
--- arch/arm/Kconfig | 1 + arch/arm/Makefile | 2 +- arch/arm/kernel/Makefile | 2 +- arch/arm/kernel/init_task.c | 37 ------------------------------------- 4 files changed, 3 insertions(+), 39 deletions(-)
arch/arm/Kconfig +1 -0
@@ -35,6 +35,7 @@ config ARM select GENERIC_PCI_IOMAP select HAVE_BPF_JIT if NET select GENERIC_SMP_IDLE_THREAD + select HAVE_GENERIC_INIT_TASK help The ARM series is a line of low-power-consumption RISC chip designs licensed by ARM Ltd and targeted at embedded applications and
arch/arm/Makefile +1 -1
@@ -119,7 +119,7 @@ KBUILD_AFLAGS +=$(CFLAGS_ABI) $(AFLAGS_THUMB2) $(arch-y) $(tune-y) -include asm/ CHECKFLAGS += -D__arm__ #Default value -head-y := arch/arm/kernel/head$(MMUEXT).o arch/arm/kernel/init_task.o +head-y := arch/arm/kernel/head$(MMUEXT).o textofs-y := 0x00008000 textofs-$(CONFIG_ARCH_CLPS711X) := 0x00028000 # We don't want the htc bootloader to corrupt kernel during resume
arch/arm/kernel/Makefile +1 -1
@@ -81,4 +81,4 @@ head-y := head$(MMUEXT).o obj-$(CONFIG_DEBUG_LL) += debug.o obj-$(CONFIG_EARLY_PRINTK) += early_printk.o -extra-y := $(head-y) init_task.o vmlinux.lds +extra-y := $(head-y) vmlinux.lds
arch/arm/kernel/init_task.c deleted +0 -37
@@ -1,37 +0,0 @@ -/* -* linux/arch/arm/kernel/init_task.c -*/ -#include <linux/mm.h> -#include <linux/module.h> -#include <linux/fs.h> -#include <linux/sched.h> -#include <linux/init.h> -#include <linux/init_task.h> -#include <linux/mqueue.h> -#include <linux/uaccess.h> - -#include <asm/pgtable.h> - -static struct signal_struct init_signals =INIT_SIGNALS (init_signals); -static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); -/* -* Initial thread structure. -* -* We need to make sure that this is 8192-byte aligned due to the -* way process stacks are handled. This is done by making sure -* the linker maps this in the .text segment right after head.S, -* and making head.S ensure the proper alignment. -* -* The things we do for performance.. -*/ -union thread_union init_thread_union __init_task_data = - {INIT_THREAD_INFO (init_task) }; - -/* -* Initial task structure. -* -* All other task structs will be allocated on slabs in fork.c -*/ -struct task_struct init_task =INIT_TASK (init_task); - -EXPORT_SYMBOL (init_task);
PATCH v2 7/31 avr32: Use generic init_task
In reply to Thomas GleixnerSame code. Use the generic version.
--- arch/avr32/Kconfig | 1 + arch/avr32/kernel/Makefile | 2 +- arch/avr32/kernel/init_task.c | 31 ------------------------------- 3 files changed, 2 insertions(+), 32 deletions(-)
arch/avr32/Kconfig +1 -0
@@ -12,6 +12,7 @@ config AVR32 select HARDIRQS_SW_RESEND select GENERIC_IRQ_SHOW select ARCH_HAVE_NMI_SAFE_CMPXCHG + select HAVE_GENERIC_INIT_TASK help AVR32 is a high-performance 32-bit RISC microprocessor core, designed for cost-sensitive embedded applications, with particular
arch/avr32/kernel/Makefile +1 -1
@@ -8,7 +8,7 @@ obj-$(CONFIG_SUBARCH_AVR32B) += entry-av obj-y += syscall_table.o syscall-stubs.o irq.o obj-y += setup.o traps.o ocd.o ptrace.o obj-y += signal.o sys_avr32.o process.o time.o -obj-y += init_task.o switch_to.o cpu.o +obj-y += switch_to.o cpu.o obj-$(CONFIG_MODULES) += module.o avr32_ksyms.o obj-$(CONFIG_KPROBES) += kprobes.o obj-$(CONFIG_STACKTRACE) += stacktrace.o
arch/avr32/kernel/init_task.c deleted +0 -31
@@ -1,31 +0,0 @@ -/* -* Copyright (C) 2004-2006 Atmel Corporation -* -* This program is free software; you can redistribute it and/or modify -* it under the terms of the GNU General Public License version 2 as -* published by the Free Software Foundation. -*/ -#include <linux/module.h> -#include <linux/fs.h> -#include <linux/sched.h> -#include <linux/init_task.h> -#include <linux/mqueue.h> - -#include <asm/pgtable.h> - -static struct signal_struct init_signals =INIT_SIGNALS (init_signals); -static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); -/* -* Initial thread structure. Must be aligned on an 8192-byte boundary. -*/ -union thread_union init_thread_union __init_task_data = - {INIT_THREAD_INFO (init_task) }; - -/* -* Initial task structure. -* -* All other task structs will be allocated on slabs in fork.c -*/ -struct task_struct init_task =INIT_TASK (init_task); - -EXPORT_SYMBOL (init_task);
[tip:smp/hotplug] avr32: Use generic init_task
Commit-ID: 29b2501bd8bb55822dcdd0b1ad82fe44d44eaa73 Gitweb: http://git.kernel.org/tip/29b2501bd8bb55822dcdd0b1ad82fe44d44eaa73 Author: Thomas Gleixner <[email protected]> AuthorDate: Thu, 3 May 2012 09:02:51 +0000 Committer: Thomas Gleixner <[email protected]> CommitDate: Sat, 5 May 2012 13:00:22 +0200
avr32: Use generic init_task
Same code. Use the generic version.
--- arch/avr32/Kconfig | 1 + arch/avr32/kernel/Makefile | 2 +- arch/avr32/kernel/init_task.c | 31 ------------------------------- 3 files changed, 2 insertions(+), 32 deletions(-)
arch/avr32/Kconfig +1 -0
@@ -12,6 +12,7 @@ config AVR32 select HARDIRQS_SW_RESEND select GENERIC_IRQ_SHOW select ARCH_HAVE_NMI_SAFE_CMPXCHG + select HAVE_GENERIC_INIT_TASK help AVR32 is a high-performance 32-bit RISC microprocessor core, designed for cost-sensitive embedded applications, with particular
arch/avr32/kernel/Makefile +1 -1
@@ -8,7 +8,7 @@ obj-$(CONFIG_SUBARCH_AVR32B) += entry-avr32b.o obj-y += syscall_table.o syscall-stubs.o irq.o obj-y += setup.o traps.o ocd.o ptrace.o obj-y += signal.o sys_avr32.o process.o time.o -obj-y += init_task.o switch_to.o cpu.o +obj-y += switch_to.o cpu.o obj-$(CONFIG_MODULES) += module.o avr32_ksyms.o obj-$(CONFIG_KPROBES) += kprobes.o obj-$(CONFIG_STACKTRACE) += stacktrace.o
arch/avr32/kernel/init_task.c deleted +0 -31
@@ -1,31 +0,0 @@ -/* -* Copyright (C) 2004-2006 Atmel Corporation -* -* This program is free software; you can redistribute it and/or modify -* it under the terms of the GNU General Public License version 2 as -* published by the Free Software Foundation. -*/ -#include <linux/module.h> -#include <linux/fs.h> -#include <linux/sched.h> -#include <linux/init_task.h> -#include <linux/mqueue.h> - -#include <asm/pgtable.h> - -static struct signal_struct init_signals =INIT_SIGNALS (init_signals); -static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); -/* -* Initial thread structure. Must be aligned on an 8192-byte boundary. -*/ -union thread_union init_thread_union __init_task_data = - {INIT_THREAD_INFO (init_task) }; - -/* -* Initial task structure. -* -* All other task structs will be allocated on slabs in fork.c -*/ -struct task_struct init_task =INIT_TASK (init_task); - -EXPORT_SYMBOL (init_task);
PATCH v2 8/31 blackfin: Use generic init_task
In reply to Thomas GleixnerSame code. Use the generic version. The special Makefile treatment is pointless anyway as init_task.o contains only data which is handled by the linker script. So no point on being treated like head text.
--- arch/blackfin/Kconfig | 1 + arch/blackfin/Makefile | 2 -- arch/blackfin/kernel/Makefile | 2 +- arch/blackfin/kernel/init_task.c | 32 -------------------------------- 4 files changed, 2 insertions(+), 35 deletions(-)
arch/blackfin/Kconfig +1 -0
@@ -38,6 +38,7 @@ config BLACKFIN select IRQ_PER_CPU if SMP select HAVE_NMI_WATCHDOG if NMI_WATCHDOG select GENERIC_SMP_IDLE_THREAD + select HAVE_GENERIC_INIT_TASK config GENERIC_CSUM def_bool y
arch/blackfin/Makefile +0 -2
@@ -107,8 +107,6 @@ KBUILD_AFLAGS += -mcpu=$(CPU_REV) CHECKFLAGS_SILICON = $(shell echo "" | $(CPP) $(KBUILD_CFLAGS) -dD - 2>/dev/null | awk '$$2 == "__SILICON_REVISION__" { print $$3 }') CHECKFLAGS += -D__SILICON_REVISION__=$(CHECKFLAGS_SILICON) -D__bfin__ -head-y := arch/$(ARCH)/kernel/init_task.o - core-y += arch/$(ARCH)/kernel/ arch/$(ARCH)/mm/ arch/$(ARCH)/mach-common/ # If we have a machine-specific directory, then include it in the build.
arch/blackfin/kernel/Makefile +1 -1
@@ -2,7 +2,7 @@ # arch/blackfin/kernel/Makefile # -extra-y := init_task.o vmlinux.lds +extra-y := vmlinux.lds obj-y := \ entry.o process.o bfin_ksyms.o ptrace.o setup.o signal.o \
arch/blackfin/kernel/init_task.c deleted +0 -32
@@ -1,32 +0,0 @@ -/* -* Copyright 2004-2009 Analog Devices Inc. -* -* Licensed under the GPL-2 or later -*/ - -#include <linux/mm.h> -#include <linux/module.h> -#include <linux/init_task.h> -#include <linux/mqueue.h> -#include <linux/fs.h> - -static struct signal_struct init_signals =INIT_SIGNALS (init_signals); -static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); -/* -* Initial task structure. -* -* All other task structs will be allocated on slabs in fork.c -*/ -struct task_struct init_task =INIT_TASK (init_task); -EXPORT_SYMBOL (init_task); - -/* -* Initial thread structure. -* -* We need to make sure that this is 8192-byte aligned due to the -* way process stacks are handled. This is done by having a special -* "init_task" linker map entry. -*/ -union thread_union init_thread_union - __init_task_data = { -INIT_THREAD_INFO (init_task)};
[tip:smp/hotplug] blackfin: Use generic init_task
Commit-ID: 6e3e84499a84cd37fd72f1d920aa8ac7f3502cd4 Gitweb: http://git.kernel.org/tip/6e3e84499a84cd37fd72f1d920aa8ac7f3502cd4 Author: Thomas Gleixner <[email protected]> AuthorDate: Thu, 3 May 2012 09:02:51 +0000 Committer: Thomas Gleixner <[email protected]> CommitDate: Sat, 5 May 2012 13:00:22 +0200
blackfin: Use generic init_task
Same code. Use the generic version. The special Makefile treatment is pointless anyway as init_task.o contains only data which is handled by the linker script. So no point on being treated like head text.
--- arch/blackfin/Kconfig | 1 + arch/blackfin/Makefile | 2 -- arch/blackfin/kernel/Makefile | 2 +- arch/blackfin/kernel/init_task.c | 32 -------------------------------- 4 files changed, 2 insertions(+), 35 deletions(-)
arch/blackfin/Kconfig +1 -0
@@ -38,6 +38,7 @@ config BLACKFIN select IRQ_PER_CPU if SMP select HAVE_NMI_WATCHDOG if NMI_WATCHDOG select GENERIC_SMP_IDLE_THREAD + select HAVE_GENERIC_INIT_TASK config GENERIC_CSUM def_bool y
arch/blackfin/Makefile +0 -2
@@ -107,8 +107,6 @@ KBUILD_AFLAGS += -mcpu=$(CPU_REV) CHECKFLAGS_SILICON = $(shell echo "" | $(CPP) $(KBUILD_CFLAGS) -dD - 2>/dev/null | awk '$$2 == "__SILICON_REVISION__" { print $$3 }') CHECKFLAGS += -D__SILICON_REVISION__=$(CHECKFLAGS_SILICON) -D__bfin__ -head-y := arch/$(ARCH)/kernel/init_task.o - core-y += arch/$(ARCH)/kernel/ arch/$(ARCH)/mm/ arch/$(ARCH)/mach-common/ # If we have a machine-specific directory, then include it in the build.
arch/blackfin/kernel/Makefile +1 -1
@@ -2,7 +2,7 @@ # arch/blackfin/kernel/Makefile # -extra-y := init_task.o vmlinux.lds +extra-y := vmlinux.lds obj-y := \ entry.o process.o bfin_ksyms.o ptrace.o setup.o signal.o \
arch/blackfin/kernel/init_task.c deleted +0 -32
@@ -1,32 +0,0 @@ -/* -* Copyright 2004-2009 Analog Devices Inc. -* -* Licensed under the GPL-2 or later -*/ - -#include <linux/mm.h> -#include <linux/module.h> -#include <linux/init_task.h> -#include <linux/mqueue.h> -#include <linux/fs.h> - -static struct signal_struct init_signals =INIT_SIGNALS (init_signals); -static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); -/* -* Initial task structure. -* -* All other task structs will be allocated on slabs in fork.c -*/ -struct task_struct init_task =INIT_TASK (init_task); -EXPORT_SYMBOL (init_task); - -/* -* Initial thread structure. -* -* We need to make sure that this is 8192-byte aligned due to the -* way process stacks are handled. This is done by having a special -* "init_task" linker map entry. -*/ -union thread_union init_thread_union - __init_task_data = { -INIT_THREAD_INFO (init_task)};
PATCH v2 9/31 cx6: Use generic init_task
In reply to Thomas GleixnerSame code. Use the generic version.
--- arch/c6x/Kconfig | 1 + arch/c6x/kernel/process.c | 16 ---------------- 2 files changed, 1 insertion(+), 16 deletions(-)
arch/c6x/Kconfig +1 -0
@@ -15,6 +15,7 @@ config TMS320C6X select IRQ_DOMAIN select OF select OF_EARLY_FLATTREE + select HAVE_GENERIC_INIT_TASK config MMU def_bool n
arch/c6x/kernel/process.c +0 -16
@@ -26,22 +26,6 @@ void (*c6x_halt)(void); extern asmlinkage void ret_from_fork(void); -static struct signal_struct init_signals =INIT_SIGNALS (init_signals); -static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); - -/* -* Initial thread structure. -*/ -union thread_union init_thread_union __init_task_data = { -INIT_THREAD_INFO (init_task) -}; - -/* -* Initial task structure. -*/ -struct task_struct init_task =INIT_TASK (init_task); -EXPORT_SYMBOL (init_task); -/* * power off function, if any */
Re: [patch V2 09/31] cx6: Use generic init_task
Quoted 14 lines · Thomas Gleixner
Same code. Use the generic version.
Signed-off-by Thomas Gleixner <[email protected]>Cc Mark Salter <[email protected]>--- arch/c6x/Kconfig | 1 + arch/c6x/kernel/process.c | 16 ---------------- 2 files changed, 1 insertion(+), 16 deletions(-)Index: tip/arch/c6x/Kconfig
===================================================================
arch/c6x/Kconfig config TMS320C6X · line 18
Quoted 4 lines
arch/c6x/Kconfig +1
-0@@ -15,6 +15,7 @@ config TMS320C6X select IRQ_DOMAIN select OF select OF_EARLY_FLATTREE + select HAVE_GENERIC_INIT_TASK
I'd like to keep this list in alphabetical order.
Change cx6 to c6x in subject.
It does test okay with no problems on c6x.
Re: [patch V2 09/31] cx6: Use generic init_task
Quoted 10 lines · Mark Salter
Quoted 9 lines · Thomas Gleixner
Same code. Use the generic version.
Signed-off-by Thomas Gleixner <[email protected]>Cc Mark Salter <[email protected]>--- arch/c6x/Kconfig | 1 + arch/c6x/kernel/process.c | 16 ---------------- 2 files changed, 1 insertion(+), 16 deletions(-)
Quoted 11 lines
arch/c6x/Kconfig config TMS320C6X · line 18
Quoted 9 lines
Index: tip/arch/c6x/Kconfig
===================================================================arch/c6x/Kconfig +1
-0@@ -15,6 +15,7 @@ config TMS320C6X select IRQ_DOMAIN select OF select OF_EARLY_FLATTREE + select HAVE_GENERIC_INIT_TASKI'd like to keep this list in alphabetical order.
ok,
Quoted 1 line
Change cx6 to c6x in subject.
Oops
Quoted 1 line
It does test okay with no problems on c6x.
Thanks,
tglx
[tip:smp/hotplug] c6x: Use generic init_task
In reply to Thomas GleixnerCommit-ID: 0c4f6d6bd17bbcf165a2439b59b9e8212c19f645 Gitweb: http://git.kernel.org/tip/0c4f6d6bd17bbcf165a2439b59b9e8212c19f645 Author: Thomas Gleixner <[email protected]> AuthorDate: Thu, 3 May 2012 09:02:52 +0000 Committer: Thomas Gleixner <[email protected]> CommitDate: Sat, 5 May 2012 13:00:22 +0200
c6x: Use generic init_task
Same code. Use the generic version.
--- arch/c6x/Kconfig | 1 + arch/c6x/kernel/process.c | 16 ---------------- 2 files changed, 1 insertions(+), 16 deletions(-)
arch/c6x/Kconfig +1 -0
@@ -10,6 +10,7 @@ config TMS320C6X select HAVE_ARCH_TRACEHOOK select HAVE_DMA_API_DEBUG select HAVE_GENERIC_HARDIRQS + select HAVE_GENERIC_INIT_TASK select HAVE_MEMBLOCK select SPARSE_IRQ select IRQ_DOMAIN
arch/c6x/kernel/process.c +0 -16
@@ -26,22 +26,6 @@ void (*c6x_halt)(void); extern asmlinkage void ret_from_fork(void); -static struct signal_struct init_signals =INIT_SIGNALS (init_signals); -static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); - -/* -* Initial thread structure. -*/ -union thread_union init_thread_union __init_task_data = { -INIT_THREAD_INFO (init_task) -}; - -/* -* Initial task structure. -*/ -struct task_struct init_task =INIT_TASK (init_task); -EXPORT_SYMBOL (init_task); -/* * power off function, if any */
PATCH v2 10/31 cris: Use generic init_task
In reply to Thomas GleixnerSame code. Use the generic version.
--- arch/cris/Kconfig | 1 + arch/cris/kernel/process.c | 28 ---------------------------- 2 files changed, 1 insertion(+), 28 deletions(-)
arch/cris/Kconfig +1 -0
@@ -50,6 +50,7 @@ config CRIS select GENERIC_IRQ_SHOW select GENERIC_IOMAP select GENERIC_SMP_IDLE_THREAD if ETRAX_ARCH_V32 + select HAVE_GENERIC_INIT_TASK config HZ int
arch/cris/kernel/process.c +0 -28
@@ -29,34 +29,6 @@//#define DEBUG /* -* Initial task structure. Make this a per-architecture thing, -* because different architectures tend to have different -* alignment requirements and potentially different initial -* setup. -*/ - -static struct signal_struct init_signals =INIT_SIGNALS (init_signals); -static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); -/* -* Initial thread structure. -* -* We need to make sure that this is 8192-byte aligned due to the -* way process stacks are handled. This is done by having a special -* "init_task" linker map entry.. -*/ -union thread_union init_thread_union __init_task_data = - {INIT_THREAD_INFO (init_task) }; - -/* -* Initial task structure. -* -* All other task structs will be allocated on slabs in fork.c -*/ -struct task_struct init_task =INIT_TASK (init_task); - -EXPORT_SYMBOL (init_task); - -/* * The hlt_counter, disable_hlt and enable_hlt is just here as a hook if * there would ever be a halt sequence (for power save when idle) with * some largish delay when halting or resuming *and* a driver that can't
[tip:smp/hotplug] cris: Use generic init_task
Commit-ID: c172ede404d4eda55ed2c0df1c4c11df9311b299 Gitweb: http://git.kernel.org/tip/c172ede404d4eda55ed2c0df1c4c11df9311b299 Author: Thomas Gleixner <[email protected]> AuthorDate: Thu, 3 May 2012 09:02:52 +0000 Committer: Thomas Gleixner <[email protected]> CommitDate: Sat, 5 May 2012 13:00:22 +0200
cris: Use generic init_task
Same code. Use the generic version.
--- arch/cris/Kconfig | 1 + arch/cris/kernel/process.c | 28 ---------------------------- 2 files changed, 1 insertions(+), 28 deletions(-)
arch/cris/Kconfig +1 -0
@@ -50,6 +50,7 @@ config CRIS select GENERIC_IRQ_SHOW select GENERIC_IOMAP select GENERIC_SMP_IDLE_THREAD if ETRAX_ARCH_V32 + select HAVE_GENERIC_INIT_TASK config HZ int
arch/cris/kernel/process.c +0 -28
@@ -29,34 +29,6 @@//#define DEBUG /* -* Initial task structure. Make this a per-architecture thing, -* because different architectures tend to have different -* alignment requirements and potentially different initial -* setup. -*/ - -static struct signal_struct init_signals =INIT_SIGNALS (init_signals); -static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); -/* -* Initial thread structure. -* -* We need to make sure that this is 8192-byte aligned due to the -* way process stacks are handled. This is done by having a special -* "init_task" linker map entry.. -*/ -union thread_union init_thread_union __init_task_data = - {INIT_THREAD_INFO (init_task) }; - -/* -* Initial task structure. -* -* All other task structs will be allocated on slabs in fork.c -*/ -struct task_struct init_task =INIT_TASK (init_task); - -EXPORT_SYMBOL (init_task); - -/* * The hlt_counter, disable_hlt and enable_hlt is just here as a hook if * there would ever be a halt sequence (for power save when idle) with * some largish delay when halting or resuming *and* a driver that can't
PATCH v2 11/31 frv: Use generic init_task
In reply to Thomas GleixnerSame code. Use the generic version. The special Makefile treatment is pointless anyway as init_task.o contains only data which is handled by the linker script. So no point on being treated like head text.
--- arch/frv/Kconfig | 1 + arch/frv/Makefile | 2 +- arch/frv/kernel/Makefile | 2 +- arch/frv/kernel/init_task.c | 32 -------------------------------- 4 files changed, 3 insertions(+), 34 deletions(-)
arch/frv/Kconfig +1 -0
@@ -10,6 +10,7 @@ config FRV select ARCH_HAVE_NMI_SAFE_CMPXCHG select GENERIC_CPU_DEVICES select ARCH_THREAD_INFO_ALLOCATOR + select HAVE_GENERIC_INIT_TASK config ZONE_DMA bool
arch/frv/Makefile +1 -1
@@ -81,7 +81,7 @@ ifdef CONFIG_DEBUG_INFO KBUILD_AFLAGS += -Wa,--gdwarf2 endif -head-y := arch/frv/kernel/head.o arch/frv/kernel/init_task.o +head-y := arch/frv/kernel/head.o core-y += arch/frv/kernel/ arch/frv/mm/ libs-y += arch/frv/lib/
arch/frv/kernel/Makefile +1 -1
@@ -5,7 +5,7 @@ heads-y := head-uc-fr401.o head-uc-fr451.o head-uc-fr555.o heads-$(CONFIG_MMU) := head-mmu-fr451.o -extra-y:= head.o init_task.o vmlinux.lds +extra-y:= head.o vmlinux.lds obj-y := $(heads-y) entry.o entry-table.o break.o switch_to.o kernel_thread.o \ kernel_execve.o process.o traps.o ptrace.o signal.o dma.o \
arch/frv/kernel/init_task.c deleted +0 -32
@@ -1,32 +0,0 @@ -#include <linux/mm.h> -#include <linux/module.h> -#include <linux/sched.h> -#include <linux/init.h> -#include <linux/init_task.h> -#include <linux/fs.h> -#include <linux/mqueue.h> - -#include <asm/uaccess.h> -#include <asm/pgtable.h> - - -static struct signal_struct init_signals =INIT_SIGNALS (init_signals); -static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); -/* -* Initial thread structure. -* -* We need to make sure that this is THREAD_SIZE aligned due to the -* way process stacks are handled. This is done by having a special -* "init_task" linker map entry.. -*/ -union thread_union init_thread_union __init_task_data = - {INIT_THREAD_INFO (init_task) }; - -/* -* Initial task structure. -* -* All other task structs will be allocated on slabs in fork.c -*/ -struct task_struct init_task =INIT_TASK (init_task); - -EXPORT_SYMBOL (init_task);
[tip:smp/hotplug] frv: Use generic init_task
Commit-ID: cb0fcba283a98f8438ca69b76b0dcb92cce5a951 Gitweb: http://git.kernel.org/tip/cb0fcba283a98f8438ca69b76b0dcb92cce5a951 Author: Thomas Gleixner <[email protected]> AuthorDate: Thu, 3 May 2012 09:02:53 +0000 Committer: Thomas Gleixner <[email protected]> CommitDate: Sat, 5 May 2012 13:00:23 +0200
frv: Use generic init_task
Same code. Use the generic version. The special Makefile treatment is pointless anyway as init_task.o contains only data which is handled by the linker script. So no point on being treated like head text.
--- arch/frv/Kconfig | 1 + arch/frv/Makefile | 2 +- arch/frv/kernel/Makefile | 2 +- arch/frv/kernel/init_task.c | 32 -------------------------------- 4 files changed, 3 insertions(+), 34 deletions(-)
arch/frv/Kconfig +1 -0
@@ -9,6 +9,7 @@ config FRV select GENERIC_IRQ_SHOW select ARCH_HAVE_NMI_SAFE_CMPXCHG select GENERIC_CPU_DEVICES + select HAVE_GENERIC_INIT_TASK config ZONE_DMA bool
arch/frv/Makefile +1 -1
@@ -81,7 +81,7 @@ ifdef CONFIG_DEBUG_INFO KBUILD_AFLAGS += -Wa,--gdwarf2 endif -head-y := arch/frv/kernel/head.o arch/frv/kernel/init_task.o +head-y := arch/frv/kernel/head.o core-y += arch/frv/kernel/ arch/frv/mm/ libs-y += arch/frv/lib/
arch/frv/kernel/Makefile +1 -1
@@ -5,7 +5,7 @@ heads-y := head-uc-fr401.o head-uc-fr451.o head-uc-fr555.o heads-$(CONFIG_MMU) := head-mmu-fr451.o -extra-y:= head.o init_task.o vmlinux.lds +extra-y:= head.o vmlinux.lds obj-y := $(heads-y) entry.o entry-table.o break.o switch_to.o kernel_thread.o \ kernel_execve.o process.o traps.o ptrace.o signal.o dma.o \
arch/frv/kernel/init_task.c deleted +0 -32
@@ -1,32 +0,0 @@ -#include <linux/mm.h> -#include <linux/module.h> -#include <linux/sched.h> -#include <linux/init.h> -#include <linux/init_task.h> -#include <linux/fs.h> -#include <linux/mqueue.h> - -#include <asm/uaccess.h> -#include <asm/pgtable.h> - - -static struct signal_struct init_signals =INIT_SIGNALS (init_signals); -static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); -/* -* Initial thread structure. -* -* We need to make sure that this is THREAD_SIZE aligned due to the -* way process stacks are handled. This is done by having a special -* "init_task" linker map entry.. -*/ -union thread_union init_thread_union __init_task_data = - {INIT_THREAD_INFO (init_task) }; - -/* -* Initial task structure. -* -* All other task structs will be allocated on slabs in fork.c -*/ -struct task_struct init_task =INIT_TASK (init_task); - -EXPORT_SYMBOL (init_task);
PATCH v2 12/31 h8300: Use generic init_task
In reply to Thomas GleixnerSame code. Use the generic version.
--- arch/h8300/Kconfig | 1 + arch/h8300/kernel/Makefile | 2 +- arch/h8300/kernel/init_task.c | 36 ------------------------------------ 3 files changed, 2 insertions(+), 37 deletions(-)
arch/h8300/Kconfig +1 -0
@@ -5,6 +5,7 @@ config H8300 select HAVE_GENERIC_HARDIRQS select GENERIC_IRQ_SHOW select GENERIC_CPU_DEVICES + select HAVE_GENERIC_INIT_TASK config SYMBOL_PREFIX string
arch/h8300/kernel/Makefile +1 -1
@@ -6,7 +6,7 @@ extra-y := vmlinux.lds obj-y := process.o traps.o ptrace.o irq.o \ sys_h8300.o time.o signal.o \ - setup.o gpio.o init_task.o syscalls.o \ + setup.o gpio.o syscalls.o \ entry.o timer/ obj-$(CONFIG_MODULES) += module.o h8300_ksyms.o
arch/h8300/kernel/init_task.c deleted +0 -36
@@ -1,36 +0,0 @@ -/* -* linux/arch/h8300/kernel/init_task.c -*/ -#include <linux/mm.h> -#include <linux/module.h> -#include <linux/sched.h> -#include <linux/init.h> -#include <linux/init_task.h> -#include <linux/fs.h> -#include <linux/mqueue.h> - -#include <asm/uaccess.h> -#include <asm/pgtable.h> - -static struct signal_struct init_signals =INIT_SIGNALS (init_signals); -static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); -/* -* Initial task structure. -* -* All other task structs will be allocated on slabs in fork.c -*/ -__asm__(".align 4" ); -struct task_struct init_task =INIT_TASK (init_task); - -EXPORT_SYMBOL (init_task); - -/* -* Initial thread structure. -* -* We need to make sure that this is 8192-byte aligned due to the -* way process stacks are handled. This is done by having a special -* "init_task" linker map entry.. -*/ -union thread_union init_thread_union __init_task_data = - {INIT_THREAD_INFO (init_task) }; -
[tip:smp/hotplug] h8300-use-generic-init_task
Commit-ID: a3b3aa3d9d5d482ac68477c69fc08cadbc43e074 Gitweb: http://git.kernel.org/tip/a3b3aa3d9d5d482ac68477c69fc08cadbc43e074 Author: Thomas Gleixner <[email protected]> AuthorDate: Thu, 3 May 2012 09:02:53 +0000 Committer: Thomas Gleixner <[email protected]> CommitDate: Sat, 5 May 2012 13:00:23 +0200
h8300-use-generic-init_task
Same code. Use the generic version.
--- arch/h8300/Kconfig | 1 + arch/h8300/kernel/Makefile | 2 +- arch/h8300/kernel/init_task.c | 36 ------------------------------------ 3 files changed, 2 insertions(+), 37 deletions(-)
arch/h8300/Kconfig +1 -0
@@ -5,6 +5,7 @@ config H8300 select HAVE_GENERIC_HARDIRQS select GENERIC_IRQ_SHOW select GENERIC_CPU_DEVICES + select HAVE_GENERIC_INIT_TASK config SYMBOL_PREFIX string
arch/h8300/kernel/Makefile +1 -1
@@ -6,7 +6,7 @@ extra-y := vmlinux.lds obj-y := process.o traps.o ptrace.o irq.o \ sys_h8300.o time.o signal.o \ - setup.o gpio.o init_task.o syscalls.o \ + setup.o gpio.o syscalls.o \ entry.o timer/ obj-$(CONFIG_MODULES) += module.o h8300_ksyms.o
arch/h8300/kernel/init_task.c deleted +0 -36
@@ -1,36 +0,0 @@ -/* -* linux/arch/h8300/kernel/init_task.c -*/ -#include <linux/mm.h> -#include <linux/module.h> -#include <linux/sched.h> -#include <linux/init.h> -#include <linux/init_task.h> -#include <linux/fs.h> -#include <linux/mqueue.h> - -#include <asm/uaccess.h> -#include <asm/pgtable.h> - -static struct signal_struct init_signals =INIT_SIGNALS (init_signals); -static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); -/* -* Initial task structure. -* -* All other task structs will be allocated on slabs in fork.c -*/ -__asm__(".align 4" ); -struct task_struct init_task =INIT_TASK (init_task); - -EXPORT_SYMBOL (init_task); - -/* -* Initial thread structure. -* -* We need to make sure that this is 8192-byte aligned due to the -* way process stacks are handled. This is done by having a special -* "init_task" linker map entry.. -*/ -union thread_union init_thread_union __init_task_data = - {INIT_THREAD_INFO (init_task) }; -
PATCH v2 13/31 hexagon: Use generic idle_task
In reply to Thomas GleixnerSame code. Use the generic version. The special Makefile treatment is pointless anyway as init_task.o contains only data which is handled by the linker script. So no point on being treated like head text.
--- arch/hexagon/Kconfig | 1 arch/hexagon/Makefile | 3 -- arch/hexagon/kernel/Makefile | 2 - arch/hexagon/kernel/init_task.c | 54 ---------------------------------------- 4 files changed, 3 insertions(+), 57 deletions(-)
arch/hexagon/Kconfig +1 -0
@@ -28,6 +28,7 @@ config HEXAGON select NO_IOPORT select GENERIC_IOMAP select GENERIC_SMP_IDLE_THREAD + select HAVE_GENERIC_INIT_TASK # mostly generic routines, with some accelerated ones ---help--- Qualcomm Hexagon is a processor architecture designed for high
arch/hexagon/Makefile +1 -2
@@ -45,8 +45,7 @@ KBUILD_AFLAGS += -DTHREADINFO_REG=$(TIR_ LIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name) libs-y += $(LIBGCC) -head-y := arch/hexagon/kernel/head.o \ - arch/hexagon/kernel/init_task.o +head-y := arch/hexagon/kernel/head.o core-y += arch/hexagon/kernel/ \ arch/hexagon/mm/ \
arch/hexagon/kernel/Makefile +1 -1
@@ -1,4 +1,4 @@ -extra-y := head.o vmlinux.lds init_task.o +extra-y := head.o vmlinux.lds obj-$(CONFIG_SMP) += smp.o topology.o
arch/hexagon/kernel/init_task.c deleted +0 -54
54 lines not on this page · raw message
[tip:smp/hotplug] hexagon: Use generic idle_task
Commit-ID: e336e05bca1909faf6d7c033702a71bdb5c79d18 Gitweb: http://git.kernel.org/tip/e336e05bca1909faf6d7c033702a71bdb5c79d18 Author: Thomas Gleixner <[email protected]> AuthorDate: Thu, 3 May 2012 09:02:54 +0000 Committer: Thomas Gleixner <[email protected]> CommitDate: Sat, 5 May 2012 13:00:23 +0200
hexagon: Use generic idle_task
Same code. Use the generic version. The special Makefile treatment is pointless anyway as init_task.o contains only data which is handled by the linker script. So no point on being treated like head text.
--- arch/hexagon/Kconfig | 1 + arch/hexagon/Makefile | 3 +- arch/hexagon/kernel/Makefile | 2 +- arch/hexagon/kernel/init_task.c | 54 --------------------------------------- 4 files changed, 3 insertions(+), 57 deletions(-)
arch/hexagon/Kconfig +1 -0
@@ -28,6 +28,7 @@ config HEXAGON select NO_IOPORT select GENERIC_IOMAP select GENERIC_SMP_IDLE_THREAD + select HAVE_GENERIC_INIT_TASK # mostly generic routines, with some accelerated ones ---help--- Qualcomm Hexagon is a processor architecture designed for high
arch/hexagon/Makefile +1 -2
@@ -45,8 +45,7 @@ KBUILD_AFLAGS += -DTHREADINFO_REG=$(TIR_NAME) LIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name) libs-y += $(LIBGCC) -head-y := arch/hexagon/kernel/head.o \ - arch/hexagon/kernel/init_task.o +head-y := arch/hexagon/kernel/head.o core-y += arch/hexagon/kernel/ \ arch/hexagon/mm/ \
arch/hexagon/kernel/Makefile +1 -1
@@ -1,4 +1,4 @@ -extra-y := head.o vmlinux.lds init_task.o +extra-y := head.o vmlinux.lds obj-$(CONFIG_SMP) += smp.o topology.o
arch/hexagon/kernel/init_task.c deleted +0 -54
54 lines not on this page · raw message
PATCH v2 14/31 m32r: Use generic init_task
In reply to Thomas GleixnerSame code. Use the generic version. The special Makefile treatment is pointless anyway as init_task.o contains only data which is handled by the linker script. So no point on being treated like head text.
--- arch/m32r/Kconfig | 1 + arch/m32r/Makefile | 2 +- arch/m32r/kernel/Makefile | 2 +- arch/m32r/kernel/init_task.c | 34 ---------------------------------- 4 files changed, 3 insertions(+), 36 deletions(-)
arch/m32r/Kconfig +1 -0
@@ -11,6 +11,7 @@ config M32R select GENERIC_IRQ_PROBE select GENERIC_IRQ_SHOW select GENERIC_ATOMIC64 + select HAVE_GENERIC_INIT_TASK config SBUS bool
arch/m32r/Makefile +1 -1
@@ -31,7 +31,7 @@ KBUILD_AFLAGS += $(aflags-y) CHECKFLAGS += -D__m32r__ -D__BIG_ENDIAN__=1 -head-y := arch/m32r/kernel/head.o arch/m32r/kernel/init_task.o +head-y := arch/m32r/kernel/head.o LIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name)
arch/m32r/kernel/Makefile +1 -1
@@ -2,7 +2,7 @@ # Makefile for the Linux/M32R kernel. # -extra-y := head.o init_task.o vmlinux.lds +extra-y := head.o vmlinux.lds obj-y := process.o entry.o traps.o align.o irq.o setup.o time.o \ m32r_ksyms.o sys_m32r.o signal.o ptrace.o
arch/m32r/kernel/init_task.c deleted +0 -34
@@ -1,34 +0,0 @@ -/* orig : i386 init_task.c */ - -#include <linux/mm.h> -#include <linux/module.h> -#include <linux/sched.h> -#include <linux/init.h> -#include <linux/init_task.h> -#include <linux/fs.h> -#include <linux/mqueue.h> - -#include <asm/uaccess.h> -#include <asm/pgtable.h> - -static struct signal_struct init_signals =INIT_SIGNALS (init_signals); -static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); -/* -* Initial thread structure. -* -* We need to make sure that this is 8192-byte aligned due to the -* way process stacks are handled. This is done by having a special -* "init_task" linker map entry.. -*/ -union thread_union init_thread_union __init_task_data = - {INIT_THREAD_INFO (init_task) }; - -/* -* Initial task structure. -* -* All other task structs will be allocated on slabs in fork.c -*/ -struct task_struct init_task =INIT_TASK (init_task); - -EXPORT_SYMBOL (init_task); -
[tip:smp/hotplug] m32r: Use generic init_task
Commit-ID: 7433c5cf4f69e0b9e648bfb59d65ffe39220e86c Gitweb: http://git.kernel.org/tip/7433c5cf4f69e0b9e648bfb59d65ffe39220e86c Author: Thomas Gleixner <[email protected]> AuthorDate: Thu, 3 May 2012 09:02:54 +0000 Committer: Thomas Gleixner <[email protected]> CommitDate: Sat, 5 May 2012 13:00:23 +0200
m32r: Use generic init_task
Same code. Use the generic version. The special Makefile treatment is pointless anyway as init_task.o contains only data which is handled by the linker script. So no point on being treated like head text.
--- arch/m32r/Kconfig | 1 + arch/m32r/Makefile | 2 +- arch/m32r/kernel/Makefile | 2 +- arch/m32r/kernel/init_task.c | 34 ---------------------------------- 4 files changed, 3 insertions(+), 36 deletions(-)
arch/m32r/Kconfig +1 -0
@@ -11,6 +11,7 @@ config M32R select GENERIC_IRQ_PROBE select GENERIC_IRQ_SHOW select GENERIC_ATOMIC64 + select HAVE_GENERIC_INIT_TASK config SBUS bool
arch/m32r/Makefile +1 -1
@@ -31,7 +31,7 @@ KBUILD_AFLAGS += $(aflags-y) CHECKFLAGS += -D__m32r__ -D__BIG_ENDIAN__=1 -head-y := arch/m32r/kernel/head.o arch/m32r/kernel/init_task.o +head-y := arch/m32r/kernel/head.o LIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name)
arch/m32r/kernel/Makefile +1 -1
@@ -2,7 +2,7 @@ # Makefile for the Linux/M32R kernel. # -extra-y := head.o init_task.o vmlinux.lds +extra-y := head.o vmlinux.lds obj-y := process.o entry.o traps.o align.o irq.o setup.o time.o \ m32r_ksyms.o sys_m32r.o signal.o ptrace.o
arch/m32r/kernel/init_task.c deleted +0 -34
@@ -1,34 +0,0 @@ -/* orig : i386 init_task.c */ - -#include <linux/mm.h> -#include <linux/module.h> -#include <linux/sched.h> -#include <linux/init.h> -#include <linux/init_task.h> -#include <linux/fs.h> -#include <linux/mqueue.h> - -#include <asm/uaccess.h> -#include <asm/pgtable.h> - -static struct signal_struct init_signals =INIT_SIGNALS (init_signals); -static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); -/* -* Initial thread structure. -* -* We need to make sure that this is 8192-byte aligned due to the -* way process stacks are handled. This is done by having a special -* "init_task" linker map entry.. -*/ -union thread_union init_thread_union __init_task_data = - {INIT_THREAD_INFO (init_task) }; - -/* -* Initial task structure. -* -* All other task structs will be allocated on slabs in fork.c -*/ -struct task_struct init_task =INIT_TASK (init_task); - -EXPORT_SYMBOL (init_task); -
PATCH v2 15/31 m68k: Use generic init_task
In reply to Thomas GleixnerSame code. Use the generic version.
--- arch/m68k/Kconfig | 1 + arch/m68k/kernel/Makefile | 2 +- arch/m68k/kernel/init_task.c | 35 ----------------------------------- 3 files changed, 2 insertions(+), 36 deletions(-)
arch/m68k/Kconfig +1 -0
@@ -8,6 +8,7 @@ config M68K select ARCH_HAVE_NMI_SAFE_CMPXCHG if RMW_INSNS select GENERIC_CPU_DEVICES select FPU if MMU + select HAVE_GENERIC_INIT_TASK config RWSEM_GENERIC_SPINLOCK bool
arch/m68k/kernel/Makefile +1 -1
@@ -13,7 +13,7 @@ extra-$(CONFIG_SUN3X) := head.o extra-$(CONFIG_SUN3) := sun3-head.o extra-y += vmlinux.lds -obj-y := entry.o init_task.o irq.o m68k_ksyms.o module.o process.o ptrace.o +obj-y := entry.o irq.o m68k_ksyms.o module.o process.o ptrace.o obj-y += setup.o signal.o sys_m68k.o syscalltable.o time.o traps.o obj-$(CONFIG_MMU_MOTOROLA) += ints.o vectors.o
arch/m68k/kernel/init_task.c deleted +0 -35
@@ -1,35 +0,0 @@ -/* -* linux/arch/m68knommu/kernel/init_task.c -*/ -#include <linux/mm.h> -#include <linux/module.h> -#include <linux/sched.h> -#include <linux/init.h> -#include <linux/init_task.h> -#include <linux/fs.h> -#include <linux/mqueue.h> - -#include <asm/uaccess.h> -#include <asm/pgtable.h> - -static struct signal_struct init_signals =INIT_SIGNALS (init_signals); -static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); -/* -* Initial task structure. -* -* All other task structs will be allocated on slabs in fork.c -*/ -struct task_struct init_task =INIT_TASK (init_task); - -EXPORT_SYMBOL (init_task); - -/* -* Initial thread structure. -* -* We need to make sure that this is THREAD size aligned due to the -* way process stacks are handled. This is done by having a special -* "init_task" linker map entry.. -*/ -union thread_union init_thread_union __init_task_data = - {INIT_THREAD_INFO (init_task) }; -
[tip:smp/hotplug] m68k: Use generic init_task
Commit-ID: ab5fc1ffb97e670226166f31e61a2cdc51dd2edc Gitweb: http://git.kernel.org/tip/ab5fc1ffb97e670226166f31e61a2cdc51dd2edc Author: Thomas Gleixner <[email protected]> AuthorDate: Thu, 3 May 2012 09:02:54 +0000 Committer: Thomas Gleixner <[email protected]> CommitDate: Sat, 5 May 2012 13:00:23 +0200
m68k: Use generic init_task
Same code. Use the generic version.
--- arch/m68k/Kconfig | 1 + arch/m68k/kernel/Makefile | 2 +- arch/m68k/kernel/init_task.c | 35 ----------------------------------- 3 files changed, 2 insertions(+), 36 deletions(-)
arch/m68k/Kconfig +1 -0
@@ -8,6 +8,7 @@ config M68K select ARCH_HAVE_NMI_SAFE_CMPXCHG if RMW_INSNS select GENERIC_CPU_DEVICES select FPU if MMU + select HAVE_GENERIC_INIT_TASK config RWSEM_GENERIC_SPINLOCK bool
arch/m68k/kernel/Makefile +1 -1
@@ -13,7 +13,7 @@ extra-$(CONFIG_SUN3X) := head.o extra-$(CONFIG_SUN3) := sun3-head.o extra-y += vmlinux.lds -obj-y := entry.o init_task.o irq.o m68k_ksyms.o module.o process.o ptrace.o +obj-y := entry.o irq.o m68k_ksyms.o module.o process.o ptrace.o obj-y += setup.o signal.o sys_m68k.o syscalltable.o time.o traps.o obj-$(CONFIG_MMU_MOTOROLA) += ints.o vectors.o
arch/m68k/kernel/init_task.c deleted +0 -35
@@ -1,35 +0,0 @@ -/* -* linux/arch/m68knommu/kernel/init_task.c -*/ -#include <linux/mm.h> -#include <linux/module.h> -#include <linux/sched.h> -#include <linux/init.h> -#include <linux/init_task.h> -#include <linux/fs.h> -#include <linux/mqueue.h> - -#include <asm/uaccess.h> -#include <asm/pgtable.h> - -static struct signal_struct init_signals =INIT_SIGNALS (init_signals); -static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); -/* -* Initial task structure. -* -* All other task structs will be allocated on slabs in fork.c -*/ -struct task_struct init_task =INIT_TASK (init_task); - -EXPORT_SYMBOL (init_task); - -/* -* Initial thread structure. -* -* We need to make sure that this is THREAD size aligned due to the -* way process stacks are handled. This is done by having a special -* "init_task" linker map entry.. -*/ -union thread_union init_thread_union __init_task_data = - {INIT_THREAD_INFO (init_task) }; -
PATCH v2 16/31 microblaze: Use generic init_task
In reply to Thomas GleixnerSame code. Use the generic version.
--- arch/microblaze/Kconfig | 1 + arch/microblaze/kernel/Makefile | 2 +- arch/microblaze/kernel/init_task.c | 26 -------------------------- 3 files changed, 2 insertions(+), 27 deletions(-)
arch/microblaze/Kconfig +1 -0
@@ -22,6 +22,7 @@ config MICROBLAZE select GENERIC_PCI_IOMAP select GENERIC_CPU_DEVICES select GENERIC_ATOMIC64 + select HAVE_GENERIC_INIT_TASK config SWAP def_bool n
arch/microblaze/kernel/Makefile +1 -1
@@ -16,7 +16,7 @@ endif extra-y := head.o vmlinux.lds obj-y += dma.o exceptions.o \ - hw_exception_handler.o init_task.o intc.o irq.o \ + hw_exception_handler.o intc.o irq.o \ process.o prom.o prom_parse.o ptrace.o \ reset.o setup.o signal.o sys_microblaze.o timer.o traps.o unwind.o
arch/microblaze/kernel/init_task.c deleted +0 -26
@@ -1,26 +0,0 @@ -/* -* Copyright (C) 2009 Michal Simek <[email protected]> -* Copyright (C) 2009 PetaLogix -* Copyright (C) 2006 Atmark Techno, Inc. -* -* This file is subject to the terms and conditions of the GNU General Public -* License. See the file "COPYING" in the main directory of this archive -* for more details. -*/ - -#include <linux/module.h> -#include <linux/sched.h> -#include <linux/init_task.h> -#include <linux/fs.h> -#include <linux/mqueue.h> - -#include <asm/pgtable.h> - -static struct signal_struct init_signals =INIT_SIGNALS (init_signals); -static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); - -union thread_union init_thread_union __init_task_data = - {INIT_THREAD_INFO (init_task) }; - -struct task_struct init_task =INIT_TASK (init_task); -EXPORT_SYMBOL (init_task);
[tip:smp/hotplug] microblaze: Use generic init_task
Commit-ID: 16caadb8c8f8461b853bd3a310d7730cf5a0aec4 Gitweb: http://git.kernel.org/tip/16caadb8c8f8461b853bd3a310d7730cf5a0aec4 Author: Thomas Gleixner <[email protected]> AuthorDate: Thu, 3 May 2012 09:02:55 +0000 Committer: Thomas Gleixner <[email protected]> CommitDate: Sat, 5 May 2012 13:00:24 +0200
microblaze: Use generic init_task
Same code. Use the generic version.
--- arch/microblaze/Kconfig | 1 + arch/microblaze/kernel/Makefile | 2 +- arch/microblaze/kernel/init_task.c | 26 -------------------------- 3 files changed, 2 insertions(+), 27 deletions(-)
arch/microblaze/Kconfig +1 -0
@@ -22,6 +22,7 @@ config MICROBLAZE select GENERIC_PCI_IOMAP select GENERIC_CPU_DEVICES select GENERIC_ATOMIC64 + select HAVE_GENERIC_INIT_TASK config SWAP def_bool n
arch/microblaze/kernel/Makefile +1 -1
@@ -16,7 +16,7 @@ endif extra-y := head.o vmlinux.lds obj-y += dma.o exceptions.o \ - hw_exception_handler.o init_task.o intc.o irq.o \ + hw_exception_handler.o intc.o irq.o \ process.o prom.o prom_parse.o ptrace.o \ reset.o setup.o signal.o sys_microblaze.o timer.o traps.o unwind.o
arch/microblaze/kernel/init_task.c deleted +0 -26
@@ -1,26 +0,0 @@ -/* -* Copyright (C) 2009 Michal Simek <[email protected]> -* Copyright (C) 2009 PetaLogix -* Copyright (C) 2006 Atmark Techno, Inc. -* -* This file is subject to the terms and conditions of the GNU General Public -* License. See the file "COPYING" in the main directory of this archive -* for more details. -*/ - -#include <linux/module.h> -#include <linux/sched.h> -#include <linux/init_task.h> -#include <linux/fs.h> -#include <linux/mqueue.h> - -#include <asm/pgtable.h> - -static struct signal_struct init_signals =INIT_SIGNALS (init_signals); -static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); - -union thread_union init_thread_union __init_task_data = - {INIT_THREAD_INFO (init_task) }; - -struct task_struct init_task =INIT_TASK (init_task); -EXPORT_SYMBOL (init_task);
PATCH v2 17/31 mips: Use generic init_task
In reply to Thomas GleixnerSame code. Use the generic version. The special Makefile treatment is pointless anyway as init_task.o contains only data which is handled by the linker script. So no point on being treated like head text.
Make the linker script align the task on THREAD_SIZE and not on PAGE_SIZE, as PAGE_SIZE might be smaller than THREAD_SIZE.
--- arch/mips/Kconfig | 1 + arch/mips/Makefile | 2 +- arch/mips/kernel/Makefile | 2 +- arch/mips/kernel/init_task.c | 35 ----------------------------------- arch/mips/kernel/vmlinux.lds.S | 2 +- 5 files changed, 4 insertions(+), 38 deletions(-)
arch/mips/Kconfig +1 -0
@@ -30,6 +30,7 @@ config MIPS select HAVE_MEMBLOCK_NODE_MAP select ARCH_DISCARD_MEMBLOCK select GENERIC_SMP_IDLE_THREAD + select HAVE_GENERIC_INIT_TASK menu "Machine selection"
arch/mips/Makefile +1 -1
@@ -235,7 +235,7 @@ endif OBJCOPYFLAGS += --remove-section=.reginfo -head-y := arch/mips/kernel/head.o arch/mips/kernel/init_task.o +head-y := arch/mips/kernel/head.o libs-y += arch/mips/lib/
arch/mips/kernel/Makefile +1 -1
@@ -2,7 +2,7 @@ # Makefile for the Linux/MIPS kernel. # -extra-y := head.o init_task.o vmlinux.lds +extra-y := head.o vmlinux.lds obj-y += cpu-probe.o branch.o entry.o genex.o irq.o process.o \ ptrace.o reset.o setup.o signal.o syscall.o \
arch/mips/kernel/init_task.c deleted +0 -35
@@ -1,35 +0,0 @@ -#include <linux/mm.h> -#include <linux/export.h> -#include <linux/sched.h> -#include <linux/init_task.h> -#include <linux/fs.h> -#include <linux/mqueue.h> - -#include <asm/thread_info.h> -#include <asm/uaccess.h> -#include <asm/pgtable.h> - -static struct signal_struct init_signals =INIT_SIGNALS (init_signals); -static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); -/* -* Initial thread structure. -* -* We need to make sure that this is 8192-byte aligned due to the -* way process stacks are handled. This is done by making sure -* the linker maps this in the .text segment right after head.S, -* and making head.S ensure the proper alignment. -* -* The things we do for performance.. -*/ -union thread_union init_thread_union __init_task_data - __attribute__((__aligned__(THREAD_SIZE))) = - {INIT_THREAD_INFO (init_task) }; - -/* -* Initial task structure. -* -* All other task structs will be allocated on slabs in fork.c -*/ -struct task_struct init_task =INIT_TASK (init_task); - -EXPORT_SYMBOL (init_task);
arch/mips/kernel/vmlinux.lds.S +1 -1
@@ -72,7 +72,7 @@ SECTIONS .data : { /* Data */ . = . + DATAOFFSET; /* for CONFIG_MAPPED_KERNEL */ - INIT_TASK_DATA(PAGE_SIZE) + INIT_TASK_DATA(THREAD_SIZE) NOSAVE_DATA CACHELINE_ALIGNED_DATA(1 << CONFIG_MIPS_L1_CACHE_SHIFT) READ_MOSTLY_DATA(1 << CONFIG_MIPS_L1_CACHE_SHIFT)
[tip:smp/hotplug] mips: Use generic init_task
Commit-ID: 957b369c3d35d73e1d0c3e9d21db791e58984cbb Gitweb: http://git.kernel.org/tip/957b369c3d35d73e1d0c3e9d21db791e58984cbb Author: Thomas Gleixner <[email protected]> AuthorDate: Thu, 3 May 2012 09:02:55 +0000 Committer: Thomas Gleixner <[email protected]> CommitDate: Sat, 5 May 2012 13:00:24 +0200
mips: Use generic init_task
Same code. Use the generic version. The special Makefile treatment is pointless anyway as init_task.o contains only data which is handled by the linker script. So no point on being treated like head text.
Make the linker script align the task on THREAD_SIZE and not on PAGE_SIZE, as PAGE_SIZE might be smaller than THREAD_SIZE.
--- arch/mips/Kconfig | 1 + arch/mips/Makefile | 2 +- arch/mips/kernel/Makefile | 2 +- arch/mips/kernel/init_task.c | 35 ----------------------------------- arch/mips/kernel/vmlinux.lds.S | 2 +- 5 files changed, 4 insertions(+), 38 deletions(-)
arch/mips/Kconfig +1 -0
@@ -30,6 +30,7 @@ config MIPS select HAVE_MEMBLOCK_NODE_MAP select ARCH_DISCARD_MEMBLOCK select GENERIC_SMP_IDLE_THREAD + select HAVE_GENERIC_INIT_TASK menu "Machine selection"
arch/mips/Makefile +1 -1
@@ -235,7 +235,7 @@ endif OBJCOPYFLAGS += --remove-section=.reginfo -head-y := arch/mips/kernel/head.o arch/mips/kernel/init_task.o +head-y := arch/mips/kernel/head.o libs-y += arch/mips/lib/
arch/mips/kernel/Makefile +1 -1
@@ -2,7 +2,7 @@ # Makefile for the Linux/MIPS kernel. # -extra-y := head.o init_task.o vmlinux.lds +extra-y := head.o vmlinux.lds obj-y += cpu-probe.o branch.o entry.o genex.o irq.o process.o \ ptrace.o reset.o setup.o signal.o syscall.o \
arch/mips/kernel/init_task.c deleted +0 -35
@@ -1,35 +0,0 @@ -#include <linux/mm.h> -#include <linux/export.h> -#include <linux/sched.h> -#include <linux/init_task.h> -#include <linux/fs.h> -#include <linux/mqueue.h> - -#include <asm/thread_info.h> -#include <asm/uaccess.h> -#include <asm/pgtable.h> - -static struct signal_struct init_signals =INIT_SIGNALS (init_signals); -static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); -/* -* Initial thread structure. -* -* We need to make sure that this is 8192-byte aligned due to the -* way process stacks are handled. This is done by making sure -* the linker maps this in the .text segment right after head.S, -* and making head.S ensure the proper alignment. -* -* The things we do for performance.. -*/ -union thread_union init_thread_union __init_task_data - __attribute__((__aligned__(THREAD_SIZE))) = - {INIT_THREAD_INFO (init_task) }; - -/* -* Initial task structure. -* -* All other task structs will be allocated on slabs in fork.c -*/ -struct task_struct init_task =INIT_TASK (init_task); - -EXPORT_SYMBOL (init_task);
arch/mips/kernel/vmlinux.lds.S +1 -1
@@ -72,7 +72,7 @@ SECTIONS .data : { /* Data */ . = . + DATAOFFSET; /* for CONFIG_MAPPED_KERNEL */ - INIT_TASK_DATA(PAGE_SIZE) + INIT_TASK_DATA(THREAD_SIZE) NOSAVE_DATA CACHELINE_ALIGNED_DATA(1 << CONFIG_MIPS_L1_CACHE_SHIFT) READ_MOSTLY_DATA(1 << CONFIG_MIPS_L1_CACHE_SHIFT)
PATCH v2 18/31 mn10300: Use generic init_task
In reply to Thomas GleixnerSame code. Use the generic version. The special Makefile treatment is pointless anyway as init_task.o contains only data which is handled by the linker script. So no point on being treated like head text.
--- arch/mn10300/Kconfig | 1 + arch/mn10300/Makefile | 2 +- arch/mn10300/kernel/Makefile | 2 +- arch/mn10300/kernel/init_task.c | 39 --------------------------------------- 4 files changed, 3 insertions(+), 41 deletions(-)
arch/mn10300/Kconfig +1 -0
@@ -6,6 +6,7 @@ config MN10300 select HAVE_ARCH_TRACEHOOK select HAVE_ARCH_KGDB select HAVE_NMI_WATCHDOG if MN10300_WD_TIMER + select HAVE_GENERIC_INIT_TASK config AM33_2 def_bool n
arch/mn10300/Makefile +1 -1
@@ -51,7 +51,7 @@ UNIT := asb2364 endif -head-y := arch/mn10300/kernel/head.o arch/mn10300/kernel/init_task.o +head-y := arch/mn10300/kernel/head.o core-y += arch/mn10300/kernel/ arch/mn10300/mm/
arch/mn10300/kernel/Makefile +1 -1
@@ -1,7 +1,7 @@ # # Makefile for the MN10300-specific core kernel code # -extra-y := head.o init_task.o vmlinux.lds +extra-y := head.o vmlinux.lds fpu-obj-y := fpu-nofpu.o fpu-nofpu-low.o fpu-obj-$(CONFIG_FPU) := fpu.o fpu-low.o
arch/mn10300/kernel/init_task.c deleted +0 -39
@@ -1,39 +0,0 @@ -/* MN10300 Initial task definitions -* -* Copyright (C) 2007 Matsushita Electric Industrial Co., Ltd. -* Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. -* -* This program is free software; you can redistribute it and/or -* modify it under the terms of the GNU General Public Licence -* as published by the Free Software Foundation; either version -* 2 of the Licence, or (at your option) any later version. -*/ -#include <linux/mm.h> -#include <linux/module.h> -#include <linux/sched.h> -#include <linux/init.h> -#include <linux/init_task.h> -#include <linux/fs.h> -#include <linux/mqueue.h> -#include <asm/uaccess.h> -#include <asm/pgtable.h> - -static struct signal_struct init_signals =INIT_SIGNALS (init_signals); -static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); -/* -* Initial thread structure. -* -* We need to make sure that this is THREAD_SIZE aligned due to the -* way process stacks are handled. This is done by having a special -* "init_task" linker map entry.. -*/ -union thread_union init_thread_union __init_task_data = - {INIT_THREAD_INFO (init_task) }; - -/* -* Initial task structure. -* -* All other task structs will be allocated on slabs in fork.c -*/ -struct task_struct init_task =INIT_TASK (init_task); -EXPORT_SYMBOL (init_task);
[tip:smp/hotplug] mn10300: Use generic init_task
Commit-ID: fe285f523bc13185da6d4c740655b2c27c75cf13 Gitweb: http://git.kernel.org/tip/fe285f523bc13185da6d4c740655b2c27c75cf13 Author: Thomas Gleixner <[email protected]> AuthorDate: Thu, 3 May 2012 09:02:56 +0000 Committer: Thomas Gleixner <[email protected]> CommitDate: Sat, 5 May 2012 13:00:24 +0200
mn10300: Use generic init_task
Same code. Use the generic version. The special Makefile treatment is pointless anyway as init_task.o contains only data which is handled by the linker script. So no point on being treated like head text.
--- arch/mn10300/Kconfig | 1 + arch/mn10300/Makefile | 2 +- arch/mn10300/kernel/Makefile | 2 +- arch/mn10300/kernel/init_task.c | 39 --------------------------------------- 4 files changed, 3 insertions(+), 41 deletions(-)
arch/mn10300/Kconfig +1 -0
@@ -6,6 +6,7 @@ config MN10300 select HAVE_ARCH_TRACEHOOK select HAVE_ARCH_KGDB select HAVE_NMI_WATCHDOG if MN10300_WD_TIMER + select HAVE_GENERIC_INIT_TASK config AM33_2 def_bool n
arch/mn10300/Makefile +1 -1
@@ -51,7 +51,7 @@ UNIT := asb2364 endif -head-y := arch/mn10300/kernel/head.o arch/mn10300/kernel/init_task.o +head-y := arch/mn10300/kernel/head.o core-y += arch/mn10300/kernel/ arch/mn10300/mm/
arch/mn10300/kernel/Makefile +1 -1
@@ -1,7 +1,7 @@ # # Makefile for the MN10300-specific core kernel code # -extra-y := head.o init_task.o vmlinux.lds +extra-y := head.o vmlinux.lds fpu-obj-y := fpu-nofpu.o fpu-nofpu-low.o fpu-obj-$(CONFIG_FPU) := fpu.o fpu-low.o
arch/mn10300/kernel/init_task.c deleted +0 -39
@@ -1,39 +0,0 @@ -/* MN10300 Initial task definitions -* -* Copyright (C) 2007 Matsushita Electric Industrial Co., Ltd. -* Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. -* -* This program is free software; you can redistribute it and/or -* modify it under the terms of the GNU General Public Licence -* as published by the Free Software Foundation; either version -* 2 of the Licence, or (at your option) any later version. -*/ -#include <linux/mm.h> -#include <linux/module.h> -#include <linux/sched.h> -#include <linux/init.h> -#include <linux/init_task.h> -#include <linux/fs.h> -#include <linux/mqueue.h> -#include <asm/uaccess.h> -#include <asm/pgtable.h> - -static struct signal_struct init_signals =INIT_SIGNALS (init_signals); -static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); -/* -* Initial thread structure. -* -* We need to make sure that this is THREAD_SIZE aligned due to the -* way process stacks are handled. This is done by having a special -* "init_task" linker map entry.. -*/ -union thread_union init_thread_union __init_task_data = - {INIT_THREAD_INFO (init_task) }; - -/* -* Initial task structure. -* -* All other task structs will be allocated on slabs in fork.c -*/ -struct task_struct init_task =INIT_TASK (init_task); -EXPORT_SYMBOL (init_task);
PATCH v2 19/31 openrisc: Use generic init_task
In reply to Thomas GleixnerSame code. Use the generic version. The special Makefile treatment is pointless anyway as init_task.o contains only data which is handled by the linker script. So no point on being treated like head text.
--- arch/openrisc/Kconfig | 1 arch/openrisc/Makefile | 2 - arch/openrisc/kernel/Makefile | 2 - arch/openrisc/kernel/init_task.c | 42 --------------------------------------- 4 files changed, 3 insertions(+), 44 deletions(-)
arch/openrisc/Kconfig +1 -0
@@ -17,6 +17,7 @@ config OPENRISC select GENERIC_IOMAP select GENERIC_CPU_DEVICES select GENERIC_ATOMIC64 + select HAVE_GENERIC_INIT_TASK config MMU def_bool y
arch/openrisc/Makefile +1 -1
@@ -38,7 +38,7 @@ else KBUILD_CFLAGS += $(call cc-option,-msoft-div) endif -head-y := arch/openrisc/kernel/head.o arch/openrisc/kernel/init_task.o +head-y := arch/openrisc/kernel/head.o core-y += arch/openrisc/lib/ \ arch/openrisc/kernel/ \
arch/openrisc/kernel/Makefile +1 -1
@@ -2,7 +2,7 @@ # Makefile for the linux kernel. # -extra-y := head.o vmlinux.lds init_task.o +extra-y := head.o vmlinux.lds obj-y := setup.o idle.o or32_ksyms.o process.o dma.o \ traps.o time.o irq.o entry.o ptrace.o signal.o sys_or32.o \
arch/openrisc/kernel/init_task.c deleted +0 -42
42 lines not on this page · raw message
[tip:smp/hotplug] openrisc: Use generic init_task
Commit-ID: cf5e6def83fabdf10a05dc5a5981eda1672cb79c Gitweb: http://git.kernel.org/tip/cf5e6def83fabdf10a05dc5a5981eda1672cb79c Author: Thomas Gleixner <[email protected]> AuthorDate: Thu, 3 May 2012 09:02:56 +0000 Committer: Thomas Gleixner <[email protected]> CommitDate: Sat, 5 May 2012 13:00:24 +0200
openrisc: Use generic init_task
Same code. Use the generic version. The special Makefile treatment is pointless anyway as init_task.o contains only data which is handled by the linker script. So no point on being treated like head text.
--- arch/openrisc/Kconfig | 1 + arch/openrisc/Makefile | 2 +- arch/openrisc/kernel/Makefile | 2 +- arch/openrisc/kernel/init_task.c | 42 -------------------------------------- 4 files changed, 3 insertions(+), 44 deletions(-)
arch/openrisc/Kconfig +1 -0
@@ -17,6 +17,7 @@ config OPENRISC select GENERIC_IOMAP select GENERIC_CPU_DEVICES select GENERIC_ATOMIC64 + select HAVE_GENERIC_INIT_TASK config MMU def_bool y
arch/openrisc/Makefile +1 -1
@@ -38,7 +38,7 @@ else KBUILD_CFLAGS += $(call cc-option,-msoft-div) endif -head-y := arch/openrisc/kernel/head.o arch/openrisc/kernel/init_task.o +head-y := arch/openrisc/kernel/head.o core-y += arch/openrisc/lib/ \ arch/openrisc/kernel/ \
arch/openrisc/kernel/Makefile +1 -1
@@ -2,7 +2,7 @@ # Makefile for the linux kernel. # -extra-y := head.o vmlinux.lds init_task.o +extra-y := head.o vmlinux.lds obj-y := setup.o idle.o or32_ksyms.o process.o dma.o \ traps.o time.o irq.o entry.o ptrace.o signal.o sys_or32.o \
arch/openrisc/kernel/init_task.c deleted +0 -42
42 lines not on this page · raw message
Re: [patch V2 19/31] openrisc: Use generic init_task
In reply to Thomas GleixnerLooks good; nice cleanup and everything still works! Sorry for the delay in responding.
/Jonas
Quoted 101 lines · Thomas Gleixner
plain text document attachment (openrisc-use-generic-init-task.patch) Same code. Use the generic version. The special
Makefiletreatment is pointless anyway as init_task.o contains only data which is handled by the linker script. So no point on being treated like head text.Signed-off-by Thomas Gleixner <[email protected]>Cc Jonas Bonn <[email protected]>--- arch/openrisc/Kconfig | 1 arch/openrisc/Makefile | 2 - arch/openrisc/kernel/Makefile | 2 - arch/openrisc/kernel/init_task.c | 42 --------------------------------------- 4 files changed, 3 insertions(+), 44 deletions(-)Index: tip/arch/openrisc/Kconfig
===================================================================arch/openrisc/Kconfig +1
-0@@ -17,6 +17,7 @@ config OPENRISC select GENERIC_IOMAP select GENERIC_CPU_DEVICES select GENERIC_ATOMIC64 + select HAVE_GENERIC_INIT_TASK config MMU def_bool yIndex: tip/arch/openrisc/Makefile
===================================================================arch/openrisc/Makefile +1
-1@@ -38,7 +38,7 @@ else KBUILD_CFLAGS += $(call cc-option,-msoft-div) endif -head-y := arch/openrisc/kernel/head.o arch/openrisc/kernel/init_task.o +head-y := arch/openrisc/kernel/head.o core-y += arch/openrisc/lib/ \ arch/openrisc/kernel/ \Index: tip/arch/openrisc/kernel/Makefile
===================================================================arch/openrisc/kernel/Makefile +1
-1@@ -2,7 +2,7 @@ # Makefile for the linux kernel. # -extra-y := head.o vmlinux.lds init_task.o +extra-y := head.o vmlinux.lds obj-y := setup.o idle.o or32_ksyms.o process.o dma.o \ traps.o time.o irq.o entry.o ptrace.o signal.o sys_or32.o \Index:
tip/arch/openrisc/kernel/init_task.c
===================================================================arch/openrisc/kernel/init_task.c deleted +0
-42@@ -1,42 +0,0 @@ -/* -* OpenRISC init_task.c -* -* Linux architectural port borrowing liberally from similar works of -* others. All original copyrights apply as per the original source -* declaration. -* -* Modifications for the OpenRISC architecture: -* Copyright (C) 2003 Matjaz Breskvar <[email protected]> -* Copyright (C) 2010-2011 Jonas Bonn <[email protected]> -* -* This program is free software; you can redistribute it and/or -* modify it under the terms of the GNU General Public License -* as published by the Free Software Foundation; either version -* 2 of the License, or (at your option) any later version. -*/ - -#include <linux/init_task.h> -#include <linux/mqueue.h> -#include <linux/export.h> - -static struct signal_struct init_signals =INIT_SIGNALS (init_signals); -static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); - -/* -* Initial thread structure. -* -* We need to make sure that this is THREAD_SIZE aligned due to the -* way process stacks are handled. This is done by having a special -* "init_task" linker map entry.. -*/ -union thread_union init_thread_union __init_task_data = { -INIT_THREAD_INFO (init_task) -}; - -/* -* Initial task structure. -* -* All other task structs will be allocated on slabs in fork.c -*/ -struct task_struct init_task =INIT_TASK (init_task); -EXPORT_SYMBOL (init_task);
PATCH v2 20/31 parisc: Use generic init_task
In reply to Thomas GleixnerSame code, except: The alignment of init_thread_union is handled via the linker script, so no point to have it with the data structure. The extra asm(".data") looks like a leftover from an asm to C conversion and is pointless.
Use the generic version.
Move the page table data to parisc/mm/init.c and get rid of parisc/../init_task.c
--- arch/parisc/Kconfig | 1 arch/parisc/kernel/init_task.c | 70 ----------------------------------------- arch/parisc/mm/init.c | 12 +++++++ 3 files changed, 13 insertions(+), 70 deletions(-)
arch/parisc/Kconfig +1 -0
@@ -18,6 +18,7 @@ config PARISC select IRQ_PER_CPU select ARCH_HAVE_NMI_SAFE_CMPXCHG select GENERIC_SMP_IDLE_THREAD + select HAVE_GENERIC_INIT_TASK help The PA-RISC microprocessor is designed by Hewlett-Packard and used
arch/parisc/kernel/init_task.c deleted +0 -70
70 lines not on this page · raw message
arch/parisc/mm/init.c +12 -0
@@ -33,6 +33,18 @@extern int data_start; +#if PT_NLEVELS ==3 +/* NOTE: This layout exactly conforms to the hybrid L2/L3 page table layout +* with the first pmd adjacent to the pgd and below it. gcc doesn't actually +* guarantee that global objects will be laid out in memory in the same order +* as the order of declaration, so put these in different sections and use +* the linker script to order them. */ +pmd_t pmd0[PTRS_PER_PMD] __attribute__ ((__section__ (".data..vm0.pmd"), aligned(PAGE_SIZE))); +#endif + +pgd_t swapper_pg_dir[PTRS_PER_PGD] __attribute__ ((__section__ (".data..vm0.pgd"), aligned(PAGE_SIZE))); +pte_t pg0[PT_INITIAL * PTRS_PER_PTE] __attribute__ ((__section__ (".data..vm0.pte"), aligned(PAGE_SIZE))); +#ifdef CONFIG_DISCONTIGMEM struct node_map_data node_data[MAX_NUMNODES ]__read_mostly ;unsigned char pfnnid_map[PFNNID_MAP_MAX ]__read_mostly ;
[tip:smp/hotplug] parisc: Use generic init_task
Commit-ID: c39f52a9edc5e0687cbb54c08bcd78cf7fe26b62 Gitweb: http://git.kernel.org/tip/c39f52a9edc5e0687cbb54c08bcd78cf7fe26b62 Author: Thomas Gleixner <[email protected]> AuthorDate: Thu, 3 May 2012 09:02:57 +0000 Committer: Thomas Gleixner <[email protected]> CommitDate: Sat, 5 May 2012 13:00:24 +0200
parisc: Use generic init_task
Same code, except: The alignment of init_thread_union is handled via the linker script, so no point to have it with the data structure. The extra asm(".data") looks like a leftover from an asm to C conversion and is pointless.
Use the generic version.
Move the page table data to parisc/mm/init.c and get rid of parisc/../init_task.c
--- arch/parisc/Kconfig | 1 + arch/parisc/kernel/init_task.c | 70 ---------------------------------------- arch/parisc/mm/init.c | 12 +++++++ 3 files changed, 13 insertions(+), 70 deletions(-)
arch/parisc/Kconfig +1 -0
@@ -18,6 +18,7 @@ config PARISC select IRQ_PER_CPU select ARCH_HAVE_NMI_SAFE_CMPXCHG select GENERIC_SMP_IDLE_THREAD + select HAVE_GENERIC_INIT_TASK help The PA-RISC microprocessor is designed by Hewlett-Packard and used
arch/parisc/kernel/init_task.c deleted +0 -70
70 lines not on this page · raw message
arch/parisc/mm/init.c +12 -0
@@ -33,6 +33,18 @@extern int data_start; +#if PT_NLEVELS ==3 +/* NOTE: This layout exactly conforms to the hybrid L2/L3 page table layout +* with the first pmd adjacent to the pgd and below it. gcc doesn't actually +* guarantee that global objects will be laid out in memory in the same order +* as the order of declaration, so put these in different sections and use +* the linker script to order them. */ +pmd_t pmd0[PTRS_PER_PMD] __attribute__ ((__section__ (".data..vm0.pmd"), aligned(PAGE_SIZE))); +#endif + +pgd_t swapper_pg_dir[PTRS_PER_PGD] __attribute__ ((__section__ (".data..vm0.pgd"), aligned(PAGE_SIZE))); +pte_t pg0[PT_INITIAL * PTRS_PER_PTE] __attribute__ ((__section__ (".data..vm0.pte"), aligned(PAGE_SIZE))); +#ifdef CONFIG_DISCONTIGMEM struct node_map_data node_data[MAX_NUMNODES ]__read_mostly ;unsigned char pfnnid_map[PFNNID_MAP_MAX ]__read_mostly ;
PATCH v2 21/31 powerpc: Use generic init_task
In reply to Thomas GleixnerSame code. Use the generic version.
--- arch/powerpc/Kconfig | 1 + arch/powerpc/kernel/Makefile | 2 +- arch/powerpc/kernel/init_task.c | 29 ----------------------------- 3 files changed, 2 insertions(+), 30 deletions(-)
arch/powerpc/Kconfig +1 -0
@@ -145,6 +145,7 @@ config PPC select HAVE_ARCH_JUMP_LABEL select ARCH_HAVE_NMI_SAFE_CMPXCHG select GENERIC_SMP_IDLE_THREAD + select HAVE_GENERIC_INIT_TASK config EARLY_PRINTK bool
arch/powerpc/kernel/Makefile +1 -1
@@ -28,7 +28,7 @@ endif obj-y := cputable.o ptrace.o syscalls.o \ irq.o align.o signal_32.o pmc.o vdso.o \ - init_task.o process.o systbl.o idle.o \ + process.o systbl.o idle.o \ signal.o sysfs.o cacheinfo.o time.o \ prom.o traps.o setup-common.o \ udbg.o misc.o io.o dma.o \
arch/powerpc/kernel/init_task.c deleted +0 -29
@@ -1,29 +0,0 @@ -#include <linux/mm.h> -#include <linux/export.h> -#include <linux/sched.h> -#include <linux/init.h> -#include <linux/init_task.h> -#include <linux/fs.h> -#include <linux/mqueue.h> -#include <asm/uaccess.h> - -static struct signal_struct init_signals =INIT_SIGNALS (init_signals); -static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); -/* -* Initial thread structure. -* -* We need to make sure that this is 16384-byte aligned due to the -* way process stacks are handled. This is done by having a special -* "init_task" linker map entry.. -*/ -union thread_union init_thread_union __init_task_data = - {INIT_THREAD_INFO (init_task) }; - -/* -* Initial task structure. -* -* All other task structs will be allocated on slabs in fork.c -*/ -struct task_struct init_task =INIT_TASK (init_task); - -EXPORT_SYMBOL (init_task);
[tip:smp/hotplug] powerpc: Use generic init_task
Commit-ID: b0ce50aa89edd82aaadc57e8c774f714ede6101d Gitweb: http://git.kernel.org/tip/b0ce50aa89edd82aaadc57e8c774f714ede6101d Author: Thomas Gleixner <[email protected]> AuthorDate: Thu, 3 May 2012 09:02:57 +0000 Committer: Thomas Gleixner <[email protected]> CommitDate: Sat, 5 May 2012 13:00:25 +0200
powerpc: Use generic init_task
Same code. Use the generic version.
--- arch/powerpc/Kconfig | 1 + arch/powerpc/kernel/Makefile | 2 +- arch/powerpc/kernel/init_task.c | 29 ----------------------------- 3 files changed, 2 insertions(+), 30 deletions(-)
arch/powerpc/Kconfig +1 -0
@@ -145,6 +145,7 @@ config PPC select HAVE_ARCH_JUMP_LABEL select ARCH_HAVE_NMI_SAFE_CMPXCHG select GENERIC_SMP_IDLE_THREAD + select HAVE_GENERIC_INIT_TASK config EARLY_PRINTK bool
arch/powerpc/kernel/Makefile +1 -1
@@ -28,7 +28,7 @@ endif obj-y := cputable.o ptrace.o syscalls.o \ irq.o align.o signal_32.o pmc.o vdso.o \ - init_task.o process.o systbl.o idle.o \ + process.o systbl.o idle.o \ signal.o sysfs.o cacheinfo.o time.o \ prom.o traps.o setup-common.o \ udbg.o misc.o io.o dma.o \
arch/powerpc/kernel/init_task.c deleted +0 -29
@@ -1,29 +0,0 @@ -#include <linux/mm.h> -#include <linux/export.h> -#include <linux/sched.h> -#include <linux/init.h> -#include <linux/init_task.h> -#include <linux/fs.h> -#include <linux/mqueue.h> -#include <asm/uaccess.h> - -static struct signal_struct init_signals =INIT_SIGNALS (init_signals); -static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); -/* -* Initial thread structure. -* -* We need to make sure that this is 16384-byte aligned due to the -* way process stacks are handled. This is done by having a special -* "init_task" linker map entry.. -*/ -union thread_union init_thread_union __init_task_data = - {INIT_THREAD_INFO (init_task) }; - -/* -* Initial task structure. -* -* All other task structs will be allocated on slabs in fork.c -*/ -struct task_struct init_task =INIT_TASK (init_task); - -EXPORT_SYMBOL (init_task);
PATCH v2 22/31 s390: Use generic init_task
In reply to Thomas GleixnerSame code. Use the generic version. The special Makefile treatment is pointless anyway as init_task.o contains only data which is handled by the linker script. So no point on being treated like head text.
--- arch/s390/Kconfig | 1 + arch/s390/Makefile | 1 - arch/s390/kernel/Makefile | 2 +- arch/s390/kernel/init_task.c | 38 -------------------------------------- 4 files changed, 2 insertions(+), 40 deletions(-)
arch/s390/Kconfig +1 -0
@@ -123,6 +123,7 @@ config S390 select ARCH_INLINE_WRITE_UNLOCK_IRQ select ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE select GENERIC_SMP_IDLE_THREAD + select HAVE_GENERIC_INIT_TASK config SCHED_OMIT_FRAME_POINTER def_bool y
arch/s390/Makefile +0 -1
@@ -91,7 +91,6 @@ OBJCOPYFLAGS := -O binary head-y := arch/s390/kernel/head.o head-y += arch/s390/kernel/$(if $(CONFIG_64BIT),head64.o,head31.o) -head-y += arch/s390/kernel/init_task.o # See arch/s390/Kbuild for content of core part of the kernel core-y += arch/s390/
arch/s390/kernel/Makefile +1 -1
@@ -28,7 +28,7 @@ obj-y := bitmap.o traps.o time.o proces obj-y += $(if $(CONFIG_64BIT),entry64.o,entry.o) obj-y += $(if $(CONFIG_64BIT),reipl64.o,reipl.o) -extra-y += head.o init_task.o vmlinux.lds +extra-y += head.o vmlinux.lds extra-y += $(if $(CONFIG_64BIT),head64.o,head31.o) obj-$(CONFIG_MODULES) += s390_ksyms.o module.o
arch/s390/kernel/init_task.c deleted +0 -38
@@ -1,38 +0,0 @@ -/* -* arch/s390/kernel/init_task.c -* -* S390 version -* -* Derived from "arch/i386/kernel/init_task.c" -*/ - -#include <linux/mm.h> -#include <linux/fs.h> -#include <linux/module.h> -#include <linux/sched.h> -#include <linux/init_task.h> -#include <linux/mqueue.h> - -#include <asm/uaccess.h> -#include <asm/pgtable.h> - -static struct signal_struct init_signals =INIT_SIGNALS (init_signals); -static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); -/* -* Initial thread structure. -* -* We need to make sure that this is THREAD_SIZE aligned due to the -* way process stacks are handled. This is done by having a special -* "init_task" linker map entry.. -*/ -union thread_union init_thread_union __init_task_data = - {INIT_THREAD_INFO (init_task) }; - -/* -* Initial task structure. -* -* All other task structs will be allocated on slabs in fork.c -*/ -struct task_struct init_task =INIT_TASK (init_task); - -EXPORT_SYMBOL (init_task);
Re: [patch V2 22/31] s390: Use generic init_task
Quoted 7 lines · Thomas Gleixner
Same code. Use the generic version. The special
Makefiletreatment is pointless anyway as init_task.o contains only data which is handled by the linker script. So no point on being treated like head text.Signed-off-by Thomas Gleixner <[email protected]>Cc Martin Schwidefsky <[email protected]>Cc Heiko Carstens <[email protected]>
[tip:smp/hotplug] s390: Use generic init_task
In reply to Thomas GleixnerCommit-ID: edd813bb35227f19e9d7f808165c0c4e95e03149 Gitweb: http://git.kernel.org/tip/edd813bb35227f19e9d7f808165c0c4e95e03149 Author: Thomas Gleixner <[email protected]> AuthorDate: Thu, 3 May 2012 09:02:58 +0000 Committer: Thomas Gleixner <[email protected]> CommitDate: Sat, 5 May 2012 13:00:25 +0200
s390: Use generic init_task
Same code. Use the generic version. The special Makefile treatment is pointless anyway as init_task.o contains only data which is handled by the linker script. So no point on being treated like head text.
--- arch/s390/Kconfig | 1 + arch/s390/Makefile | 1 - arch/s390/kernel/Makefile | 2 +- arch/s390/kernel/init_task.c | 38 -------------------------------------- 4 files changed, 2 insertions(+), 40 deletions(-)
arch/s390/Kconfig +1 -0
@@ -123,6 +123,7 @@ config S390 select ARCH_INLINE_WRITE_UNLOCK_IRQ select ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE select GENERIC_SMP_IDLE_THREAD + select HAVE_GENERIC_INIT_TASK config SCHED_OMIT_FRAME_POINTER def_bool y
arch/s390/Makefile +0 -1
@@ -91,7 +91,6 @@ OBJCOPYFLAGS := -O binary head-y := arch/s390/kernel/head.o head-y += arch/s390/kernel/$(if $(CONFIG_64BIT),head64.o,head31.o) -head-y += arch/s390/kernel/init_task.o # See arch/s390/Kbuild for content of core part of the kernel core-y += arch/s390/
arch/s390/kernel/Makefile +1 -1
@@ -28,7 +28,7 @@ obj-y := bitmap.o traps.o time.o process.o base.o early.o setup.o vtime.o \ obj-y += $(if $(CONFIG_64BIT),entry64.o,entry.o) obj-y += $(if $(CONFIG_64BIT),reipl64.o,reipl.o) -extra-y += head.o init_task.o vmlinux.lds +extra-y += head.o vmlinux.lds extra-y += $(if $(CONFIG_64BIT),head64.o,head31.o) obj-$(CONFIG_MODULES) += s390_ksyms.o module.o
arch/s390/kernel/init_task.c deleted +0 -38
@@ -1,38 +0,0 @@ -/* -* arch/s390/kernel/init_task.c -* -* S390 version -* -* Derived from "arch/i386/kernel/init_task.c" -*/ - -#include <linux/mm.h> -#include <linux/fs.h> -#include <linux/module.h> -#include <linux/sched.h> -#include <linux/init_task.h> -#include <linux/mqueue.h> - -#include <asm/uaccess.h> -#include <asm/pgtable.h> - -static struct signal_struct init_signals =INIT_SIGNALS (init_signals); -static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); -/* -* Initial thread structure. -* -* We need to make sure that this is THREAD_SIZE aligned due to the -* way process stacks are handled. This is done by having a special -* "init_task" linker map entry.. -*/ -union thread_union init_thread_union __init_task_data = - {INIT_THREAD_INFO (init_task) }; - -/* -* Initial task structure. -* -* All other task structs will be allocated on slabs in fork.c -*/ -struct task_struct init_task =INIT_TASK (init_task); - -EXPORT_SYMBOL (init_task);
PATCH v2 23/31 score: Use generic init_task
In reply to Thomas GleixnerSame code. Use the generic version.
--- arch/score/Kconfig | 1 arch/score/kernel/Makefile | 2 - arch/score/kernel/init_task.c | 46 ------------------------------------------ 3 files changed, 2 insertions(+), 47 deletions(-)
arch/score/Kconfig +1 -0
@@ -9,6 +9,7 @@ config SCORE select HAVE_MEMBLOCK_NODE_MAP select ARCH_DISCARD_MEMBLOCK select GENERIC_CPU_DEVICES + select HAVE_GENERIC_INIT_TASK choice prompt "System type"
arch/score/kernel/Makefile +1 -1
@@ -4,7 +4,7 @@ extra-y := head.o vmlinux.lds -obj-y += entry.o init_task.o irq.o process.o ptrace.o \ +obj-y += entry.o irq.o process.o ptrace.o \ setup.o signal.o sys_score.o time.o traps.o \ sys_call_table.o
arch/score/kernel/init_task.c deleted +0 -46
46 lines not on this page · raw message
[tip:smp/hotplug] score: Use generic init_task
Commit-ID: 842d7b1ccaefb6668cad193dcc894959ad756f3f Gitweb: http://git.kernel.org/tip/842d7b1ccaefb6668cad193dcc894959ad756f3f Author: Thomas Gleixner <[email protected]> AuthorDate: Thu, 3 May 2012 09:02:58 +0000 Committer: Thomas Gleixner <[email protected]> CommitDate: Sat, 5 May 2012 13:00:25 +0200
score: Use generic init_task
Same code. Use the generic version.
--- arch/score/Kconfig | 1 + arch/score/kernel/Makefile | 2 +- arch/score/kernel/init_task.c | 46 ----------------------------------------- 3 files changed, 2 insertions(+), 47 deletions(-)
arch/score/Kconfig +1 -0
@@ -9,6 +9,7 @@ config SCORE select HAVE_MEMBLOCK_NODE_MAP select ARCH_DISCARD_MEMBLOCK select GENERIC_CPU_DEVICES + select HAVE_GENERIC_INIT_TASK choice prompt "System type"
arch/score/kernel/Makefile +1 -1
@@ -4,7 +4,7 @@ extra-y := head.o vmlinux.lds -obj-y += entry.o init_task.o irq.o process.o ptrace.o \ +obj-y += entry.o irq.o process.o ptrace.o \ setup.o signal.o sys_score.o time.o traps.o \ sys_call_table.o
arch/score/kernel/init_task.c deleted +0 -46
46 lines not on this page · raw message
PATCH v2 24/31 sh: Use generic init_task
In reply to Thomas GleixnerSame code. Use the generic version. The special Makefile treatment is pointless anyway as init_task.o contains only data which is handled by the linker script. So no point on being treated like head text.
--- arch/sh/Kconfig | 1 + arch/sh/Makefile | 2 +- arch/sh/kernel/Makefile | 2 +- arch/sh/kernel/init_task.c | 30 ------------------------------ 4 files changed, 3 insertions(+), 32 deletions(-)
arch/sh/Kconfig +1 -0
@@ -29,6 +29,7 @@ config SUPERH select GENERIC_ATOMIC64 select GENERIC_IRQ_SHOW select GENERIC_SMP_IDLE_THREAD + select HAVE_GENERIC_INIT_TASK help The SuperH is a RISC processor targeted for use in embedded systems and consumer electronics; it was also used in the Sega Dreamcast
arch/sh/Makefile +1 -1
@@ -124,7 +124,7 @@ endif export ld-bfd BITS -head-y := arch/sh/kernel/init_task.o arch/sh/kernel/head_$(BITS).o +head-y := arch/sh/kernel/head_$(BITS).o core-y += arch/sh/kernel/ arch/sh/mm/ arch/sh/boards/ core-$(CONFIG_SH_FPU_EMU) += arch/sh/math-emu/
arch/sh/kernel/Makefile +1 -1
@@ -2,7 +2,7 @@ # Makefile for the Linux/SuperH kernel. # -extra-y := head_$(BITS).o init_task.o vmlinux.lds +extra-y := head_$(BITS).o vmlinux.lds ifdef CONFIG_FUNCTION_TRACER # Do not profile debug and lowlevel utilities
arch/sh/kernel/init_task.c deleted +0 -30
@@ -1,30 +0,0 @@ -#include <linux/mm.h> -#include <linux/module.h> -#include <linux/sched.h> -#include <linux/init_task.h> -#include <linux/mqueue.h> -#include <linux/fs.h> -#include <asm/uaccess.h> -#include <asm/pgtable.h> - -static struct signal_struct init_signals =INIT_SIGNALS (init_signals); -static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); -struct pt_regs fake_swapper_regs; -/* -* Initial thread structure. -* -* We need to make sure that this is 8192-byte aligned due to the -* way process stacks are handled. This is done by having a special -* "init_task" linker map entry.. -*/ -union thread_union init_thread_union __init_task_data = - {INIT_THREAD_INFO (init_task) }; - -/* -* Initial task structure. -* -* All other task structs will be allocated on slabs in fork.c -*/ -struct task_struct init_task =INIT_TASK (init_task); - -EXPORT_SYMBOL (init_task);
[tip:smp/hotplug] sh: Use generic init_task
Commit-ID: 41fe22f6553d1384fbef20b195b8c61ed6e768a1 Gitweb: http://git.kernel.org/tip/41fe22f6553d1384fbef20b195b8c61ed6e768a1 Author: Thomas Gleixner <[email protected]> AuthorDate: Thu, 3 May 2012 09:02:59 +0000 Committer: Thomas Gleixner <[email protected]> CommitDate: Sat, 5 May 2012 13:00:25 +0200
sh: Use generic init_task
Same code. Use the generic version. The special Makefile treatment is pointless anyway as init_task.o contains only data which is handled by the linker script. So no point on being treated like head text.
--- arch/sh/Kconfig | 1 + arch/sh/Makefile | 2 +- arch/sh/kernel/Makefile | 2 +- arch/sh/kernel/init_task.c | 30 ------------------------------ 4 files changed, 3 insertions(+), 32 deletions(-)
arch/sh/Kconfig +1 -0
@@ -29,6 +29,7 @@ config SUPERH select GENERIC_ATOMIC64 select GENERIC_IRQ_SHOW select GENERIC_SMP_IDLE_THREAD + select HAVE_GENERIC_INIT_TASK help The SuperH is a RISC processor targeted for use in embedded systems and consumer electronics; it was also used in the Sega Dreamcast
arch/sh/Makefile +1 -1
@@ -124,7 +124,7 @@ endif export ld-bfd BITS -head-y := arch/sh/kernel/init_task.o arch/sh/kernel/head_$(BITS).o +head-y := arch/sh/kernel/head_$(BITS).o core-y += arch/sh/kernel/ arch/sh/mm/ arch/sh/boards/ core-$(CONFIG_SH_FPU_EMU) += arch/sh/math-emu/
arch/sh/kernel/Makefile +1 -1
@@ -2,7 +2,7 @@ # Makefile for the Linux/SuperH kernel. # -extra-y := head_$(BITS).o init_task.o vmlinux.lds +extra-y := head_$(BITS).o vmlinux.lds ifdef CONFIG_FUNCTION_TRACER # Do not profile debug and lowlevel utilities
arch/sh/kernel/init_task.c deleted +0 -30
@@ -1,30 +0,0 @@ -#include <linux/mm.h> -#include <linux/module.h> -#include <linux/sched.h> -#include <linux/init_task.h> -#include <linux/mqueue.h> -#include <linux/fs.h> -#include <asm/uaccess.h> -#include <asm/pgtable.h> - -static struct signal_struct init_signals =INIT_SIGNALS (init_signals); -static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); -struct pt_regs fake_swapper_regs; -/* -* Initial thread structure. -* -* We need to make sure that this is 8192-byte aligned due to the -* way process stacks are handled. This is done by having a special -* "init_task" linker map entry.. -*/ -union thread_union init_thread_union __init_task_data = - {INIT_THREAD_INFO (init_task) }; - -/* -* Initial task structure. -* -* All other task structs will be allocated on slabs in fork.c -*/ -struct task_struct init_task =INIT_TASK (init_task); - -EXPORT_SYMBOL (init_task);
PATCH v2 25/31 sparc: Use generic init_task
In reply to Thomas GleixnerSame code. Use the generic version.
--- arch/sparc/Kconfig | 1 + arch/sparc/Makefile | 1 - arch/sparc/kernel/Makefile | 1 - arch/sparc/kernel/init_task.c | 22 ---------------------- 4 files changed, 1 insertion(+), 24 deletions(-)
arch/sparc/Kconfig +1 -0
@@ -31,6 +31,7 @@ config SPARC select GENERIC_PCI_IOMAP select HAVE_NMI_WATCHDOG if SPARC64 select GENERIC_SMP_IDLE_THREAD + select HAVE_GENERIC_INIT_TASK config SPARC32 def_bool !64BIT
arch/sparc/Makefile +0 -1
@@ -62,7 +62,6 @@ endif endif head-y := arch/sparc/kernel/head_$(BITS).o -head-y += arch/sparc/kernel/init_task.o core-y += arch/sparc/kernel/ core-y += arch/sparc/mm/ arch/sparc/math-emu/
arch/sparc/kernel/Makefile +0 -1
@@ -6,7 +6,6 @@ asflags-y := -ansi ccflags-y := -Werror extra-y := head_$(BITS).o -extra-y += init_task.o # Undefine sparc when processing vmlinux.lds - it is used # And teach CPP we are doing $(BITS) builds (for this case)
arch/sparc/kernel/init_task.c deleted +0 -22
@@ -1,22 +0,0 @@ -#include <linux/mm.h> -#include <linux/fs.h> -#include <linux/module.h> -#include <linux/sched.h> -#include <linux/init_task.h> -#include <linux/mqueue.h> - -#include <asm/pgtable.h> -#include <asm/uaccess.h> - -static struct signal_struct init_signals =INIT_SIGNALS (init_signals); -static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); -struct task_struct init_task =INIT_TASK (init_task); -EXPORT_SYMBOL (init_task); - -/* .text section in head.S is aligned at 8k boundary and this gets linked -* right after that so that the init_thread_union is aligned properly as well. -* If this is not aligned on a 8k boundary, then you should change code -* in etrap.S which assumes it. -*/ -union thread_union init_thread_union __init_task_data = - {INIT_THREAD_INFO (init_task) };
[tip:smp/hotplug] sparc: Use generic init_task
Commit-ID: 3f149aa226e39e7f29ca7bb22f8e5bf304206a8f Gitweb: http://git.kernel.org/tip/3f149aa226e39e7f29ca7bb22f8e5bf304206a8f Author: Thomas Gleixner <[email protected]> AuthorDate: Thu, 3 May 2012 09:02:59 +0000 Committer: Thomas Gleixner <[email protected]> CommitDate: Sat, 5 May 2012 13:00:25 +0200
sparc: Use generic init_task
Same code. Use the generic version.
--- arch/sparc/Kconfig | 1 + arch/sparc/Makefile | 1 - arch/sparc/kernel/Makefile | 1 - arch/sparc/kernel/init_task.c | 22 ---------------------- 4 files changed, 1 insertions(+), 24 deletions(-)
arch/sparc/Kconfig +1 -0
@@ -31,6 +31,7 @@ config SPARC select GENERIC_PCI_IOMAP select HAVE_NMI_WATCHDOG if SPARC64 select GENERIC_SMP_IDLE_THREAD + select HAVE_GENERIC_INIT_TASK config SPARC32 def_bool !64BIT
arch/sparc/Makefile +0 -1
@@ -62,7 +62,6 @@ endif endif head-y := arch/sparc/kernel/head_$(BITS).o -head-y += arch/sparc/kernel/init_task.o core-y += arch/sparc/kernel/ core-y += arch/sparc/mm/ arch/sparc/math-emu/
arch/sparc/kernel/Makefile +0 -1
@@ -6,7 +6,6 @@ asflags-y := -ansi ccflags-y := -Werror extra-y := head_$(BITS).o -extra-y += init_task.o # Undefine sparc when processing vmlinux.lds - it is used # And teach CPP we are doing $(BITS) builds (for this case)
arch/sparc/kernel/init_task.c deleted +0 -22
@@ -1,22 +0,0 @@ -#include <linux/mm.h> -#include <linux/fs.h> -#include <linux/module.h> -#include <linux/sched.h> -#include <linux/init_task.h> -#include <linux/mqueue.h> - -#include <asm/pgtable.h> -#include <asm/uaccess.h> - -static struct signal_struct init_signals =INIT_SIGNALS (init_signals); -static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); -struct task_struct init_task =INIT_TASK (init_task); -EXPORT_SYMBOL (init_task); - -/* .text section in head.S is aligned at 8k boundary and this gets linked -* right after that so that the init_thread_union is aligned properly as well. -* If this is not aligned on a 8k boundary, then you should change code -* in etrap.S which assumes it. -*/ -union thread_union init_thread_union __init_task_data = - {INIT_THREAD_INFO (init_task) };
PATCH v2 26/31 tile: Use generic init_task
In reply to Thomas GleixnerSame code. Use the generic version. The special Makefile treatment is pointless anyway as init_task.o contains only data which is handled by the linker script. So no point on being treated like head text.
--- arch/tile/Kconfig | 1 arch/tile/kernel/Makefile | 2 - arch/tile/kernel/init_task.c | 59 ------------------------------------------- arch/tile/kernel/setup.c | 16 +++++++++++ 4 files changed, 18 insertions(+), 60 deletions(-)
arch/tile/Kconfig +1 -0
@@ -13,6 +13,7 @@ config TILE select GENERIC_IRQ_SHOW select SYS_HYPERVISOR select ARCH_HAVE_NMI_SAFE_CMPXCHG + select HAVE_GENERIC_INIT_TASK # FIXME: investigate whether we need/want these options. # select HAVE_IOREMAP_PROT
arch/tile/kernel/Makefile +1 -1
@@ -3,7 +3,7 @@ # extra-y := vmlinux.lds head_$(BITS).o -obj-y := backtrace.o entry.o init_task.o irq.o messaging.o \ +obj-y := backtrace.o entry.o irq.o messaging.o \ pci-dma.o proc.o process.o ptrace.o reboot.o \ setup.o signal.o single_step.o stack.o sys.o sysfs.o time.o traps.o \ intvec_$(BITS).o regs_$(BITS).o tile-desc_$(BITS).o
arch/tile/kernel/init_task.c deleted +0 -59
59 lines not on this page · raw message
arch/tile/kernel/setup.c +16 -0
@@ -61,6 +61,22 @@ unsigned long __initdata node_free_pfn[Mstatic unsigned long __initdata node_percpu[MAX_NUMNODES ]; +/* +* per-CPU stack and boot info. +*/ +DEFINE_PER_CPU(unsigned long, boot_sp) = + (unsigned long )init_stack +THREAD_SIZE ; + +#ifdef CONFIG_SMP +DEFINE_PER_CPU(unsigned long, boot_pc) = (unsigned long)start_kernel; +#else +/* +* The variable must be __initdata since it references __init code. +* With CONFIG_SMP it is per-cpu data, which is exempt from validation. +*/ +unsigned long __initdata boot_pc = (unsigned long )start_kernel; +#endif +#ifdef CONFIG_HIGHMEM /* Page frame index of end of lowmem on each controller. */ unsigned long __cpuinitdata node_lowmem_end_pfn[MAX_NUMNODES ];
[tip:smp/hotplug] tile: Use generic init_task
Commit-ID: 293ef7b8288da79112276ddd53902aff75ce7494 Gitweb: http://git.kernel.org/tip/293ef7b8288da79112276ddd53902aff75ce7494 Author: Thomas Gleixner <[email protected]> AuthorDate: Thu, 3 May 2012 09:02:59 +0000 Committer: Thomas Gleixner <[email protected]> CommitDate: Sat, 5 May 2012 13:00:26 +0200
tile: Use generic init_task
Same code. Use the generic version. The special Makefile treatment is pointless anyway as init_task.o contains only data which is handled by the linker script. So no point on being treated like head text.
--- arch/tile/Kconfig | 1 + arch/tile/kernel/Makefile | 2 +- arch/tile/kernel/init_task.c | 59 ------------------------------------------ arch/tile/kernel/setup.c | 16 +++++++++++ 4 files changed, 18 insertions(+), 60 deletions(-)
arch/tile/Kconfig +1 -0
@@ -13,6 +13,7 @@ config TILE select GENERIC_IRQ_SHOW select SYS_HYPERVISOR select ARCH_HAVE_NMI_SAFE_CMPXCHG + select HAVE_GENERIC_INIT_TASK # FIXME: investigate whether we need/want these options. # select HAVE_IOREMAP_PROT
arch/tile/kernel/Makefile +1 -1
@@ -3,7 +3,7 @@ # extra-y := vmlinux.lds head_$(BITS).o -obj-y := backtrace.o entry.o init_task.o irq.o messaging.o \ +obj-y := backtrace.o entry.o irq.o messaging.o \ pci-dma.o proc.o process.o ptrace.o reboot.o \ setup.o signal.o single_step.o stack.o sys.o sysfs.o time.o traps.o \ intvec_$(BITS).o regs_$(BITS).o tile-desc_$(BITS).o
arch/tile/kernel/init_task.c deleted +0 -59
59 lines not on this page · raw message
arch/tile/kernel/setup.c +16 -0
@@ -61,6 +61,22 @@ unsigned long __initdata node_free_pfn[MAX_NUMNODES];static unsigned long __initdata node_percpu[MAX_NUMNODES ]; +/* +* per-CPU stack and boot info. +*/ +DEFINE_PER_CPU(unsigned long, boot_sp) = + (unsigned long )init_stack +THREAD_SIZE ; + +#ifdef CONFIG_SMP +DEFINE_PER_CPU(unsigned long, boot_pc) = (unsigned long)start_kernel; +#else +/* +* The variable must be __initdata since it references __init code. +* With CONFIG_SMP it is per-cpu data, which is exempt from validation. +*/ +unsigned long __initdata boot_pc = (unsigned long )start_kernel; +#endif +#ifdef CONFIG_HIGHMEM /* Page frame index of end of lowmem on each controller. */ unsigned long __cpuinitdata node_lowmem_end_pfn[MAX_NUMNODES ];
PATCH v2 27/31 um: Use generic init_task
In reply to Thomas GleixnerSame code. Use the generic version.
--- arch/um/Kconfig.common | 1 + arch/um/kernel/Makefile | 2 +- arch/um/kernel/init_task.c | 38 -------------------------------------- arch/um/kernel/um_arch.c | 5 +++++ 4 files changed, 7 insertions(+), 39 deletions(-)
arch/um/Kconfig.common +1 -0
@@ -10,6 +10,7 @@ config UML select GENERIC_IRQ_SHOW select GENERIC_CPU_DEVICES select GENERIC_IO + select HAVE_GENERIC_INIT_TASK config MMU bool
arch/um/kernel/Makefile +1 -1
@@ -10,7 +10,7 @@ CPPFLAGS_vmlinux.lds := -DSTART=$(LDS_ST extra-y := vmlinux.lds clean-files := -obj-y = config.o exec.o exitcode.o init_task.o irq.o ksyms.o mem.o \ +obj-y = config.o exec.o exitcode.o irq.o ksyms.o mem.o \ physmem.o process.o ptrace.o reboot.o sigio.o \ signal.o smp.o syscall.o sysrq.o time.o tlb.o trap.o \ um_arch.o umid.o skas/
arch/um/kernel/init_task.c deleted +0 -38
@@ -1,38 +0,0 @@ -/* -* Copyright (C) 2000 - 2007 Jeff Dike (jdike@{addtoit,intel.linux}.com) -* Licensed under the GPL -*/ - -#include "linux/sched.h" -#include "linux/init_task.h" -#include "linux/fs.h" -#include "linux/module.h" -#include "linux/mqueue.h" -#include "asm/uaccess.h" - -static struct signal_struct init_signals =INIT_SIGNALS (init_signals); -static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); -/* -* Initial task structure. -* -* All other task structs will be allocated on slabs in fork.c -*/ - -struct task_struct init_task =INIT_TASK (init_task); - -EXPORT_SYMBOL (init_task); - -/* -* Initial thread structure. -* -* We need to make sure that this is aligned due to the -* way process stacks are handled. This is done by having a special -* "init_task" linker map entry.. -*/ - -union thread_union init_thread_union __init_task_data = - {INIT_THREAD_INFO (init_task) }; - -union thread_union cpu0_irqstack - __attribute__((__section__(".data..init_irqstack"))) = - { INIT_THREAD_INFO(init_task) };
arch/um/kernel/um_arch.c +5 -0
@@ -10,6 +10,7 @@#include <linux/seq_file.h> #include <linux/string.h> #include <linux/utsname.h> +#include <linux/sched.h> #include <asm/pgtable.h> #include <asm/processor.h> #include <asm/setup.h>
@@ -47,6 +48,10 @@ struct cpuinfo_um boot_cpu_data = { .ipi_pipe = { -1, -1 } }; +union thread_union cpu0_irqstack + __attribute__((__section__(".data..init_irqstack"))) = + { INIT_THREAD_INFO(init_task) }; +unsigned long thread_saved_pc (struct task_struct *task) {/* FIXME: Need to look up userspace_pid by cpu */
[tip:smp/hotplug] um: Use generic init_task
Commit-ID: 5b408241e99bd3f670122d4e6142b69cc6c24098 Gitweb: http://git.kernel.org/tip/5b408241e99bd3f670122d4e6142b69cc6c24098 Author: Thomas Gleixner <[email protected]> AuthorDate: Thu, 3 May 2012 09:03:00 +0000 Committer: Thomas Gleixner <[email protected]> CommitDate: Sat, 5 May 2012 13:00:26 +0200
um: Use generic init_task
Same code. Use the generic version.
--- arch/um/Kconfig.common | 1 + arch/um/kernel/Makefile | 2 +- arch/um/kernel/init_task.c | 38 -------------------------------------- arch/um/kernel/um_arch.c | 5 +++++ 4 files changed, 7 insertions(+), 39 deletions(-)
arch/um/Kconfig.common +1 -0
@@ -10,6 +10,7 @@ config UML select GENERIC_IRQ_SHOW select GENERIC_CPU_DEVICES select GENERIC_IO + select HAVE_GENERIC_INIT_TASK config MMU bool
arch/um/kernel/Makefile +1 -1
@@ -10,7 +10,7 @@ CPPFLAGS_vmlinux.lds := -DSTART=$(LDS_START) \ extra-y := vmlinux.lds clean-files := -obj-y = config.o exec.o exitcode.o init_task.o irq.o ksyms.o mem.o \ +obj-y = config.o exec.o exitcode.o irq.o ksyms.o mem.o \ physmem.o process.o ptrace.o reboot.o sigio.o \ signal.o smp.o syscall.o sysrq.o time.o tlb.o trap.o \ um_arch.o umid.o skas/
arch/um/kernel/init_task.c deleted +0 -38
@@ -1,38 +0,0 @@ -/* -* Copyright (C) 2000 - 2007 Jeff Dike (jdike@{addtoit,intel.linux}.com) -* Licensed under the GPL -*/ - -#include "linux/sched.h" -#include "linux/init_task.h" -#include "linux/fs.h" -#include "linux/module.h" -#include "linux/mqueue.h" -#include "asm/uaccess.h" - -static struct signal_struct init_signals =INIT_SIGNALS (init_signals); -static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); -/* -* Initial task structure. -* -* All other task structs will be allocated on slabs in fork.c -*/ - -struct task_struct init_task =INIT_TASK (init_task); - -EXPORT_SYMBOL (init_task); - -/* -* Initial thread structure. -* -* We need to make sure that this is aligned due to the -* way process stacks are handled. This is done by having a special -* "init_task" linker map entry.. -*/ - -union thread_union init_thread_union __init_task_data = - {INIT_THREAD_INFO (init_task) }; - -union thread_union cpu0_irqstack - __attribute__((__section__(".data..init_irqstack"))) = - { INIT_THREAD_INFO(init_task) };
arch/um/kernel/um_arch.c +5 -0
@@ -10,6 +10,7 @@#include <linux/seq_file.h> #include <linux/string.h> #include <linux/utsname.h> +#include <linux/sched.h> #include <asm/pgtable.h> #include <asm/processor.h> #include <asm/setup.h>
@@ -47,6 +48,10 @@ struct cpuinfo_um boot_cpu_data = { .ipi_pipe = { -1, -1 } }; +union thread_union cpu0_irqstack + __attribute__((__section__(".data..init_irqstack"))) = + { INIT_THREAD_INFO(init_task) }; +unsigned long thread_saved_pc (struct task_struct *task) {/* FIXME: Need to look up userspace_pid by cpu */
PATCH v2 28/31 unicore32: Use generic init_task
In reply to Thomas GleixnerSame code. Use the generic version. The special Makefile treatment is pointless anyway as init_task.o contains only data which is handled by the linker script. So no point on being treated like head text.
--- arch/unicore32/Kconfig | 1 arch/unicore32/Makefile | 1 arch/unicore32/kernel/Makefile | 2 - arch/unicore32/kernel/init_task.c | 44 -------------------------------------- 4 files changed, 2 insertions(+), 46 deletions(-)
arch/unicore32/Kconfig +1 -0
@@ -13,6 +13,7 @@ config UNICORE32 select GENERIC_IRQ_SHOW select ARCH_WANT_FRAME_POINTERS select GENERIC_IOMAP + select HAVE_GENERIC_INIT_TASK help UniCore-32 is 32-bit Instruction Set Architecture, including a series of low-power-consumption RISC chip
arch/unicore32/Makefile +0 -1
@@ -33,7 +33,6 @@ endif CHECKFLAGS += -D__unicore32__ head-y := arch/unicore32/kernel/head.o -head-y += arch/unicore32/kernel/init_task.o core-y += arch/unicore32/kernel/ core-y += arch/unicore32/mm/
arch/unicore32/kernel/Makefile +1 -1
@@ -29,4 +29,4 @@ obj-$(CONFIG_PUV3_NB0916) += puv3-nb0916 head-y := head.o obj-$(CONFIG_DEBUG_LL) += debug.o -extra-y := $(head-y) init_task.o vmlinux.lds +extra-y := $(head-y) vmlinux.lds
arch/unicore32/kernel/init_task.c deleted +0 -44
44 lines not on this page · raw message
[tip:smp/hotplug] unicore32: Use generic init_task
Commit-ID: d0b691dffaee89a4c9e1890694d0c77201d7a9b1 Gitweb: http://git.kernel.org/tip/d0b691dffaee89a4c9e1890694d0c77201d7a9b1 Author: Thomas Gleixner <[email protected]> AuthorDate: Thu, 3 May 2012 09:03:00 +0000 Committer: Thomas Gleixner <[email protected]> CommitDate: Sat, 5 May 2012 13:00:26 +0200
unicore32: Use generic init_task
Same code. Use the generic version. The special Makefile treatment is pointless anyway as init_task.o contains only data which is handled by the linker script. So no point on being treated like head text.
--- arch/unicore32/Kconfig | 1 + arch/unicore32/Makefile | 1 - arch/unicore32/kernel/Makefile | 2 +- arch/unicore32/kernel/init_task.c | 44 ------------------------------------- 4 files changed, 2 insertions(+), 46 deletions(-)
arch/unicore32/Kconfig +1 -0
@@ -13,6 +13,7 @@ config UNICORE32 select GENERIC_IRQ_SHOW select ARCH_WANT_FRAME_POINTERS select GENERIC_IOMAP + select HAVE_GENERIC_INIT_TASK help UniCore-32 is 32-bit Instruction Set Architecture, including a series of low-power-consumption RISC chip
arch/unicore32/Makefile +0 -1
@@ -33,7 +33,6 @@ endif CHECKFLAGS += -D__unicore32__ head-y := arch/unicore32/kernel/head.o -head-y += arch/unicore32/kernel/init_task.o core-y += arch/unicore32/kernel/ core-y += arch/unicore32/mm/
arch/unicore32/kernel/Makefile +1 -1
@@ -29,4 +29,4 @@ obj-$(CONFIG_PUV3_NB0916) += puv3-nb0916.o head-y := head.o obj-$(CONFIG_DEBUG_LL) += debug.o -extra-y := $(head-y) init_task.o vmlinux.lds +extra-y := $(head-y) vmlinux.lds
arch/unicore32/kernel/init_task.c deleted +0 -44
44 lines not on this page · raw message
PATCH v2 29/31 x86: Use generic init_task
In reply to Thomas GleixnerSame code. Use the generic version. The special Makefile treatment is pointless anyway as init_task.o contains only data which is handled by the linker script. So no point on being treated like head text.
--- arch/x86/Kconfig | 1 + arch/x86/Makefile | 1 - arch/x86/kernel/Makefile | 2 +- arch/x86/kernel/init_task.c | 42 ------------------------------------------ arch/x86/kernel/process.c | 9 +++++++++ 5 files changed, 11 insertions(+), 44 deletions(-)
arch/x86/Kconfig +1 -0
@@ -83,6 +83,7 @@ config X86 select GENERIC_IOMAP select DCACHE_WORD_ACCESS if !DEBUG_PAGEALLOC select GENERIC_SMP_IDLE_THREAD + select HAVE_GENERIC_INIT_TASK config INSTRUCTION_DECODER def_bool (KPROBES || PERF_EVENTS)
arch/x86/Makefile +0 -1
@@ -146,7 +146,6 @@ archheaders: head-y := arch/x86/kernel/head_$(BITS).o head-y += arch/x86/kernel/head$(BITS).o head-y += arch/x86/kernel/head.o -head-y += arch/x86/kernel/init_task.o libs-y += arch/x86/lib/
arch/x86/kernel/Makefile +1 -1
@@ -2,7 +2,7 @@ # Makefile for the linux kernel. # -extra-y := head_$(BITS).o head$(BITS).o head.o init_task.o vmlinux.lds +extra-y := head_$(BITS).o head$(BITS).o head.o vmlinux.lds CPPFLAGS_vmlinux.lds += -U$(UTS_MACHINE)
arch/x86/kernel/init_task.c deleted +0 -42
42 lines not on this page · raw message
arch/x86/kernel/process.c +9 -0
@@ -27,6 +27,15 @@#include <asm/debugreg.h> #include <asm/nmi.h> +/* +* per-CPU TSS segments. Threads are completely 'soft' on Linux, +* no more per-task TSS's. The TSS size is kept cacheline-aligned +* so they are allowed to end up in the .data..cacheline_aligned +* section. Since TSS's are completely CPU-local, we want them +* on exact cacheline boundaries, to eliminate cacheline ping-pong. +*/ +DEFINE_PER_CPU_SHARED_ALIGNED(struct tss_struct, init_tss) = INIT_TSS; +#ifdef CONFIG_X86_64 static DEFINE_PER_CPU(unsigned char, is_idle);static ATOMIC_NOTIFIER_HEAD (idle_notifier);
[tip:smp/hotplug] x86: Use generic init_task
Commit-ID: 45046892ef89c1e0caad66a03c8c1e14ad478d23 Gitweb: http://git.kernel.org/tip/45046892ef89c1e0caad66a03c8c1e14ad478d23 Author: Thomas Gleixner <[email protected]> AuthorDate: Thu, 3 May 2012 09:03:01 +0000 Committer: Thomas Gleixner <[email protected]> CommitDate: Sat, 5 May 2012 13:00:26 +0200
x86: Use generic init_task
Same code. Use the generic version. The special Makefile treatment is pointless anyway as init_task.o contains only data which is handled by the linker script. So no point on being treated like head text.
--- arch/x86/Kconfig | 1 + arch/x86/Makefile | 1 - arch/x86/kernel/Makefile | 2 +- arch/x86/kernel/init_task.c | 42 ------------------------------------------ arch/x86/kernel/process.c | 9 +++++++++ 5 files changed, 11 insertions(+), 44 deletions(-)
arch/x86/Kconfig +1 -0
@@ -83,6 +83,7 @@ config X86 select GENERIC_IOMAP select DCACHE_WORD_ACCESS if !DEBUG_PAGEALLOC select GENERIC_SMP_IDLE_THREAD + select HAVE_GENERIC_INIT_TASK config INSTRUCTION_DECODER def_bool (KPROBES || PERF_EVENTS)
arch/x86/Makefile +0 -1
@@ -146,7 +146,6 @@ archheaders: head-y := arch/x86/kernel/head_$(BITS).o head-y += arch/x86/kernel/head$(BITS).o head-y += arch/x86/kernel/head.o -head-y += arch/x86/kernel/init_task.o libs-y += arch/x86/lib/
arch/x86/kernel/Makefile +1 -1
@@ -2,7 +2,7 @@ # Makefile for the linux kernel. # -extra-y := head_$(BITS).o head$(BITS).o head.o init_task.o vmlinux.lds +extra-y := head_$(BITS).o head$(BITS).o head.o vmlinux.lds CPPFLAGS_vmlinux.lds += -U$(UTS_MACHINE)
arch/x86/kernel/init_task.c deleted +0 -42
42 lines not on this page · raw message
arch/x86/kernel/process.c +9 -0
@@ -27,6 +27,15 @@#include <asm/debugreg.h> #include <asm/nmi.h> +/* +* per-CPU TSS segments. Threads are completely 'soft' on Linux, +* no more per-task TSS's. The TSS size is kept cacheline-aligned +* so they are allowed to end up in the .data..cacheline_aligned +* section. Since TSS's are completely CPU-local, we want them +* on exact cacheline boundaries, to eliminate cacheline ping-pong. +*/ +DEFINE_PER_CPU_SHARED_ALIGNED(struct tss_struct, init_tss) = INIT_TSS; +#ifdef CONFIG_X86_64 static DEFINE_PER_CPU(unsigned char, is_idle);static ATOMIC_NOTIFIER_HEAD (idle_notifier);
PATCH v2 30/31 xtensa: Use generic init_task
In reply to Thomas GleixnerSame code. Use the generic version.
--- arch/xtensa/Kconfig | 1 + arch/xtensa/kernel/Makefile | 2 +- arch/xtensa/kernel/init_task.c | 31 ------------------------------- 3 files changed, 2 insertions(+), 32 deletions(-)
arch/xtensa/Kconfig +1 -0
@@ -10,6 +10,7 @@ config XTENSA select HAVE_GENERIC_HARDIRQS select GENERIC_IRQ_SHOW select GENERIC_CPU_DEVICES + select HAVE_GENERIC_INIT_TASK help Xtensa processors are 32-bit RISC machines designed by Tensilica primarily for embedded systems. These processors are both
arch/xtensa/kernel/Makefile +1 -1
@@ -6,7 +6,7 @@ extra-y := head.o vmlinux.lds obj-y := align.o entry.o irq.o coprocessor.o process.o ptrace.o \ setup.o signal.o syscall.o time.o traps.o vectors.o platform.o \ - pci-dma.o init_task.o io.o + pci-dma.o io.o obj-$(CONFIG_KGDB) += xtensa-stub.o obj-$(CONFIG_PCI) += pci.o
arch/xtensa/kernel/init_task.c deleted +0 -31
@@ -1,31 +0,0 @@ -/* -* arch/xtensa/kernel/init_task.c -* -* Xtensa Processor version. -* -* This file is subject to the terms and conditions of the GNU General Public -* License. See the file "COPYING" in the main directory of this archive -* for more details. -* -* Copyright (C) 2007 Tensilica Inc. -* -* Chris Zankel <[email protected]> -*/ - -#include <linux/mm.h> -#include <linux/fs.h> -#include <linux/init.h> -#include <linux/init_task.h> -#include <linux/module.h> -#include <linux/mqueue.h> - -#include <asm/uaccess.h> - -static struct signal_struct init_signals =INIT_SIGNALS (init_signals); -static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); -union thread_union init_thread_union __init_task_data = - {INIT_THREAD_INFO (init_task) }; - -struct task_struct init_task =INIT_TASK (init_task); - -EXPORT_SYMBOL (init_task);
[tip:smp/hotplug] xtensa: Use generic init_task
Commit-ID: e4d59621923ba6c42f30a9d74c7c78d101c2f7aa Gitweb: http://git.kernel.org/tip/e4d59621923ba6c42f30a9d74c7c78d101c2f7aa Author: Thomas Gleixner <[email protected]> AuthorDate: Thu, 3 May 2012 09:03:01 +0000 Committer: Thomas Gleixner <[email protected]> CommitDate: Sat, 5 May 2012 13:00:26 +0200
xtensa: Use generic init_task
Same code. Use the generic version.
--- arch/xtensa/Kconfig | 1 + arch/xtensa/kernel/Makefile | 2 +- arch/xtensa/kernel/init_task.c | 31 ------------------------------- 3 files changed, 2 insertions(+), 32 deletions(-)
arch/xtensa/Kconfig +1 -0
@@ -10,6 +10,7 @@ config XTENSA select HAVE_GENERIC_HARDIRQS select GENERIC_IRQ_SHOW select GENERIC_CPU_DEVICES + select HAVE_GENERIC_INIT_TASK help Xtensa processors are 32-bit RISC machines designed by Tensilica primarily for embedded systems. These processors are both
arch/xtensa/kernel/Makefile +1 -1
@@ -6,7 +6,7 @@ extra-y := head.o vmlinux.lds obj-y := align.o entry.o irq.o coprocessor.o process.o ptrace.o \ setup.o signal.o syscall.o time.o traps.o vectors.o platform.o \ - pci-dma.o init_task.o io.o + pci-dma.o io.o obj-$(CONFIG_KGDB) += xtensa-stub.o obj-$(CONFIG_PCI) += pci.o
arch/xtensa/kernel/init_task.c deleted +0 -31
@@ -1,31 +0,0 @@ -/* -* arch/xtensa/kernel/init_task.c -* -* Xtensa Processor version. -* -* This file is subject to the terms and conditions of the GNU General Public -* License. See the file "COPYING" in the main directory of this archive -* for more details. -* -* Copyright (C) 2007 Tensilica Inc. -* -* Chris Zankel <[email protected]> -*/ - -#include <linux/mm.h> -#include <linux/fs.h> -#include <linux/init.h> -#include <linux/init_task.h> -#include <linux/module.h> -#include <linux/mqueue.h> - -#include <asm/uaccess.h> - -static struct signal_struct init_signals =INIT_SIGNALS (init_signals); -static struct sighand_struct init_sighand =INIT_SIGHAND (init_sighand); -union thread_union init_thread_union __init_task_data = - {INIT_THREAD_INFO (init_task) }; - -struct task_struct init_task =INIT_TASK (init_task); - -EXPORT_SYMBOL (init_task);
PATCH v2 31/31 init_task: Replace CONFIG_HAVE_GENERIC_INIT_TASK
In reply to Thomas GleixnerNow that all archs except ia64 are converted, replace the config and let the ia64 select CONFIG_ARCH_INIT_TASK
--- arch/Kconfig | 2 +- arch/alpha/Kconfig | 1 - arch/arm/Kconfig | 1 - arch/avr32/Kconfig | 1 - arch/blackfin/Kconfig | 1 - arch/c6x/Kconfig | 1 - arch/cris/Kconfig | 1 - arch/frv/Kconfig | 1 - arch/h8300/Kconfig | 1 - arch/hexagon/Kconfig | 1 - arch/ia64/Kconfig | 1 + arch/m32r/Kconfig | 1 - arch/m68k/Kconfig | 1 - arch/microblaze/Kconfig | 1 - arch/mips/Kconfig | 1 - arch/mn10300/Kconfig | 1 - arch/openrisc/Kconfig | 1 - arch/parisc/Kconfig | 1 - arch/powerpc/Kconfig | 1 - arch/s390/Kconfig | 1 - arch/score/Kconfig | 1 - arch/sh/Kconfig | 1 - arch/sparc/Kconfig | 1 - arch/tile/Kconfig | 1 - arch/um/Kconfig.common | 1 - arch/unicore32/Kconfig | 1 - arch/x86/Kconfig | 1 - arch/xtensa/Kconfig | 1 - init/Makefile | 5 ++++- 29 files changed, 6 insertions(+), 28 deletions(-)
arch/Kconfig +1 -1
@@ -148,7 +148,7 @@ config USE_GENERIC_SMP_HELPERS config GENERIC_SMP_IDLE_THREAD bool -config HAVE_GENERIC_INIT_TASK +config ARCH_INIT_TASK bool config HAVE_REGS_AND_STACK_ACCESS_API
arch/alpha/Kconfig +0 -1
@@ -16,7 +16,6 @@ config ALPHA select ARCH_WANT_OPTIONAL_GPIOLIB select ARCH_HAVE_NMI_SAFE_CMPXCHG select GENERIC_SMP_IDLE_THREAD - select HAVE_GENERIC_INIT_TASK help The Alpha is a 64-bit general-purpose processor designed and marketed by the Digital Equipment Corporation of blessed memory,
arch/arm/Kconfig +0 -1
@@ -35,7 +35,6 @@ config ARM select GENERIC_PCI_IOMAP select HAVE_BPF_JIT if NET select GENERIC_SMP_IDLE_THREAD - select HAVE_GENERIC_INIT_TASK help The ARM series is a line of low-power-consumption RISC chip designs licensed by ARM Ltd and targeted at embedded applications and
arch/avr32/Kconfig +0 -1
@@ -12,7 +12,6 @@ config AVR32 select HARDIRQS_SW_RESEND select GENERIC_IRQ_SHOW select ARCH_HAVE_NMI_SAFE_CMPXCHG - select HAVE_GENERIC_INIT_TASK help AVR32 is a high-performance 32-bit RISC microprocessor core, designed for cost-sensitive embedded applications, with particular
arch/blackfin/Kconfig +0 -1
@@ -38,7 +38,6 @@ config BLACKFIN select IRQ_PER_CPU if SMP select HAVE_NMI_WATCHDOG if NMI_WATCHDOG select GENERIC_SMP_IDLE_THREAD - select HAVE_GENERIC_INIT_TASK config GENERIC_CSUM def_bool y
arch/c6x/Kconfig +0 -1
@@ -15,7 +15,6 @@ config TMS320C6X select IRQ_DOMAIN select OF select OF_EARLY_FLATTREE - select HAVE_GENERIC_INIT_TASK config MMU def_bool n
arch/cris/Kconfig +0 -1
@@ -50,7 +50,6 @@ config CRIS select GENERIC_IRQ_SHOW select GENERIC_IOMAP select GENERIC_SMP_IDLE_THREAD if ETRAX_ARCH_V32 - select HAVE_GENERIC_INIT_TASK config HZ int
arch/frv/Kconfig +0 -1
@@ -10,7 +10,6 @@ config FRV select ARCH_HAVE_NMI_SAFE_CMPXCHG select GENERIC_CPU_DEVICES select ARCH_THREAD_INFO_ALLOCATOR - select HAVE_GENERIC_INIT_TASK config ZONE_DMA bool
arch/h8300/Kconfig +0 -1
@@ -5,7 +5,6 @@ config H8300 select HAVE_GENERIC_HARDIRQS select GENERIC_IRQ_SHOW select GENERIC_CPU_DEVICES - select HAVE_GENERIC_INIT_TASK config SYMBOL_PREFIX string
arch/hexagon/Kconfig +0 -1
@@ -28,7 +28,6 @@ config HEXAGON select NO_IOPORT select GENERIC_IOMAP select GENERIC_SMP_IDLE_THREAD - select HAVE_GENERIC_INIT_TASK # mostly generic routines, with some accelerated ones ---help--- Qualcomm Hexagon is a processor architecture designed for high
arch/ia64/Kconfig +1 -0
@@ -36,6 +36,7 @@ config IA64 select GENERIC_SMP_IDLE_THREAD select ARCH_TASK_STRUCT_ALLOCATOR select ARCH_THREAD_INFO_ALLOCATOR + select ARCH_INIT_TASK default y help The Itanium Processor Family is Intel's 64-bit successor to
arch/m32r/Kconfig +0 -1
@@ -11,7 +11,6 @@ config M32R select GENERIC_IRQ_PROBE select GENERIC_IRQ_SHOW select GENERIC_ATOMIC64 - select HAVE_GENERIC_INIT_TASK config SBUS bool
arch/m68k/Kconfig +0 -1
@@ -8,7 +8,6 @@ config M68K select ARCH_HAVE_NMI_SAFE_CMPXCHG if RMW_INSNS select GENERIC_CPU_DEVICES select FPU if MMU - select HAVE_GENERIC_INIT_TASK config RWSEM_GENERIC_SPINLOCK bool
arch/microblaze/Kconfig +0 -1
@@ -22,7 +22,6 @@ config MICROBLAZE select GENERIC_PCI_IOMAP select GENERIC_CPU_DEVICES select GENERIC_ATOMIC64 - select HAVE_GENERIC_INIT_TASK config SWAP def_bool n
arch/mips/Kconfig +0 -1
@@ -30,7 +30,6 @@ config MIPS select HAVE_MEMBLOCK_NODE_MAP select ARCH_DISCARD_MEMBLOCK select GENERIC_SMP_IDLE_THREAD - select HAVE_GENERIC_INIT_TASK menu "Machine selection"
arch/mn10300/Kconfig +0 -1
@@ -6,7 +6,6 @@ config MN10300 select HAVE_ARCH_TRACEHOOK select HAVE_ARCH_KGDB select HAVE_NMI_WATCHDOG if MN10300_WD_TIMER - select HAVE_GENERIC_INIT_TASK config AM33_2 def_bool n
arch/openrisc/Kconfig +0 -1
@@ -17,7 +17,6 @@ config OPENRISC select GENERIC_IOMAP select GENERIC_CPU_DEVICES select GENERIC_ATOMIC64 - select HAVE_GENERIC_INIT_TASK config MMU def_bool y
arch/parisc/Kconfig +0 -1
@@ -18,7 +18,6 @@ config PARISC select IRQ_PER_CPU select ARCH_HAVE_NMI_SAFE_CMPXCHG select GENERIC_SMP_IDLE_THREAD - select HAVE_GENERIC_INIT_TASK help The PA-RISC microprocessor is designed by Hewlett-Packard and used
arch/powerpc/Kconfig +0 -1
@@ -145,7 +145,6 @@ config PPC select HAVE_ARCH_JUMP_LABEL select ARCH_HAVE_NMI_SAFE_CMPXCHG select GENERIC_SMP_IDLE_THREAD - select HAVE_GENERIC_INIT_TASK config EARLY_PRINTK bool
arch/s390/Kconfig +0 -1
@@ -123,7 +123,6 @@ config S390 select ARCH_INLINE_WRITE_UNLOCK_IRQ select ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE select GENERIC_SMP_IDLE_THREAD - select HAVE_GENERIC_INIT_TASK config SCHED_OMIT_FRAME_POINTER def_bool y
arch/score/Kconfig +0 -1
@@ -9,7 +9,6 @@ config SCORE select HAVE_MEMBLOCK_NODE_MAP select ARCH_DISCARD_MEMBLOCK select GENERIC_CPU_DEVICES - select HAVE_GENERIC_INIT_TASK choice prompt "System type"
arch/sh/Kconfig +0 -1
@@ -29,7 +29,6 @@ config SUPERH select GENERIC_ATOMIC64 select GENERIC_IRQ_SHOW select GENERIC_SMP_IDLE_THREAD - select HAVE_GENERIC_INIT_TASK help The SuperH is a RISC processor targeted for use in embedded systems and consumer electronics; it was also used in the Sega Dreamcast
arch/sparc/Kconfig +0 -1
@@ -31,7 +31,6 @@ config SPARC select GENERIC_PCI_IOMAP select HAVE_NMI_WATCHDOG if SPARC64 select GENERIC_SMP_IDLE_THREAD - select HAVE_GENERIC_INIT_TASK config SPARC32 def_bool !64BIT
arch/tile/Kconfig +0 -1
@@ -13,7 +13,6 @@ config TILE select GENERIC_IRQ_SHOW select SYS_HYPERVISOR select ARCH_HAVE_NMI_SAFE_CMPXCHG - select HAVE_GENERIC_INIT_TASK # FIXME: investigate whether we need/want these options. # select HAVE_IOREMAP_PROT
arch/um/Kconfig.common +0 -1
@@ -10,7 +10,6 @@ config UML select GENERIC_IRQ_SHOW select GENERIC_CPU_DEVICES select GENERIC_IO - select HAVE_GENERIC_INIT_TASK config MMU bool
arch/unicore32/Kconfig +0 -1
@@ -13,7 +13,6 @@ config UNICORE32 select GENERIC_IRQ_SHOW select ARCH_WANT_FRAME_POINTERS select GENERIC_IOMAP - select HAVE_GENERIC_INIT_TASK help UniCore-32 is 32-bit Instruction Set Architecture, including a series of low-power-consumption RISC chip
arch/x86/Kconfig +0 -1
@@ -83,7 +83,6 @@ config X86 select GENERIC_IOMAP select DCACHE_WORD_ACCESS if !DEBUG_PAGEALLOC select GENERIC_SMP_IDLE_THREAD - select HAVE_GENERIC_INIT_TASK config INSTRUCTION_DECODER def_bool (KPROBES || PERF_EVENTS)
arch/xtensa/Kconfig +0 -1
@@ -10,7 +10,6 @@ config XTENSA select HAVE_GENERIC_HARDIRQS select GENERIC_IRQ_SHOW select GENERIC_CPU_DEVICES - select HAVE_GENERIC_INIT_TASK help Xtensa processors are 32-bit RISC machines designed by Tensilica primarily for embedded systems. These processors are both
init/Makefile +4 -1
@@ -9,7 +9,10 @@ else obj-$(CONFIG_BLK_DEV_INITRD) += initramfs.o endif obj-$(CONFIG_GENERIC_CALIBRATE_DELAY) += calibrate.o -obj-$(CONFIG_HAVE_GENERIC_INIT_TASK) += init_task.o + +ifneq ($(CONFIG_ARCH_INIT_TASK),y) +obj-y += init_task.o +endif mounts-y := do_mounts.o mounts-$(CONFIG_BLK_DEV_RAM) += do_mounts_rd.o
[tip:smp/hotplug] init_task: Replace CONFIG_HAVE_GENERIC_INIT_TASK
Commit-ID: a6359d1eec43d1fd6ffbac958149844873e0084f Gitweb: http://git.kernel.org/tip/a6359d1eec43d1fd6ffbac958149844873e0084f Author: Thomas Gleixner <[email protected]> AuthorDate: Thu, 3 May 2012 09:03:02 +0000 Committer: Thomas Gleixner <[email protected]> CommitDate: Sat, 5 May 2012 13:00:46 +0200
init_task: Replace CONFIG_HAVE_GENERIC_INIT_TASK
Now that all archs except ia64 are converted, replace the config and let the ia64 select CONFIG_ARCH_INIT_TASK
--- arch/Kconfig | 3 ++- arch/alpha/Kconfig | 1 - arch/arm/Kconfig | 1 - arch/avr32/Kconfig | 1 - arch/blackfin/Kconfig | 1 - arch/c6x/Kconfig | 1 - arch/cris/Kconfig | 1 - arch/frv/Kconfig | 1 - arch/h8300/Kconfig | 1 - arch/hexagon/Kconfig | 1 - arch/ia64/Kconfig | 1 + arch/m32r/Kconfig | 1 - arch/m68k/Kconfig | 1 - arch/microblaze/Kconfig | 1 - arch/mips/Kconfig | 1 - arch/mn10300/Kconfig | 1 - arch/openrisc/Kconfig | 1 - arch/parisc/Kconfig | 1 - arch/powerpc/Kconfig | 1 - arch/s390/Kconfig | 1 - arch/score/Kconfig | 1 - arch/sh/Kconfig | 1 - arch/sparc/Kconfig | 1 - arch/tile/Kconfig | 1 - arch/um/Kconfig.common | 1 - arch/unicore32/Kconfig | 1 - arch/x86/Kconfig | 1 - arch/xtensa/Kconfig | 1 - init/Makefile | 5 ++++- 29 files changed, 7 insertions(+), 28 deletions(-)
arch/Kconfig +2 -1
@@ -148,7 +148,8 @@ config USE_GENERIC_SMP_HELPERS config GENERIC_SMP_IDLE_THREAD bool -config HAVE_GENERIC_INIT_TASK +# Select if arch init_task initializer is different to init/init_task.c +config ARCH_INIT_TASK bool config HAVE_REGS_AND_STACK_ACCESS_API
arch/alpha/Kconfig +0 -1
@@ -16,7 +16,6 @@ config ALPHA select ARCH_WANT_OPTIONAL_GPIOLIB select ARCH_HAVE_NMI_SAFE_CMPXCHG select GENERIC_SMP_IDLE_THREAD - select HAVE_GENERIC_INIT_TASK help The Alpha is a 64-bit general-purpose processor designed and marketed by the Digital Equipment Corporation of blessed memory,
arch/arm/Kconfig +0 -1
@@ -35,7 +35,6 @@ config ARM select GENERIC_PCI_IOMAP select HAVE_BPF_JIT if NET select GENERIC_SMP_IDLE_THREAD - select HAVE_GENERIC_INIT_TASK help The ARM series is a line of low-power-consumption RISC chip designs licensed by ARM Ltd and targeted at embedded applications and
arch/avr32/Kconfig +0 -1
@@ -12,7 +12,6 @@ config AVR32 select HARDIRQS_SW_RESEND select GENERIC_IRQ_SHOW select ARCH_HAVE_NMI_SAFE_CMPXCHG - select HAVE_GENERIC_INIT_TASK help AVR32 is a high-performance 32-bit RISC microprocessor core, designed for cost-sensitive embedded applications, with particular
arch/blackfin/Kconfig +0 -1
@@ -38,7 +38,6 @@ config BLACKFIN select IRQ_PER_CPU if SMP select HAVE_NMI_WATCHDOG if NMI_WATCHDOG select GENERIC_SMP_IDLE_THREAD - select HAVE_GENERIC_INIT_TASK config GENERIC_CSUM def_bool y
arch/c6x/Kconfig +0 -1
@@ -10,7 +10,6 @@ config TMS320C6X select HAVE_ARCH_TRACEHOOK select HAVE_DMA_API_DEBUG select HAVE_GENERIC_HARDIRQS - select HAVE_GENERIC_INIT_TASK select HAVE_MEMBLOCK select SPARSE_IRQ select IRQ_DOMAIN
arch/cris/Kconfig +0 -1
@@ -50,7 +50,6 @@ config CRIS select GENERIC_IRQ_SHOW select GENERIC_IOMAP select GENERIC_SMP_IDLE_THREAD if ETRAX_ARCH_V32 - select HAVE_GENERIC_INIT_TASK config HZ int
arch/frv/Kconfig +0 -1
@@ -9,7 +9,6 @@ config FRV select GENERIC_IRQ_SHOW select ARCH_HAVE_NMI_SAFE_CMPXCHG select GENERIC_CPU_DEVICES - select HAVE_GENERIC_INIT_TASK config ZONE_DMA bool
arch/h8300/Kconfig +0 -1
@@ -5,7 +5,6 @@ config H8300 select HAVE_GENERIC_HARDIRQS select GENERIC_IRQ_SHOW select GENERIC_CPU_DEVICES - select HAVE_GENERIC_INIT_TASK config SYMBOL_PREFIX string
arch/hexagon/Kconfig +0 -1
@@ -28,7 +28,6 @@ config HEXAGON select NO_IOPORT select GENERIC_IOMAP select GENERIC_SMP_IDLE_THREAD - select HAVE_GENERIC_INIT_TASK # mostly generic routines, with some accelerated ones ---help--- Qualcomm Hexagon is a processor architecture designed for high
arch/ia64/Kconfig +1 -0
@@ -34,6 +34,7 @@ config IA64 select ARCH_HAVE_NMI_SAFE_CMPXCHG select GENERIC_IOMAP select GENERIC_SMP_IDLE_THREAD + select ARCH_INIT_TASK default y help The Itanium Processor Family is Intel's 64-bit successor to
arch/m32r/Kconfig +0 -1
@@ -11,7 +11,6 @@ config M32R select GENERIC_IRQ_PROBE select GENERIC_IRQ_SHOW select GENERIC_ATOMIC64 - select HAVE_GENERIC_INIT_TASK config SBUS bool
arch/m68k/Kconfig +0 -1
@@ -8,7 +8,6 @@ config M68K select ARCH_HAVE_NMI_SAFE_CMPXCHG if RMW_INSNS select GENERIC_CPU_DEVICES select FPU if MMU - select HAVE_GENERIC_INIT_TASK config RWSEM_GENERIC_SPINLOCK bool
arch/microblaze/Kconfig +0 -1
@@ -22,7 +22,6 @@ config MICROBLAZE select GENERIC_PCI_IOMAP select GENERIC_CPU_DEVICES select GENERIC_ATOMIC64 - select HAVE_GENERIC_INIT_TASK config SWAP def_bool n
arch/mips/Kconfig +0 -1
@@ -30,7 +30,6 @@ config MIPS select HAVE_MEMBLOCK_NODE_MAP select ARCH_DISCARD_MEMBLOCK select GENERIC_SMP_IDLE_THREAD - select HAVE_GENERIC_INIT_TASK menu "Machine selection"
arch/mn10300/Kconfig +0 -1
@@ -6,7 +6,6 @@ config MN10300 select HAVE_ARCH_TRACEHOOK select HAVE_ARCH_KGDB select HAVE_NMI_WATCHDOG if MN10300_WD_TIMER - select HAVE_GENERIC_INIT_TASK config AM33_2 def_bool n
arch/openrisc/Kconfig +0 -1
@@ -17,7 +17,6 @@ config OPENRISC select GENERIC_IOMAP select GENERIC_CPU_DEVICES select GENERIC_ATOMIC64 - select HAVE_GENERIC_INIT_TASK config MMU def_bool y
arch/parisc/Kconfig +0 -1
@@ -18,7 +18,6 @@ config PARISC select IRQ_PER_CPU select ARCH_HAVE_NMI_SAFE_CMPXCHG select GENERIC_SMP_IDLE_THREAD - select HAVE_GENERIC_INIT_TASK help The PA-RISC microprocessor is designed by Hewlett-Packard and used
arch/powerpc/Kconfig +0 -1
@@ -145,7 +145,6 @@ config PPC select HAVE_ARCH_JUMP_LABEL select ARCH_HAVE_NMI_SAFE_CMPXCHG select GENERIC_SMP_IDLE_THREAD - select HAVE_GENERIC_INIT_TASK config EARLY_PRINTK bool
arch/s390/Kconfig +0 -1
@@ -123,7 +123,6 @@ config S390 select ARCH_INLINE_WRITE_UNLOCK_IRQ select ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE select GENERIC_SMP_IDLE_THREAD - select HAVE_GENERIC_INIT_TASK config SCHED_OMIT_FRAME_POINTER def_bool y
arch/score/Kconfig +0 -1
@@ -9,7 +9,6 @@ config SCORE select HAVE_MEMBLOCK_NODE_MAP select ARCH_DISCARD_MEMBLOCK select GENERIC_CPU_DEVICES - select HAVE_GENERIC_INIT_TASK choice prompt "System type"
arch/sh/Kconfig +0 -1
@@ -29,7 +29,6 @@ config SUPERH select GENERIC_ATOMIC64 select GENERIC_IRQ_SHOW select GENERIC_SMP_IDLE_THREAD - select HAVE_GENERIC_INIT_TASK help The SuperH is a RISC processor targeted for use in embedded systems and consumer electronics; it was also used in the Sega Dreamcast
arch/sparc/Kconfig +0 -1
@@ -31,7 +31,6 @@ config SPARC select GENERIC_PCI_IOMAP select HAVE_NMI_WATCHDOG if SPARC64 select GENERIC_SMP_IDLE_THREAD - select HAVE_GENERIC_INIT_TASK config SPARC32 def_bool !64BIT
arch/tile/Kconfig +0 -1
@@ -13,7 +13,6 @@ config TILE select GENERIC_IRQ_SHOW select SYS_HYPERVISOR select ARCH_HAVE_NMI_SAFE_CMPXCHG - select HAVE_GENERIC_INIT_TASK # FIXME: investigate whether we need/want these options. # select HAVE_IOREMAP_PROT
arch/um/Kconfig.common +0 -1
@@ -10,7 +10,6 @@ config UML select GENERIC_IRQ_SHOW select GENERIC_CPU_DEVICES select GENERIC_IO - select HAVE_GENERIC_INIT_TASK config MMU bool
arch/unicore32/Kconfig +0 -1
@@ -13,7 +13,6 @@ config UNICORE32 select GENERIC_IRQ_SHOW select ARCH_WANT_FRAME_POINTERS select GENERIC_IOMAP - select HAVE_GENERIC_INIT_TASK help UniCore-32 is 32-bit Instruction Set Architecture, including a series of low-power-consumption RISC chip
arch/x86/Kconfig +0 -1
@@ -83,7 +83,6 @@ config X86 select GENERIC_IOMAP select DCACHE_WORD_ACCESS if !DEBUG_PAGEALLOC select GENERIC_SMP_IDLE_THREAD - select HAVE_GENERIC_INIT_TASK config INSTRUCTION_DECODER def_bool (KPROBES || PERF_EVENTS)
arch/xtensa/Kconfig +0 -1
@@ -10,7 +10,6 @@ config XTENSA select HAVE_GENERIC_HARDIRQS select GENERIC_IRQ_SHOW select GENERIC_CPU_DEVICES - select HAVE_GENERIC_INIT_TASK help Xtensa processors are 32-bit RISC machines designed by Tensilica primarily for embedded systems. These processors are both
init/Makefile +4 -1
@@ -9,7 +9,10 @@ else obj-$(CONFIG_BLK_DEV_INITRD) += initramfs.o endif obj-$(CONFIG_GENERIC_CALIBRATE_DELAY) += calibrate.o -obj-$(CONFIG_HAVE_GENERIC_INIT_TASK) += init_task.o + +ifneq ($(CONFIG_ARCH_INIT_TASK),y) +obj-y += init_task.o +endif mounts-y := do_mounts.o mounts-$(CONFIG_BLK_DEV_RAM) += do_mounts_rd.o