* [patch 00/29] init_task: Use a generic init_task variant
@ 2012-04-30 20:15 Thomas Gleixner
2012-04-30 20:15 ` [patch 02/29] alpha: Use generic init_task Thomas Gleixner
` (28 more replies)
0 siblings, 29 replies; 49+ messages in thread
From: Thomas Gleixner @ 2012-04-30 20:15 UTC (permalink / raw)
To: LKML; +Cc: linux-arch
All architectures do roughly the same to initialize init_task. The
only architecture which deviates is ia64, but I could not figure out
why it couldn't use the same setup as all other architectures.
The following series converts all archs to a generic version.
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/ia64/kernel/init_task.c | 42 ---------------------
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/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/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/Makefile | 2 -
tip/arch/frv/kernel/Makefile | 2 -
tip/arch/h8300/kernel/Makefile | 2 -
tip/arch/hexagon/Makefile | 3 -
tip/arch/hexagon/kernel/Makefile | 2 -
tip/arch/ia64/Makefile | 2 -
tip/arch/ia64/kernel/Makefile | 2 -
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/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/kernel/sched/Makefile | 4 --
tip/kernel/sched/init_task.c | 24 ++++++++++++
69 files changed, 100 insertions(+), 981 deletions(-)
^ permalink raw reply [flat|nested] 49+ messages in thread
* [patch 02/29] alpha: Use generic init_task
2012-04-30 20:15 [patch 00/29] init_task: Use a generic init_task variant Thomas Gleixner
@ 2012-04-30 20:15 ` Thomas Gleixner
2012-04-30 20:15 ` [patch 03/29] arm: " Thomas Gleixner
` (27 subsequent siblings)
28 siblings, 0 replies; 49+ messages in thread
From: Thomas Gleixner @ 2012-04-30 20:15 UTC (permalink / raw)
To: LKML; +Cc: linux-arch, Matt Turner
[-- Attachment #1: alpha-use-generic-init-task.patch --]
[-- Type: text/plain, Size: 2028 bytes --]
Identical code. Use the generic version.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Matt Turner <mattst88@gmail.com>
---
arch/alpha/Kconfig | 1 +
arch/alpha/kernel/Makefile | 2 +-
arch/alpha/kernel/init_task.c | 17 -----------------
3 files changed, 2 insertions(+), 18 deletions(-)
Index: tip/arch/alpha/Kconfig
===================================================================
--- tip.orig/arch/alpha/Kconfig
+++ tip/arch/alpha/Kconfig
@@ -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,
Index: tip/arch/alpha/kernel/Makefile
===================================================================
--- tip.orig/arch/alpha/kernel/Makefile
+++ tip/arch/alpha/kernel/Makefile
@@ -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
Index: tip/arch/alpha/kernel/init_task.c
===================================================================
--- tip.orig/arch/alpha/kernel/init_task.c
+++ /dev/null
@@ -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) };
^ permalink raw reply [flat|nested] 49+ messages in thread
* [patch 03/29] arm: Use generic init_task
2012-04-30 20:15 [patch 00/29] init_task: Use a generic init_task variant Thomas Gleixner
2012-04-30 20:15 ` [patch 02/29] alpha: Use generic init_task Thomas Gleixner
@ 2012-04-30 20:15 ` Thomas Gleixner
2012-04-30 20:15 ` [patch 04/29] avr32: " Thomas Gleixner
` (26 subsequent siblings)
28 siblings, 0 replies; 49+ messages in thread
From: Thomas Gleixner @ 2012-04-30 20:15 UTC (permalink / raw)
To: LKML; +Cc: linux-arch, Russell King
[-- Attachment #1: arm-use-generic-init-task.patch --]
[-- Type: text/plain, Size: 3119 bytes --]
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.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Russell King <linux@arm.linux.org.uk>
---
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(-)
Index: tip/arch/arm/Kconfig
===================================================================
--- tip.orig/arch/arm/Kconfig
+++ tip/arch/arm/Kconfig
@@ -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
Index: tip/arch/arm/Makefile
===================================================================
--- tip.orig/arch/arm/Makefile
+++ tip/arch/arm/Makefile
@@ -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
Index: tip/arch/arm/kernel/Makefile
===================================================================
--- tip.orig/arch/arm/kernel/Makefile
+++ tip/arch/arm/kernel/Makefile
@@ -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
Index: tip/arch/arm/kernel/init_task.c
===================================================================
--- tip.orig/arch/arm/kernel/init_task.c
+++ /dev/null
@@ -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);
^ permalink raw reply [flat|nested] 49+ messages in thread
* [patch 04/29] avr32: Use generic init_task
2012-04-30 20:15 [patch 00/29] init_task: Use a generic init_task variant Thomas Gleixner
2012-04-30 20:15 ` [patch 02/29] alpha: Use generic init_task Thomas Gleixner
2012-04-30 20:15 ` [patch 03/29] arm: " Thomas Gleixner
@ 2012-04-30 20:15 ` Thomas Gleixner
2012-04-30 20:15 ` [patch 06/29] cx6: " Thomas Gleixner
` (25 subsequent siblings)
28 siblings, 0 replies; 49+ messages in thread
From: Thomas Gleixner @ 2012-04-30 20:15 UTC (permalink / raw)
To: LKML; +Cc: linux-arch, Haavard Skinnemoen
[-- Attachment #1: avr32-use-generic-init-task.patch --]
[-- Type: text/plain, Size: 2488 bytes --]
Same code. Use the generic version.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Haavard Skinnemoen <hskinnemoen@gmail.com>
---
arch/avr32/Kconfig | 1 +
arch/avr32/kernel/Makefile | 2 +-
arch/avr32/kernel/init_task.c | 31 -------------------------------
3 files changed, 2 insertions(+), 32 deletions(-)
Index: tip/arch/avr32/Kconfig
===================================================================
--- tip.orig/arch/avr32/Kconfig
+++ tip/arch/avr32/Kconfig
@@ -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
Index: tip/arch/avr32/kernel/Makefile
===================================================================
--- tip.orig/arch/avr32/kernel/Makefile
+++ tip/arch/avr32/kernel/Makefile
@@ -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
Index: tip/arch/avr32/kernel/init_task.c
===================================================================
--- tip.orig/arch/avr32/kernel/init_task.c
+++ /dev/null
@@ -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);
^ permalink raw reply [flat|nested] 49+ messages in thread
* [patch 06/29] cx6: Use generic init_task
2012-04-30 20:15 [patch 00/29] init_task: Use a generic init_task variant Thomas Gleixner
` (2 preceding siblings ...)
2012-04-30 20:15 ` [patch 04/29] avr32: " Thomas Gleixner
@ 2012-04-30 20:15 ` Thomas Gleixner
2012-04-30 20:15 ` [patch 05/29] blackfin: " Thomas Gleixner
` (24 subsequent siblings)
28 siblings, 0 replies; 49+ messages in thread
From: Thomas Gleixner @ 2012-04-30 20:15 UTC (permalink / raw)
To: LKML; +Cc: linux-arch, Mark Salter
[-- Attachment #1: cx6-use-generic-idle-task.patch --]
[-- Type: text/plain, Size: 1285 bytes --]
Same code. Use the generic version.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Mark Salter <msalter@redhat.com>
---
arch/c6x/Kconfig | 1 +
arch/c6x/kernel/process.c | 16 ----------------
2 files changed, 1 insertion(+), 16 deletions(-)
Index: tip/arch/c6x/Kconfig
===================================================================
--- tip.orig/arch/c6x/Kconfig
+++ tip/arch/c6x/Kconfig
@@ -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
Index: tip/arch/c6x/kernel/process.c
===================================================================
--- tip.orig/arch/c6x/kernel/process.c
+++ tip/arch/c6x/kernel/process.c
@@ -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
*/
^ permalink raw reply [flat|nested] 49+ messages in thread
* [patch 05/29] blackfin: Use generic init_task
2012-04-30 20:15 [patch 00/29] init_task: Use a generic init_task variant Thomas Gleixner
` (3 preceding siblings ...)
2012-04-30 20:15 ` [patch 06/29] cx6: " Thomas Gleixner
@ 2012-04-30 20:15 ` Thomas Gleixner
2012-05-06 8:16 ` Mike Frysinger
2012-04-30 20:15 ` [patch 08/29] frv: " Thomas Gleixner
` (23 subsequent siblings)
28 siblings, 1 reply; 49+ messages in thread
From: Thomas Gleixner @ 2012-04-30 20:15 UTC (permalink / raw)
To: LKML; +Cc: linux-arch, Mike Frysinger
[-- Attachment #1: blackfin-use-generic-init-task.patch --]
[-- Type: text/plain, Size: 3001 bytes --]
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.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Mike Frysinger <vapier@gentoo.org>
---
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(-)
Index: tip/arch/blackfin/Kconfig
===================================================================
--- tip.orig/arch/blackfin/Kconfig
+++ tip/arch/blackfin/Kconfig
@@ -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
Index: tip/arch/blackfin/Makefile
===================================================================
--- tip.orig/arch/blackfin/Makefile
+++ tip/arch/blackfin/Makefile
@@ -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.
Index: tip/arch/blackfin/kernel/Makefile
===================================================================
--- tip.orig/arch/blackfin/kernel/Makefile
+++ tip/arch/blackfin/kernel/Makefile
@@ -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 \
Index: tip/arch/blackfin/kernel/init_task.c
===================================================================
--- tip.orig/arch/blackfin/kernel/init_task.c
+++ /dev/null
@@ -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)};
^ permalink raw reply [flat|nested] 49+ messages in thread
* [patch 08/29] frv: Use generic init_task
2012-04-30 20:15 [patch 00/29] init_task: Use a generic init_task variant Thomas Gleixner
` (4 preceding siblings ...)
2012-04-30 20:15 ` [patch 05/29] blackfin: " Thomas Gleixner
@ 2012-04-30 20:15 ` Thomas Gleixner
2012-04-30 20:15 ` [patch 07/29] cris: " Thomas Gleixner
` (22 subsequent siblings)
28 siblings, 0 replies; 49+ messages in thread
From: Thomas Gleixner @ 2012-04-30 20:15 UTC (permalink / raw)
To: LKML; +Cc: linux-arch, David Howells
[-- Attachment #1: frv-use-generic-idle-task.patch --]
[-- Type: text/plain, Size: 2850 bytes --]
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.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: David Howells <dhowells@redhat.com>
---
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(-)
Index: tip/arch/frv/Kconfig
===================================================================
--- tip.orig/arch/frv/Kconfig
+++ tip/arch/frv/Kconfig
@@ -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
Index: tip/arch/frv/Makefile
===================================================================
--- tip.orig/arch/frv/Makefile
+++ tip/arch/frv/Makefile
@@ -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/
Index: tip/arch/frv/kernel/Makefile
===================================================================
--- tip.orig/arch/frv/kernel/Makefile
+++ tip/arch/frv/kernel/Makefile
@@ -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 \
Index: tip/arch/frv/kernel/init_task.c
===================================================================
--- tip.orig/arch/frv/kernel/init_task.c
+++ /dev/null
@@ -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);
^ permalink raw reply [flat|nested] 49+ messages in thread
* [patch 07/29] cris: Use generic init_task
2012-04-30 20:15 [patch 00/29] init_task: Use a generic init_task variant Thomas Gleixner
` (5 preceding siblings ...)
2012-04-30 20:15 ` [patch 08/29] frv: " Thomas Gleixner
@ 2012-04-30 20:15 ` Thomas Gleixner
2012-05-02 11:24 ` Jesper Nilsson
2012-04-30 20:15 ` [patch 09/29] h8300: " Thomas Gleixner
` (21 subsequent siblings)
28 siblings, 1 reply; 49+ messages in thread
From: Thomas Gleixner @ 2012-04-30 20:15 UTC (permalink / raw)
To: LKML; +Cc: linux-arch, Jesper Nilsson
[-- Attachment #1: cris-use-generic-idle-task.patch --]
[-- Type: text/plain, Size: 1919 bytes --]
Same code. Use the generic version.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Jesper Nilsson <jesper.nilsson@axis.com>
---
arch/cris/Kconfig | 1 +
arch/cris/kernel/process.c | 28 ----------------------------
2 files changed, 1 insertion(+), 28 deletions(-)
Index: tip/arch/cris/Kconfig
===================================================================
--- tip.orig/arch/cris/Kconfig
+++ tip/arch/cris/Kconfig
@@ -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
Index: tip/arch/cris/kernel/process.c
===================================================================
--- tip.orig/arch/cris/kernel/process.c
+++ tip/arch/cris/kernel/process.c
@@ -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
^ permalink raw reply [flat|nested] 49+ messages in thread
* [patch 10/29] hexagon: Use generic idle_task
2012-04-30 20:15 [patch 00/29] init_task: Use a generic init_task variant Thomas Gleixner
` (7 preceding siblings ...)
2012-04-30 20:15 ` [patch 09/29] h8300: " Thomas Gleixner
@ 2012-04-30 20:15 ` Thomas Gleixner
2012-05-03 0:46 ` Richard Kuo
2012-04-30 20:15 ` [patch 12/29] m32r: Use generic init_task Thomas Gleixner
` (19 subsequent siblings)
28 siblings, 1 reply; 49+ messages in thread
From: Thomas Gleixner @ 2012-04-30 20:15 UTC (permalink / raw)
To: LKML; +Cc: linux-arch, Richard Kuo
[-- Attachment #1: hexagon-use-generic-idle-task.patch --]
[-- Type: text/plain, Size: 3817 bytes --]
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.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Richard Kuo <rkuo@codeaurora.org>
---
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(-)
Index: tip/arch/hexagon/Kconfig
===================================================================
--- tip.orig/arch/hexagon/Kconfig
+++ tip/arch/hexagon/Kconfig
@@ -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
Index: tip/arch/hexagon/Makefile
===================================================================
--- tip.orig/arch/hexagon/Makefile
+++ tip/arch/hexagon/Makefile
@@ -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/ \
Index: tip/arch/hexagon/kernel/Makefile
===================================================================
--- tip.orig/arch/hexagon/kernel/Makefile
+++ tip/arch/hexagon/kernel/Makefile
@@ -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
Index: tip/arch/hexagon/kernel/init_task.c
===================================================================
--- tip.orig/arch/hexagon/kernel/init_task.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Init task definition
- *
- * Copyright (c) 2010-2011, Code Aurora Forum. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 and
- * only version 2 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- */
-
-#include <linux/mm.h>
-#include <linux/module.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.
- */
-union thread_union init_thread_union
- __attribute__((__section__(".data.init_task"),
- __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);
^ permalink raw reply [flat|nested] 49+ messages in thread
* [patch 09/29] h8300: Use generic init_task
2012-04-30 20:15 [patch 00/29] init_task: Use a generic init_task variant Thomas Gleixner
` (6 preceding siblings ...)
2012-04-30 20:15 ` [patch 07/29] cris: " Thomas Gleixner
@ 2012-04-30 20:15 ` Thomas Gleixner
2012-04-30 20:15 ` [patch 10/29] hexagon: Use generic idle_task Thomas Gleixner
` (20 subsequent siblings)
28 siblings, 0 replies; 49+ messages in thread
From: Thomas Gleixner @ 2012-04-30 20:15 UTC (permalink / raw)
To: LKML; +Cc: linux-arch, Yoshinori Sato
[-- Attachment #1: h8300-use-generic-idle-task.patch --]
[-- Type: text/plain, Size: 2281 bytes --]
Same code. Use the generic version.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
---
arch/h8300/Kconfig | 1 +
arch/h8300/kernel/Makefile | 2 +-
arch/h8300/kernel/init_task.c | 36 ------------------------------------
3 files changed, 2 insertions(+), 37 deletions(-)
Index: tip/arch/h8300/Kconfig
===================================================================
--- tip.orig/arch/h8300/Kconfig
+++ tip/arch/h8300/Kconfig
@@ -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
Index: tip/arch/h8300/kernel/Makefile
===================================================================
--- tip.orig/arch/h8300/kernel/Makefile
+++ tip/arch/h8300/kernel/Makefile
@@ -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
Index: tip/arch/h8300/kernel/init_task.c
===================================================================
--- tip.orig/arch/h8300/kernel/init_task.c
+++ /dev/null
@@ -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) };
-
^ permalink raw reply [flat|nested] 49+ messages in thread
* [patch 11/29] ia64: Use generic init_task
2012-04-30 20:15 [patch 00/29] init_task: Use a generic init_task variant Thomas Gleixner
` (9 preceding siblings ...)
2012-04-30 20:15 ` [patch 12/29] m32r: Use generic init_task Thomas Gleixner
@ 2012-04-30 20:15 ` Thomas Gleixner
2012-04-30 20:15 ` [patch 13/29] m68k: " Thomas Gleixner
` (17 subsequent siblings)
28 siblings, 0 replies; 49+ messages in thread
From: Thomas Gleixner @ 2012-04-30 20:15 UTC (permalink / raw)
To: LKML; +Cc: linux-arch, Tony Luck
[-- Attachment #1: ia64-use-generic-idle-task.patch --]
[-- Type: text/plain, Size: 3342 bytes --]
IA64 has a special crafted version of init_task, but I could not
figure out why it couldn't work with the generic one.
The special Makefile treatment is pointless 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 <tglx@linutronix.de>
Cc: Tony Luck <tony.luck@intel.com>
---
arch/ia64/Kconfig | 1 +
arch/ia64/Makefile | 2 +-
arch/ia64/kernel/Makefile | 2 +-
arch/ia64/kernel/init_task.c | 42 ------------------------------------------
4 files changed, 3 insertions(+), 44 deletions(-)
Index: tip/arch/ia64/Kconfig
===================================================================
--- tip.orig/arch/ia64/Kconfig
+++ tip/arch/ia64/Kconfig
@@ -34,6 +34,7 @@ config IA64
select ARCH_HAVE_NMI_SAFE_CMPXCHG
select GENERIC_IOMAP
select GENERIC_SMP_IDLE_THREAD
+ select HAVE_GENERIC_INIT_TASK
default y
help
The Itanium Processor Family is Intel's 64-bit successor to
Index: tip/arch/ia64/Makefile
===================================================================
--- tip.orig/arch/ia64/Makefile
+++ tip/arch/ia64/Makefile
@@ -42,7 +42,7 @@ $(error Sorry, you need a newer version
endif
KBUILD_CFLAGS += $(cflags-y)
-head-y := arch/ia64/kernel/head.o arch/ia64/kernel/init_task.o
+head-y := arch/ia64/kernel/head.o
libs-y += arch/ia64/lib/
core-y += arch/ia64/kernel/ arch/ia64/mm/
Index: tip/arch/ia64/kernel/Makefile
===================================================================
--- tip.orig/arch/ia64/kernel/Makefile
+++ tip/arch/ia64/kernel/Makefile
@@ -6,7 +6,7 @@ ifdef CONFIG_DYNAMIC_FTRACE
CFLAGS_REMOVE_ftrace.o = -pg
endif
-extra-y := head.o init_task.o vmlinux.lds
+extra-y := head.o vmlinux.lds
obj-y := entry.o efi.o efi_stub.o gate-data.o fsys.o ia64_ksyms.o irq.o irq_ia64.o \
irq_lsapic.o ivt.o machvec.o pal.o paravirt_patchlist.o patch.o process.o perfmon.o ptrace.o sal.o \
Index: tip/arch/ia64/kernel/init_task.c
===================================================================
--- tip.orig/arch/ia64/kernel/init_task.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * This is where we statically allocate and initialize the initial
- * task.
- *
- * Copyright (C) 1999, 2002-2003 Hewlett-Packard Co
- * David Mosberger-Tang <davidm@hpl.hp.com>
- */
-
-#include <linux/init.h>
-#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 task structure.
- *
- * We need to make sure that this is properly aligned due to the way process stacks are
- * handled. This is done by having a special ".data..init_task" section...
- */
-#define init_thread_info init_task_mem.s.thread_info
-
-union {
- struct {
- struct task_struct task;
- struct thread_info thread_info;
- } s;
- unsigned long stack[KERNEL_STACK_SIZE/sizeof (unsigned long)];
-} init_task_mem asm ("init_task") __init_task_data =
- {{
- .task = INIT_TASK(init_task_mem.s.task),
- .thread_info = INIT_THREAD_INFO(init_task_mem.s.task)
-}};
-
-EXPORT_SYMBOL(init_task);
^ permalink raw reply [flat|nested] 49+ messages in thread
* [patch 12/29] m32r: Use generic init_task
2012-04-30 20:15 [patch 00/29] init_task: Use a generic init_task variant Thomas Gleixner
` (8 preceding siblings ...)
2012-04-30 20:15 ` [patch 10/29] hexagon: Use generic idle_task Thomas Gleixner
@ 2012-04-30 20:15 ` Thomas Gleixner
2012-04-30 20:15 ` [patch 11/29] ia64: " Thomas Gleixner
` (18 subsequent siblings)
28 siblings, 0 replies; 49+ messages in thread
From: Thomas Gleixner @ 2012-04-30 20:15 UTC (permalink / raw)
To: LKML; +Cc: linux-arch, Hirokazu Takata
[-- Attachment #1: m32r-use-generic-init-task.patch --]
[-- Type: text/plain, Size: 2810 bytes --]
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.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Hirokazu Takata <takata@linux-m32r.org>
---
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(-)
Index: tip/arch/m32r/Kconfig
===================================================================
--- tip.orig/arch/m32r/Kconfig
+++ tip/arch/m32r/Kconfig
@@ -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
Index: tip/arch/m32r/Makefile
===================================================================
--- tip.orig/arch/m32r/Makefile
+++ tip/arch/m32r/Makefile
@@ -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)
Index: tip/arch/m32r/kernel/Makefile
===================================================================
--- tip.orig/arch/m32r/kernel/Makefile
+++ tip/arch/m32r/kernel/Makefile
@@ -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
Index: tip/arch/m32r/kernel/init_task.c
===================================================================
--- tip.orig/arch/m32r/kernel/init_task.c
+++ /dev/null
@@ -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);
-
^ permalink raw reply [flat|nested] 49+ messages in thread
* [patch 14/29] microblaze: Use generic init_task
2012-04-30 20:15 [patch 00/29] init_task: Use a generic init_task variant Thomas Gleixner
` (11 preceding siblings ...)
2012-04-30 20:15 ` [patch 13/29] m68k: " Thomas Gleixner
@ 2012-04-30 20:15 ` Thomas Gleixner
2012-04-30 20:15 ` [patch 16/29] mn10300: " Thomas Gleixner
` (15 subsequent siblings)
28 siblings, 0 replies; 49+ messages in thread
From: Thomas Gleixner @ 2012-04-30 20:15 UTC (permalink / raw)
To: LKML; +Cc: linux-arch, Michal Simek
[-- Attachment #1: microblaze-use-generic-init-task.patch --]
[-- Type: text/plain, Size: 2183 bytes --]
Same code. Use the generic version.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Michal Simek <monstr@monstr.eu>
---
arch/microblaze/Kconfig | 1 +
arch/microblaze/kernel/Makefile | 2 +-
arch/microblaze/kernel/init_task.c | 26 --------------------------
3 files changed, 2 insertions(+), 27 deletions(-)
Index: tip/arch/microblaze/Kconfig
===================================================================
--- tip.orig/arch/microblaze/Kconfig
+++ tip/arch/microblaze/Kconfig
@@ -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
Index: tip/arch/microblaze/kernel/Makefile
===================================================================
--- tip.orig/arch/microblaze/kernel/Makefile
+++ tip/arch/microblaze/kernel/Makefile
@@ -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
Index: tip/arch/microblaze/kernel/init_task.c
===================================================================
--- tip.orig/arch/microblaze/kernel/init_task.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright (C) 2009 Michal Simek <monstr@monstr.eu>
- * 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);
^ permalink raw reply [flat|nested] 49+ messages in thread
* [patch 13/29] m68k: Use generic init_task
2012-04-30 20:15 [patch 00/29] init_task: Use a generic init_task variant Thomas Gleixner
` (10 preceding siblings ...)
2012-04-30 20:15 ` [patch 11/29] ia64: " Thomas Gleixner
@ 2012-04-30 20:15 ` Thomas Gleixner
2012-04-30 20:15 ` [patch 14/29] microblaze: " Thomas Gleixner
` (16 subsequent siblings)
28 siblings, 0 replies; 49+ messages in thread
From: Thomas Gleixner @ 2012-04-30 20:15 UTC (permalink / raw)
To: LKML; +Cc: linux-arch, Geert Uytterhoeven
[-- Attachment #1: m68k-use-generic-init-task.patch --]
[-- Type: text/plain, Size: 2367 bytes --]
Same code. Use the generic version.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
---
arch/m68k/Kconfig | 1 +
arch/m68k/kernel/Makefile | 2 +-
arch/m68k/kernel/init_task.c | 35 -----------------------------------
3 files changed, 2 insertions(+), 36 deletions(-)
Index: tip/arch/m68k/Kconfig
===================================================================
--- tip.orig/arch/m68k/Kconfig
+++ tip/arch/m68k/Kconfig
@@ -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
Index: tip/arch/m68k/kernel/Makefile
===================================================================
--- tip.orig/arch/m68k/kernel/Makefile
+++ tip/arch/m68k/kernel/Makefile
@@ -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
Index: tip/arch/m68k/kernel/init_task.c
===================================================================
--- tip.orig/arch/m68k/kernel/init_task.c
+++ /dev/null
@@ -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) };
-
^ permalink raw reply [flat|nested] 49+ messages in thread
* [patch 16/29] mn10300: Use generic init_task
2012-04-30 20:15 [patch 00/29] init_task: Use a generic init_task variant Thomas Gleixner
` (12 preceding siblings ...)
2012-04-30 20:15 ` [patch 14/29] microblaze: " Thomas Gleixner
@ 2012-04-30 20:15 ` Thomas Gleixner
2012-04-30 20:15 ` [patch 15/29] mips: " Thomas Gleixner
` (14 subsequent siblings)
28 siblings, 0 replies; 49+ messages in thread
From: Thomas Gleixner @ 2012-04-30 20:15 UTC (permalink / raw)
To: LKML; +Cc: linux-arch, David Howells
[-- Attachment #1: mn10300-use-generic-init-task.patch --]
[-- Type: text/plain, Size: 3210 bytes --]
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.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: David Howells <dhowells@redhat.com>
---
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(-)
Index: tip/arch/mn10300/Kconfig
===================================================================
--- tip.orig/arch/mn10300/Kconfig
+++ tip/arch/mn10300/Kconfig
@@ -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
Index: tip/arch/mn10300/Makefile
===================================================================
--- tip.orig/arch/mn10300/Makefile
+++ tip/arch/mn10300/Makefile
@@ -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/
Index: tip/arch/mn10300/kernel/Makefile
===================================================================
--- tip.orig/arch/mn10300/kernel/Makefile
+++ tip/arch/mn10300/kernel/Makefile
@@ -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
Index: tip/arch/mn10300/kernel/init_task.c
===================================================================
--- tip.orig/arch/mn10300/kernel/init_task.c
+++ /dev/null
@@ -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);
^ permalink raw reply [flat|nested] 49+ messages in thread
* [patch 15/29] mips: Use generic init_task
2012-04-30 20:15 [patch 00/29] init_task: Use a generic init_task variant Thomas Gleixner
` (13 preceding siblings ...)
2012-04-30 20:15 ` [patch 16/29] mn10300: " Thomas Gleixner
@ 2012-04-30 20:15 ` Thomas Gleixner
2012-04-30 20:16 ` [patch 18/29] parisc: " Thomas Gleixner
` (13 subsequent siblings)
28 siblings, 0 replies; 49+ messages in thread
From: Thomas Gleixner @ 2012-04-30 20:15 UTC (permalink / raw)
To: LKML; +Cc: linux-arch, Ralf Baechle
[-- Attachment #1: mips-use-generic-init-task.patch --]
[-- Type: text/plain, Size: 3575 bytes --]
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.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Ralf Baechle <ralf@linux-mips.org>
---
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(-)
Index: tip/arch/mips/Kconfig
===================================================================
--- tip.orig/arch/mips/Kconfig
+++ tip/arch/mips/Kconfig
@@ -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"
Index: tip/arch/mips/Makefile
===================================================================
--- tip.orig/arch/mips/Makefile
+++ tip/arch/mips/Makefile
@@ -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/
Index: tip/arch/mips/kernel/Makefile
===================================================================
--- tip.orig/arch/mips/kernel/Makefile
+++ tip/arch/mips/kernel/Makefile
@@ -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 \
Index: tip/arch/mips/kernel/init_task.c
===================================================================
--- tip.orig/arch/mips/kernel/init_task.c
+++ /dev/null
@@ -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);
Index: tip/arch/mips/kernel/vmlinux.lds.S
===================================================================
--- tip.orig/arch/mips/kernel/vmlinux.lds.S
+++ tip/arch/mips/kernel/vmlinux.lds.S
@@ -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)
^ permalink raw reply [flat|nested] 49+ messages in thread
* [patch 18/29] parisc: Use generic init_task
2012-04-30 20:15 [patch 00/29] init_task: Use a generic init_task variant Thomas Gleixner
` (14 preceding siblings ...)
2012-04-30 20:15 ` [patch 15/29] mips: " Thomas Gleixner
@ 2012-04-30 20:16 ` Thomas Gleixner
2012-04-30 20:16 ` [patch 17/29] openrisc: " Thomas Gleixner
` (12 subsequent siblings)
28 siblings, 0 replies; 49+ messages in thread
From: Thomas Gleixner @ 2012-04-30 20:16 UTC (permalink / raw)
To: LKML; +Cc: linux-arch, James E.J. Bottomley
[-- Attachment #1: parisc-use-generic-init-task.patch --]
[-- Type: text/plain, Size: 5058 bytes --]
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
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: "James E.J. Bottomley" <jejb@parisc-linux.org>
---
arch/parisc/Kconfig | 1
arch/parisc/kernel/init_task.c | 70 -----------------------------------------
arch/parisc/mm/init.c | 12 +++++++
3 files changed, 13 insertions(+), 70 deletions(-)
Index: tip/arch/parisc/Kconfig
===================================================================
--- tip.orig/arch/parisc/Kconfig
+++ tip/arch/parisc/Kconfig
@@ -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
Index: tip/arch/parisc/kernel/init_task.c
===================================================================
--- tip.orig/arch/parisc/kernel/init_task.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Static declaration of "init" task data structure.
- *
- * Copyright (C) 2000 Paul Bame <bame at parisc-linux.org>
- * Copyright (C) 2000-2001 John Marvin <jsm at parisc-linux.org>
- * Copyright (C) 2001 Helge Deller <deller @ parisc-linux.org>
- * Copyright (C) 2002 Matthew Wilcox <willy with parisc-linux.org>
- *
- *
- * 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.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include <linux/mm.h>
-#include <linux/fs.h>
-#include <linux/module.h>
-#include <linux/sched.h>
-#include <linux/init.h>
-#include <linux/init_task.h>
-#include <linux/mqueue.h>
-
-#include <asm/uaccess.h>
-#include <asm/pgtable.h>
-#include <asm/pgalloc.h>
-
-static struct signal_struct init_signals = INIT_SIGNALS(init_signals);
-static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
-/*
- * Initial task 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
- __attribute__((aligned(128))) =
- { INIT_THREAD_INFO(init_task) };
-
-#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)));
-
-/*
- * Initial task structure.
- *
- * All other task structs will be allocated on slabs in fork.c
- */
-EXPORT_SYMBOL(init_task);
-
-__asm__(".data");
-struct task_struct init_task = INIT_TASK(init_task);
Index: tip/arch/parisc/mm/init.c
===================================================================
--- tip.orig/arch/parisc/mm/init.c
+++ tip/arch/parisc/mm/init.c
@@ -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;
^ permalink raw reply [flat|nested] 49+ messages in thread
* [patch 17/29] openrisc: Use generic init_task
2012-04-30 20:15 [patch 00/29] init_task: Use a generic init_task variant Thomas Gleixner
` (15 preceding siblings ...)
2012-04-30 20:16 ` [patch 18/29] parisc: " Thomas Gleixner
@ 2012-04-30 20:16 ` Thomas Gleixner
2012-04-30 20:16 ` [patch 19/29] powerpc: " Thomas Gleixner
` (11 subsequent siblings)
28 siblings, 0 replies; 49+ messages in thread
From: Thomas Gleixner @ 2012-04-30 20:16 UTC (permalink / raw)
To: LKML; +Cc: linux-arch, Jonas Bonn
[-- Attachment #1: openrisc-use-generic-init-task.patch --]
[-- Type: text/plain, Size: 3338 bytes --]
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.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Jonas Bonn <jonas@southpole.se>
---
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
===================================================================
--- tip.orig/arch/openrisc/Kconfig
+++ tip/arch/openrisc/Kconfig
@@ -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
Index: tip/arch/openrisc/Makefile
===================================================================
--- tip.orig/arch/openrisc/Makefile
+++ tip/arch/openrisc/Makefile
@@ -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
===================================================================
--- tip.orig/arch/openrisc/kernel/Makefile
+++ tip/arch/openrisc/kernel/Makefile
@@ -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
===================================================================
--- tip.orig/arch/openrisc/kernel/init_task.c
+++ /dev/null
@@ -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 <phoenix@bsemi.com>
- * Copyright (C) 2010-2011 Jonas Bonn <jonas@southpole.se>
- *
- * 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);
^ permalink raw reply [flat|nested] 49+ messages in thread
* [patch 20/29] s390: Use generic init_task
2012-04-30 20:15 [patch 00/29] init_task: Use a generic init_task variant Thomas Gleixner
` (17 preceding siblings ...)
2012-04-30 20:16 ` [patch 19/29] powerpc: " Thomas Gleixner
@ 2012-04-30 20:16 ` Thomas Gleixner
2012-04-30 20:16 ` [patch 22/29] sh: " Thomas Gleixner
` (9 subsequent siblings)
28 siblings, 0 replies; 49+ messages in thread
From: Thomas Gleixner @ 2012-04-30 20:16 UTC (permalink / raw)
To: LKML; +Cc: linux-arch, Martin Schwidefsky
[-- Attachment #1: s390-use-generic-init-task.patch --]
[-- Type: text/plain, Size: 3058 bytes --]
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.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
---
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(-)
Index: tip/arch/s390/Kconfig
===================================================================
--- tip.orig/arch/s390/Kconfig
+++ tip/arch/s390/Kconfig
@@ -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
Index: tip/arch/s390/Makefile
===================================================================
--- tip.orig/arch/s390/Makefile
+++ tip/arch/s390/Makefile
@@ -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/
Index: tip/arch/s390/kernel/Makefile
===================================================================
--- tip.orig/arch/s390/kernel/Makefile
+++ tip/arch/s390/kernel/Makefile
@@ -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
Index: tip/arch/s390/kernel/init_task.c
===================================================================
--- tip.orig/arch/s390/kernel/init_task.c
+++ /dev/null
@@ -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);
^ permalink raw reply [flat|nested] 49+ messages in thread
* [patch 19/29] powerpc: Use generic init_task
2012-04-30 20:15 [patch 00/29] init_task: Use a generic init_task variant Thomas Gleixner
` (16 preceding siblings ...)
2012-04-30 20:16 ` [patch 17/29] openrisc: " Thomas Gleixner
@ 2012-04-30 20:16 ` Thomas Gleixner
2012-04-30 22:34 ` Benjamin Herrenschmidt
2012-04-30 20:16 ` [patch 20/29] s390: " Thomas Gleixner
` (10 subsequent siblings)
28 siblings, 1 reply; 49+ messages in thread
From: Thomas Gleixner @ 2012-04-30 20:16 UTC (permalink / raw)
To: LKML; +Cc: linux-arch, Benjamin Herrenschmidt
[-- Attachment #1: powerpc-use-generic-init-task.patch --]
[-- Type: text/plain, Size: 2262 bytes --]
Same code. Use the generic version.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
---
arch/powerpc/Kconfig | 1 +
arch/powerpc/kernel/Makefile | 2 +-
arch/powerpc/kernel/init_task.c | 29 -----------------------------
3 files changed, 2 insertions(+), 30 deletions(-)
Index: tip/arch/powerpc/Kconfig
===================================================================
--- tip.orig/arch/powerpc/Kconfig
+++ tip/arch/powerpc/Kconfig
@@ -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
Index: tip/arch/powerpc/kernel/Makefile
===================================================================
--- tip.orig/arch/powerpc/kernel/Makefile
+++ tip/arch/powerpc/kernel/Makefile
@@ -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 \
Index: tip/arch/powerpc/kernel/init_task.c
===================================================================
--- tip.orig/arch/powerpc/kernel/init_task.c
+++ /dev/null
@@ -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);
^ permalink raw reply [flat|nested] 49+ messages in thread
* [patch 22/29] sh: Use generic init_task
2012-04-30 20:15 [patch 00/29] init_task: Use a generic init_task variant Thomas Gleixner
` (18 preceding siblings ...)
2012-04-30 20:16 ` [patch 20/29] s390: " Thomas Gleixner
@ 2012-04-30 20:16 ` Thomas Gleixner
2012-04-30 22:57 ` Paul Mundt
2012-04-30 20:16 ` [patch 21/29] score: " Thomas Gleixner
` (8 subsequent siblings)
28 siblings, 1 reply; 49+ messages in thread
From: Thomas Gleixner @ 2012-04-30 20:16 UTC (permalink / raw)
To: LKML; +Cc: linux-arch, Paul Mundt
[-- Attachment #1: sh-use-generic-init-task.patch --]
[-- Type: text/plain, Size: 2861 bytes --]
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.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Paul Mundt <lethal@linux-sh.org>
---
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(-)
Index: tip/arch/sh/Kconfig
===================================================================
--- tip.orig/arch/sh/Kconfig
+++ tip/arch/sh/Kconfig
@@ -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
Index: tip/arch/sh/Makefile
===================================================================
--- tip.orig/arch/sh/Makefile
+++ tip/arch/sh/Makefile
@@ -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/
Index: tip/arch/sh/kernel/Makefile
===================================================================
--- tip.orig/arch/sh/kernel/Makefile
+++ tip/arch/sh/kernel/Makefile
@@ -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
Index: tip/arch/sh/kernel/init_task.c
===================================================================
--- tip.orig/arch/sh/kernel/init_task.c
+++ /dev/null
@@ -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);
^ permalink raw reply [flat|nested] 49+ messages in thread
* [patch 21/29] score: Use generic init_task
2012-04-30 20:15 [patch 00/29] init_task: Use a generic init_task variant Thomas Gleixner
` (19 preceding siblings ...)
2012-04-30 20:16 ` [patch 22/29] sh: " Thomas Gleixner
@ 2012-04-30 20:16 ` Thomas Gleixner
2012-04-30 20:21 ` KOSAKI Motohiro
2012-04-30 20:16 ` [patch 24/29] tile: " Thomas Gleixner
` (7 subsequent siblings)
28 siblings, 1 reply; 49+ messages in thread
From: Thomas Gleixner @ 2012-04-30 20:16 UTC (permalink / raw)
To: LKML; +Cc: linux-arch, Chen Liqin
[-- Attachment #1: score-use-generic-init-task.patch --]
[-- Type: text/plain, Size: 1032 bytes --]
Same code. Use the generic version.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Chen Liqin <liqin.chen@sunplusct.com>
---
arch/score/Kconfig | 1 +
arch/score/kernel/Makefile | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
Index: tip/arch/score/Kconfig
===================================================================
--- tip.orig/arch/score/Kconfig
+++ tip/arch/score/Kconfig
@@ -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"
Index: tip/arch/score/kernel/Makefile
===================================================================
--- tip.orig/arch/score/kernel/Makefile
+++ tip/arch/score/kernel/Makefile
@@ -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
^ permalink raw reply [flat|nested] 49+ messages in thread
* [patch 23/29] sparc: Use generic init_task
2012-04-30 20:15 [patch 00/29] init_task: Use a generic init_task variant Thomas Gleixner
` (21 preceding siblings ...)
2012-04-30 20:16 ` [patch 24/29] tile: " Thomas Gleixner
@ 2012-04-30 20:16 ` Thomas Gleixner
2012-04-30 20:35 ` Sam Ravnborg
2012-04-30 20:16 ` [patch 25/29] um: " Thomas Gleixner
` (5 subsequent siblings)
28 siblings, 1 reply; 49+ messages in thread
From: Thomas Gleixner @ 2012-04-30 20:16 UTC (permalink / raw)
To: LKML; +Cc: linux-arch, David S. Miller
[-- Attachment #1: sparc-use-generic-init-task.patch --]
[-- Type: text/plain, Size: 1626 bytes --]
Same code. Use the generic version.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: "David S. Miller" <davem@davemloft.net>
---
arch/sparc/Kconfig | 1 +
arch/sparc/kernel/init_task.c | 22 ----------------------
2 files changed, 1 insertion(+), 22 deletions(-)
Index: tip/arch/sparc/Kconfig
===================================================================
--- tip.orig/arch/sparc/Kconfig
+++ tip/arch/sparc/Kconfig
@@ -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
Index: tip/arch/sparc/kernel/init_task.c
===================================================================
--- tip.orig/arch/sparc/kernel/init_task.c
+++ /dev/null
@@ -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) };
^ permalink raw reply [flat|nested] 49+ messages in thread
* [patch 24/29] tile: Use generic init_task
2012-04-30 20:15 [patch 00/29] init_task: Use a generic init_task variant Thomas Gleixner
` (20 preceding siblings ...)
2012-04-30 20:16 ` [patch 21/29] score: " Thomas Gleixner
@ 2012-04-30 20:16 ` Thomas Gleixner
2012-04-30 20:16 ` [patch 23/29] sparc: " Thomas Gleixner
` (6 subsequent siblings)
28 siblings, 0 replies; 49+ messages in thread
From: Thomas Gleixner @ 2012-04-30 20:16 UTC (permalink / raw)
To: LKML; +Cc: linux-arch, Chris Metcalf
[-- Attachment #1: tile-use-generic-init-task.patch --]
[-- Type: text/plain, Size: 4420 bytes --]
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.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Chris Metcalf <cmetcalf@tilera.com>
---
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(-)
Index: tip/arch/tile/Kconfig
===================================================================
--- tip.orig/arch/tile/Kconfig
+++ tip/arch/tile/Kconfig
@@ -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
Index: tip/arch/tile/kernel/Makefile
===================================================================
--- tip.orig/arch/tile/kernel/Makefile
+++ tip/arch/tile/kernel/Makefile
@@ -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
Index: tip/arch/tile/kernel/init_task.c
===================================================================
--- tip.orig/arch/tile/kernel/init_task.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright 2010 Tilera Corporation. All Rights Reserved.
- *
- * 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, version 2.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or
- * NON INFRINGEMENT. See the GNU General Public License for
- * more details.
- */
-
-#include <linux/mm.h>
-#include <linux/fs.h>
-#include <linux/init_task.h>
-#include <linux/mqueue.h>
-#include <linux/module.h>
-#include <linux/start_kernel.h>
-#include <linux/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 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);
-
-/*
- * 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
Index: tip/arch/tile/kernel/setup.c
===================================================================
--- tip.orig/arch/tile/kernel/setup.c
+++ tip/arch/tile/kernel/setup.c
@@ -61,6 +61,22 @@ unsigned long __initdata node_free_pfn[M
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];
^ permalink raw reply [flat|nested] 49+ messages in thread
* [patch 26/29] unicore32: Use generic init_task
2012-04-30 20:15 [patch 00/29] init_task: Use a generic init_task variant Thomas Gleixner
` (23 preceding siblings ...)
2012-04-30 20:16 ` [patch 25/29] um: " Thomas Gleixner
@ 2012-04-30 20:16 ` Thomas Gleixner
2012-04-30 20:16 ` [patch 27/29] x86: " Thomas Gleixner
` (3 subsequent siblings)
28 siblings, 0 replies; 49+ messages in thread
From: Thomas Gleixner @ 2012-04-30 20:16 UTC (permalink / raw)
To: LKML; +Cc: linux-arch, Guan Xuetao
[-- Attachment #1: unicore-use-generic-init-task.patch --]
[-- Type: text/plain, Size: 3324 bytes --]
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.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Guan Xuetao <gxt@mprc.pku.edu.cn>
---
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(-)
Index: tip/arch/unicore32/Kconfig
===================================================================
--- tip.orig/arch/unicore32/Kconfig
+++ tip/arch/unicore32/Kconfig
@@ -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
Index: tip/arch/unicore32/Makefile
===================================================================
--- tip.orig/arch/unicore32/Makefile
+++ tip/arch/unicore32/Makefile
@@ -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/
Index: tip/arch/unicore32/kernel/Makefile
===================================================================
--- tip.orig/arch/unicore32/kernel/Makefile
+++ tip/arch/unicore32/kernel/Makefile
@@ -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
Index: tip/arch/unicore32/kernel/init_task.c
===================================================================
--- tip.orig/arch/unicore32/kernel/init_task.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * linux/arch/unicore32/kernel/init_task.c
- *
- * Code specific to PKUnity SoC and UniCore ISA
- *
- * Copyright (C) 2001-2010 GUAN Xue-tao
- *
- * 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/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);
^ permalink raw reply [flat|nested] 49+ messages in thread
* [patch 25/29] um: Use generic init_task
2012-04-30 20:15 [patch 00/29] init_task: Use a generic init_task variant Thomas Gleixner
` (22 preceding siblings ...)
2012-04-30 20:16 ` [patch 23/29] sparc: " Thomas Gleixner
@ 2012-04-30 20:16 ` Thomas Gleixner
2012-04-30 22:06 ` Richard Weinberger
2012-04-30 20:16 ` [patch 26/29] unicore32: " Thomas Gleixner
` (4 subsequent siblings)
28 siblings, 1 reply; 49+ messages in thread
From: Thomas Gleixner @ 2012-04-30 20:16 UTC (permalink / raw)
To: LKML; +Cc: linux-arch, Richard Weinberger
[-- Attachment #1: um-use-generic-init-task.patch --]
[-- Type: text/plain, Size: 3159 bytes --]
Same code. Use the generic version.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Richard Weinberger <richard@nod.at>
---
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(-)
Index: tip/arch/um/Kconfig.common
===================================================================
--- tip.orig/arch/um/Kconfig.common
+++ tip/arch/um/Kconfig.common
@@ -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
Index: tip/arch/um/kernel/Makefile
===================================================================
--- tip.orig/arch/um/kernel/Makefile
+++ tip/arch/um/kernel/Makefile
@@ -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/
Index: tip/arch/um/kernel/init_task.c
===================================================================
--- tip.orig/arch/um/kernel/init_task.c
+++ /dev/null
@@ -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) };
Index: tip/arch/um/kernel/um_arch.c
===================================================================
--- tip.orig/arch/um/kernel/um_arch.c
+++ tip/arch/um/kernel/um_arch.c
@@ -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 */
^ permalink raw reply [flat|nested] 49+ messages in thread
* [patch 28/29] xtensa: Use generic init_task
2012-04-30 20:15 [patch 00/29] init_task: Use a generic init_task variant Thomas Gleixner
` (25 preceding siblings ...)
2012-04-30 20:16 ` [patch 27/29] x86: " Thomas Gleixner
@ 2012-04-30 20:16 ` Thomas Gleixner
2012-04-30 20:16 ` [patch 29/29] init_task: Remove CONFIG_HAVE_GENERIC_INIT_TASK Thomas Gleixner
2012-04-30 20:37 ` [patch 00/29] init_task: Use a generic init_task variant Sam Ravnborg
28 siblings, 0 replies; 49+ messages in thread
From: Thomas Gleixner @ 2012-04-30 20:16 UTC (permalink / raw)
To: LKML; +Cc: linux-arch, Chris Zankel
[-- Attachment #1: xtensa-use-generic-init-task.patch --]
[-- Type: text/plain, Size: 2303 bytes --]
Same code. Use the generic version.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Chris Zankel <chris@zankel.net>
---
arch/xtensa/Kconfig | 1 +
arch/xtensa/kernel/Makefile | 2 +-
arch/xtensa/kernel/init_task.c | 31 -------------------------------
3 files changed, 2 insertions(+), 32 deletions(-)
Index: tip/arch/xtensa/Kconfig
===================================================================
--- tip.orig/arch/xtensa/Kconfig
+++ tip/arch/xtensa/Kconfig
@@ -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
Index: tip/arch/xtensa/kernel/Makefile
===================================================================
--- tip.orig/arch/xtensa/kernel/Makefile
+++ tip/arch/xtensa/kernel/Makefile
@@ -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
Index: tip/arch/xtensa/kernel/init_task.c
===================================================================
--- tip.orig/arch/xtensa/kernel/init_task.c
+++ /dev/null
@@ -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 <chris@zankel.net>
- */
-
-#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);
^ permalink raw reply [flat|nested] 49+ messages in thread
* [patch 27/29] x86: Use generic init_task
2012-04-30 20:15 [patch 00/29] init_task: Use a generic init_task variant Thomas Gleixner
` (24 preceding siblings ...)
2012-04-30 20:16 ` [patch 26/29] unicore32: " Thomas Gleixner
@ 2012-04-30 20:16 ` Thomas Gleixner
2012-04-30 20:16 ` [patch 28/29] xtensa: " Thomas Gleixner
` (2 subsequent siblings)
28 siblings, 0 replies; 49+ messages in thread
From: Thomas Gleixner @ 2012-04-30 20:16 UTC (permalink / raw)
To: LKML; +Cc: linux-arch, x86
[-- Attachment #1: x86-use-common-init-task.patch --]
[-- Type: text/plain, Size: 4046 bytes --]
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.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: x86@kernel.org
---
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(-)
Index: tip/arch/x86/Kconfig
===================================================================
--- tip.orig/arch/x86/Kconfig
+++ tip/arch/x86/Kconfig
@@ -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)
Index: tip/arch/x86/Makefile
===================================================================
--- tip.orig/arch/x86/Makefile
+++ tip/arch/x86/Makefile
@@ -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/
Index: tip/arch/x86/kernel/Makefile
===================================================================
--- tip.orig/arch/x86/kernel/Makefile
+++ tip/arch/x86/kernel/Makefile
@@ -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)
Index: tip/arch/x86/kernel/init_task.c
===================================================================
--- tip.orig/arch/x86/kernel/init_task.c
+++ /dev/null
@@ -1,42 +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>
-#include <asm/desc.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);
-
-/*
- * 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;
-
Index: tip/arch/x86/kernel/process.c
===================================================================
--- tip.orig/arch/x86/kernel/process.c
+++ tip/arch/x86/kernel/process.c
@@ -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);
^ permalink raw reply [flat|nested] 49+ messages in thread
* [patch 29/29] init_task: Remove CONFIG_HAVE_GENERIC_INIT_TASK
2012-04-30 20:15 [patch 00/29] init_task: Use a generic init_task variant Thomas Gleixner
` (26 preceding siblings ...)
2012-04-30 20:16 ` [patch 28/29] xtensa: " Thomas Gleixner
@ 2012-04-30 20:16 ` Thomas Gleixner
2012-04-30 20:37 ` [patch 00/29] init_task: Use a generic init_task variant Sam Ravnborg
28 siblings, 0 replies; 49+ messages in thread
From: Thomas Gleixner @ 2012-04-30 20:16 UTC (permalink / raw)
To: LKML; +Cc: linux-arch
[-- Attachment #1: init-task-remove-config.patch --]
[-- Type: text/plain, Size: 12379 bytes --]
Now that all archs are converted, remove the config and compile
kernel/sched/init_task.c unconditionally.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
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 -
kernel/sched/Makefile | 3 +--
29 files changed, 1 insertion(+), 32 deletions(-)
Index: tip/arch/Kconfig
===================================================================
--- tip.orig/arch/Kconfig
+++ tip/arch/Kconfig
@@ -148,9 +148,6 @@ 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
Index: tip/arch/alpha/Kconfig
===================================================================
--- tip.orig/arch/alpha/Kconfig
+++ tip/arch/alpha/Kconfig
@@ -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,
Index: tip/arch/arm/Kconfig
===================================================================
--- tip.orig/arch/arm/Kconfig
+++ tip/arch/arm/Kconfig
@@ -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
Index: tip/arch/avr32/Kconfig
===================================================================
--- tip.orig/arch/avr32/Kconfig
+++ tip/arch/avr32/Kconfig
@@ -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
Index: tip/arch/blackfin/Kconfig
===================================================================
--- tip.orig/arch/blackfin/Kconfig
+++ tip/arch/blackfin/Kconfig
@@ -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
Index: tip/arch/c6x/Kconfig
===================================================================
--- tip.orig/arch/c6x/Kconfig
+++ tip/arch/c6x/Kconfig
@@ -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
Index: tip/arch/cris/Kconfig
===================================================================
--- tip.orig/arch/cris/Kconfig
+++ tip/arch/cris/Kconfig
@@ -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
Index: tip/arch/frv/Kconfig
===================================================================
--- tip.orig/arch/frv/Kconfig
+++ tip/arch/frv/Kconfig
@@ -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
Index: tip/arch/h8300/Kconfig
===================================================================
--- tip.orig/arch/h8300/Kconfig
+++ tip/arch/h8300/Kconfig
@@ -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
Index: tip/arch/hexagon/Kconfig
===================================================================
--- tip.orig/arch/hexagon/Kconfig
+++ tip/arch/hexagon/Kconfig
@@ -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
Index: tip/arch/ia64/Kconfig
===================================================================
--- tip.orig/arch/ia64/Kconfig
+++ tip/arch/ia64/Kconfig
@@ -34,7 +34,6 @@ config IA64
select ARCH_HAVE_NMI_SAFE_CMPXCHG
select GENERIC_IOMAP
select GENERIC_SMP_IDLE_THREAD
- select HAVE_GENERIC_INIT_TASK
default y
help
The Itanium Processor Family is Intel's 64-bit successor to
Index: tip/arch/m32r/Kconfig
===================================================================
--- tip.orig/arch/m32r/Kconfig
+++ tip/arch/m32r/Kconfig
@@ -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
Index: tip/arch/m68k/Kconfig
===================================================================
--- tip.orig/arch/m68k/Kconfig
+++ tip/arch/m68k/Kconfig
@@ -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
Index: tip/arch/microblaze/Kconfig
===================================================================
--- tip.orig/arch/microblaze/Kconfig
+++ tip/arch/microblaze/Kconfig
@@ -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
Index: tip/arch/mips/Kconfig
===================================================================
--- tip.orig/arch/mips/Kconfig
+++ tip/arch/mips/Kconfig
@@ -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"
Index: tip/arch/mn10300/Kconfig
===================================================================
--- tip.orig/arch/mn10300/Kconfig
+++ tip/arch/mn10300/Kconfig
@@ -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
Index: tip/arch/openrisc/Kconfig
===================================================================
--- tip.orig/arch/openrisc/Kconfig
+++ tip/arch/openrisc/Kconfig
@@ -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
Index: tip/arch/parisc/Kconfig
===================================================================
--- tip.orig/arch/parisc/Kconfig
+++ tip/arch/parisc/Kconfig
@@ -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
Index: tip/arch/powerpc/Kconfig
===================================================================
--- tip.orig/arch/powerpc/Kconfig
+++ tip/arch/powerpc/Kconfig
@@ -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
Index: tip/arch/s390/Kconfig
===================================================================
--- tip.orig/arch/s390/Kconfig
+++ tip/arch/s390/Kconfig
@@ -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
Index: tip/arch/score/Kconfig
===================================================================
--- tip.orig/arch/score/Kconfig
+++ tip/arch/score/Kconfig
@@ -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"
Index: tip/arch/sh/Kconfig
===================================================================
--- tip.orig/arch/sh/Kconfig
+++ tip/arch/sh/Kconfig
@@ -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
Index: tip/arch/sparc/Kconfig
===================================================================
--- tip.orig/arch/sparc/Kconfig
+++ tip/arch/sparc/Kconfig
@@ -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
Index: tip/arch/tile/Kconfig
===================================================================
--- tip.orig/arch/tile/Kconfig
+++ tip/arch/tile/Kconfig
@@ -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
Index: tip/arch/um/Kconfig.common
===================================================================
--- tip.orig/arch/um/Kconfig.common
+++ tip/arch/um/Kconfig.common
@@ -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
Index: tip/arch/unicore32/Kconfig
===================================================================
--- tip.orig/arch/unicore32/Kconfig
+++ tip/arch/unicore32/Kconfig
@@ -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
Index: tip/arch/x86/Kconfig
===================================================================
--- tip.orig/arch/x86/Kconfig
+++ tip/arch/x86/Kconfig
@@ -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)
Index: tip/arch/xtensa/Kconfig
===================================================================
--- tip.orig/arch/xtensa/Kconfig
+++ tip/arch/xtensa/Kconfig
@@ -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
Index: tip/kernel/sched/Makefile
===================================================================
--- tip.orig/kernel/sched/Makefile
+++ tip/kernel/sched/Makefile
@@ -11,9 +11,8 @@ ifneq ($(CONFIG_SCHED_OMIT_FRAME_POINTER
CFLAGS_core.o := $(PROFILING) -fno-omit-frame-pointer
endif
-obj-y += core.o clock.o idle_task.o fair.o rt.o stop_task.o
+obj-y += core.o clock.o idle_task.o fair.o rt.o stop_task.o init_task.o
obj-$(CONFIG_SMP) += cpupri.o
obj-$(CONFIG_SCHED_AUTOGROUP) += auto_group.o
obj-$(CONFIG_SCHEDSTATS) += stats.o
obj-$(CONFIG_SCHED_DEBUG) += debug.o
-obj-$(CONFIG_HAVE_GENERIC_INIT_TASK) += init_task.o
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [patch 21/29] score: Use generic init_task
2012-04-30 20:16 ` [patch 21/29] score: " Thomas Gleixner
@ 2012-04-30 20:21 ` KOSAKI Motohiro
2012-04-30 20:38 ` Thomas Gleixner
0 siblings, 1 reply; 49+ messages in thread
From: KOSAKI Motohiro @ 2012-04-30 20:21 UTC (permalink / raw)
To: Thomas Gleixner; +Cc: LKML, linux-arch, Chen Liqin, kosaki.motohiro
(4/30/12 4:16 PM), Thomas Gleixner wrote:
> Same code. Use the generic version.
>
> Signed-off-by: Thomas Gleixner<tglx@linutronix.de>
> Cc: Chen Liqin<liqin.chen@sunplusct.com>
> ---
> arch/score/Kconfig | 1 +
> arch/score/kernel/Makefile | 2 +-
> 2 files changed, 2 insertions(+), 1 deletion(-)
>
> Index: tip/arch/score/Kconfig
> ===================================================================
> --- tip.orig/arch/score/Kconfig
> +++ tip/arch/score/Kconfig
> @@ -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"
> Index: tip/arch/score/kernel/Makefile
> ===================================================================
> --- tip.orig/arch/score/kernel/Makefile
> +++ tip/arch/score/kernel/Makefile
> @@ -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
Almost patches delete arch specific init-task. But this patch doesn't.
Is this really intentional?
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [patch 23/29] sparc: Use generic init_task
2012-04-30 20:16 ` [patch 23/29] sparc: " Thomas Gleixner
@ 2012-04-30 20:35 ` Sam Ravnborg
2012-04-30 20:39 ` Thomas Gleixner
0 siblings, 1 reply; 49+ messages in thread
From: Sam Ravnborg @ 2012-04-30 20:35 UTC (permalink / raw)
To: Thomas Gleixner; +Cc: LKML, linux-arch, David S. Miller
On Mon, Apr 30, 2012 at 08:16:03PM -0000, Thomas Gleixner wrote:
> Same code. Use the generic version.
>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> Cc: "David S. Miller" <davem@davemloft.net>
> ---
> arch/sparc/Kconfig | 1 +
> arch/sparc/kernel/init_task.c | 22 ----------------------
> 2 files changed, 1 insertion(+), 22 deletions(-)
>
> Index: tip/arch/sparc/Kconfig
> ===================================================================
> --- tip.orig/arch/sparc/Kconfig
> +++ tip/arch/sparc/Kconfig
> @@ -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
> Index: tip/arch/sparc/kernel/init_task.c
> ===================================================================
> --- tip.orig/arch/sparc/kernel/init_task.c
> +++ /dev/null
This breaks sparc build as it has the following in arch/sparc/Makefile:
head-y += arch/sparc/kernel/init_task.o
And this patch deletes that file.
So at least you need to delete said line in this patch too.
Sam
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [patch 00/29] init_task: Use a generic init_task variant
2012-04-30 20:15 [patch 00/29] init_task: Use a generic init_task variant Thomas Gleixner
` (27 preceding siblings ...)
2012-04-30 20:16 ` [patch 29/29] init_task: Remove CONFIG_HAVE_GENERIC_INIT_TASK Thomas Gleixner
@ 2012-04-30 20:37 ` Sam Ravnborg
2012-04-30 20:43 ` Thomas Gleixner
28 siblings, 1 reply; 49+ messages in thread
From: Sam Ravnborg @ 2012-04-30 20:37 UTC (permalink / raw)
To: Thomas Gleixner; +Cc: LKML, linux-arch
On Mon, Apr 30, 2012 at 08:15:50PM -0000, Thomas Gleixner wrote:
> All architectures do roughly the same to initialize init_task. The
> only architecture which deviates is ia64, but I could not figure out
> why it couldn't use the same setup as all other architectures.
>
> The following series converts all archs to a generic version.
>
> Thanks,
>
> tglx
> ---
> 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/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/kernel/sched/Makefile | 4 --
> tip/kernel/sched/init_task.c | 24 ++++++++++++
Diffstat looks funny. Some tip stuff sneaked in.
Also I am missing patch 1..
Sam
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [patch 21/29] score: Use generic init_task
2012-04-30 20:21 ` KOSAKI Motohiro
@ 2012-04-30 20:38 ` Thomas Gleixner
2012-04-30 20:49 ` Thomas Gleixner
0 siblings, 1 reply; 49+ messages in thread
From: Thomas Gleixner @ 2012-04-30 20:38 UTC (permalink / raw)
To: KOSAKI Motohiro; +Cc: LKML, linux-arch, Chen Liqin
On Mon, 30 Apr 2012, KOSAKI Motohiro wrote:
> (4/30/12 4:16 PM), Thomas Gleixner wrote:
> > Same code. Use the generic version.
> >
> > Signed-off-by: Thomas Gleixner<tglx@linutronix.de>
> > Cc: Chen Liqin<liqin.chen@sunplusct.com>
> > ---
> > arch/score/Kconfig | 1 +
> > arch/score/kernel/Makefile | 2 +-
> > 2 files changed, 2 insertions(+), 1 deletion(-)
> >
> > Index: tip/arch/score/Kconfig
> > ===================================================================
> > --- tip.orig/arch/score/Kconfig
> > +++ tip/arch/score/Kconfig
> > @@ -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"
> > Index: tip/arch/score/kernel/Makefile
> > ===================================================================
> > --- tip.orig/arch/score/kernel/Makefile
> > +++ tip/arch/score/kernel/Makefile
> > @@ -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
>
> Almost patches delete arch specific init-task. But this patch doesn't.
> Is this really intentional?
Not really. I missed it :( Will fix.
Thanks,
tglx
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [patch 23/29] sparc: Use generic init_task
2012-04-30 20:35 ` Sam Ravnborg
@ 2012-04-30 20:39 ` Thomas Gleixner
2012-04-30 21:04 ` Thomas Gleixner
0 siblings, 1 reply; 49+ messages in thread
From: Thomas Gleixner @ 2012-04-30 20:39 UTC (permalink / raw)
To: Sam Ravnborg; +Cc: LKML, linux-arch, David S. Miller
On Mon, 30 Apr 2012, Sam Ravnborg wrote:
> On Mon, Apr 30, 2012 at 08:16:03PM -0000, Thomas Gleixner wrote:
> > Same code. Use the generic version.
> >
> > Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> > Cc: "David S. Miller" <davem@davemloft.net>
> > ---
> > arch/sparc/Kconfig | 1 +
> > arch/sparc/kernel/init_task.c | 22 ----------------------
> > 2 files changed, 1 insertion(+), 22 deletions(-)
> >
> > Index: tip/arch/sparc/Kconfig
> > ===================================================================
> > --- tip.orig/arch/sparc/Kconfig
> > +++ tip/arch/sparc/Kconfig
> > @@ -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
> > Index: tip/arch/sparc/kernel/init_task.c
> > ===================================================================
> > --- tip.orig/arch/sparc/kernel/init_task.c
> > +++ /dev/null
>
> This breaks sparc build as it has the following in arch/sparc/Makefile:
>
> head-y += arch/sparc/kernel/init_task.o
Hrmm, I thought I had catched all of this nonsense.
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [patch 00/29] init_task: Use a generic init_task variant
2012-04-30 20:37 ` [patch 00/29] init_task: Use a generic init_task variant Sam Ravnborg
@ 2012-04-30 20:43 ` Thomas Gleixner
2012-05-01 15:31 ` Sam Ravnborg
0 siblings, 1 reply; 49+ messages in thread
From: Thomas Gleixner @ 2012-04-30 20:43 UTC (permalink / raw)
To: Sam Ravnborg; +Cc: LKML, linux-arch
On Mon, 30 Apr 2012, Sam Ravnborg wrote:
> On Mon, Apr 30, 2012 at 08:15:50PM -0000, Thomas Gleixner wrote:
> > All architectures do roughly the same to initialize init_task. The
> > only architecture which deviates is ia64, but I could not figure out
> > why it couldn't use the same setup as all other architectures.
> >
> > The following series converts all archs to a generic version.
> >
> > Thanks,
> >
> > tglx
> > ---
> > 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/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/kernel/sched/Makefile | 4 --
> > tip/kernel/sched/init_task.c | 24 ++++++++++++
>
> Diffstat looks funny. Some tip stuff sneaked in.
Nah. That's diffstat madness. It does not add the prefix to the
deleted files, but for the modified ones it keeps it.
> Also I am missing patch 1..
I've got all of them sent back by vger ...
Thanks,
tglx
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [patch 21/29] score: Use generic init_task
2012-04-30 20:38 ` Thomas Gleixner
@ 2012-04-30 20:49 ` Thomas Gleixner
2012-05-01 13:46 ` KOSAKI Motohiro
0 siblings, 1 reply; 49+ messages in thread
From: Thomas Gleixner @ 2012-04-30 20:49 UTC (permalink / raw)
To: KOSAKI Motohiro; +Cc: LKML, linux-arch, Chen Liqin
On Mon, 30 Apr 2012, Thomas Gleixner wrote:
> On Mon, 30 Apr 2012, KOSAKI Motohiro wrote:
> > Almost patches delete arch specific init-task. But this patch doesn't.
> > Is this really intentional?
>
> Not really. I missed it :( Will fix.
Here is the updated one.
Thanks,
tglx
-------------->
Subject: score: Use generic init_task
From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 30 Apr 2012 16:46:03 +0200
Same code. Use the generic version.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Chen Liqin <liqin.chen@sunplusct.com>
---
arch/score/Kconfig | 1
arch/score/kernel/Makefile | 2 -
arch/score/kernel/init_task.c | 46 ------------------------------------------
3 files changed, 2 insertions(+), 47 deletions(-)
Index: tip/arch/score/Kconfig
===================================================================
--- tip.orig/arch/score/Kconfig
+++ tip/arch/score/Kconfig
@@ -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"
Index: tip/arch/score/kernel/Makefile
===================================================================
--- tip.orig/arch/score/kernel/Makefile
+++ tip/arch/score/kernel/Makefile
@@ -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
Index: tip/arch/score/kernel/init_task.c
===================================================================
--- tip.orig/arch/score/kernel/init_task.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * arch/score/kernel/init_task.c
- *
- * Score Processor version.
- *
- * Copyright (C) 2009 Sunplus Core Technology Co., Ltd.
- *
- * 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.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see the file COPYING, or write
- * to the Free Software Foundation, Inc.,
- * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#include <linux/init_task.h>
-#include <linux/mqueue.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);
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [patch 23/29] sparc: Use generic init_task
2012-04-30 20:39 ` Thomas Gleixner
@ 2012-04-30 21:04 ` Thomas Gleixner
2012-04-30 21:10 ` Sam Ravnborg
0 siblings, 1 reply; 49+ messages in thread
From: Thomas Gleixner @ 2012-04-30 21:04 UTC (permalink / raw)
To: Sam Ravnborg; +Cc: LKML, linux-arch, David S. Miller
On Mon, 30 Apr 2012, Thomas Gleixner wrote:
> On Mon, 30 Apr 2012, Sam Ravnborg wrote:
> > This breaks sparc build as it has the following in arch/sparc/Makefile:
> >
> > head-y += arch/sparc/kernel/init_task.o
>
> Hrmm, I thought I had catched all of this nonsense.
Updated version below.
Thanks,
tglx
-------------------->
Subject: sparc: Use generic init_task
From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 30 Apr 2012 16:48:55 +0200
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.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: "David S. Miller" <davem@davemloft.net>
---
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(-)
Index: tip/arch/sparc/Kconfig
===================================================================
--- tip.orig/arch/sparc/Kconfig
+++ tip/arch/sparc/Kconfig
@@ -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
Index: tip/arch/sparc/Makefile
===================================================================
--- tip.orig/arch/sparc/Makefile
+++ tip/arch/sparc/Makefile
@@ -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/
Index: tip/arch/sparc/kernel/Makefile
===================================================================
--- tip.orig/arch/sparc/kernel/Makefile
+++ tip/arch/sparc/kernel/Makefile
@@ -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)
Index: tip/arch/sparc/kernel/init_task.c
===================================================================
--- tip.orig/arch/sparc/kernel/init_task.c
+++ /dev/null
@@ -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) };
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [patch 23/29] sparc: Use generic init_task
2012-04-30 21:04 ` Thomas Gleixner
@ 2012-04-30 21:10 ` Sam Ravnborg
2012-05-01 1:46 ` David Miller
0 siblings, 1 reply; 49+ messages in thread
From: Sam Ravnborg @ 2012-04-30 21:10 UTC (permalink / raw)
To: Thomas Gleixner; +Cc: LKML, linux-arch, David S. Miller
On Mon, Apr 30, 2012 at 11:04:39PM +0200, Thomas Gleixner wrote:
> On Mon, 30 Apr 2012, Thomas Gleixner wrote:
> > On Mon, 30 Apr 2012, Sam Ravnborg wrote:
> > > This breaks sparc build as it has the following in arch/sparc/Makefile:
> > >
> > > head-y += arch/sparc/kernel/init_task.o
> >
> > Hrmm, I thought I had catched all of this nonsense.
>
> Updated version below.
>
> Thanks,
>
> tglx
>
> -------------------->
> Subject: sparc: Use generic init_task
> From: Thomas Gleixner <tglx@linutronix.de>
> Date: Mon, 30 Apr 2012 16:48:55 +0200
>
> 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.
>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> Cc: "David S. Miller" <davem@davemloft.net>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [patch 25/29] um: Use generic init_task
2012-04-30 20:16 ` [patch 25/29] um: " Thomas Gleixner
@ 2012-04-30 22:06 ` Richard Weinberger
0 siblings, 0 replies; 49+ messages in thread
From: Richard Weinberger @ 2012-04-30 22:06 UTC (permalink / raw)
To: Thomas Gleixner; +Cc: LKML, linux-arch
On Mon, 30 Apr 2012 20:16:04 -0000, Thomas Gleixner
<tglx@linutronix.de> wrote:
> Same code. Use the generic version.
>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> Cc: Richard Weinberger <richard@nod.at>
Acked-by: Richard Weinberger <richard@nod.at>
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [patch 25/29] um: Use generic init_task
@ 2012-04-30 22:06 ` Richard Weinberger
0 siblings, 0 replies; 49+ messages in thread
From: Richard Weinberger @ 2012-04-30 22:06 UTC (permalink / raw)
To: Thomas Gleixner; +Cc: LKML, linux-arch
On Mon, 30 Apr 2012 20:16:04 -0000, Thomas Gleixner
<tglx@linutronix.de> wrote:
> Same code. Use the generic version.
>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> Cc: Richard Weinberger <richard@nod.at>
Acked-by: Richard Weinberger <richard@nod.at>
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [patch 19/29] powerpc: Use generic init_task
2012-04-30 20:16 ` [patch 19/29] powerpc: " Thomas Gleixner
@ 2012-04-30 22:34 ` Benjamin Herrenschmidt
0 siblings, 0 replies; 49+ messages in thread
From: Benjamin Herrenschmidt @ 2012-04-30 22:34 UTC (permalink / raw)
To: Thomas Gleixner; +Cc: LKML, linux-arch
On Mon, 2012-04-30 at 20:16 +0000, Thomas Gleixner wrote:
> plain text document attachment (powerpc-use-generic-init-task.patch)
> Same code. Use the generic version.
>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> ---
> arch/powerpc/Kconfig | 1 +
> arch/powerpc/kernel/Makefile | 2 +-
> arch/powerpc/kernel/init_task.c | 29 -----------------------------
> 3 files changed, 2 insertions(+), 30 deletions(-)
>
> Index: tip/arch/powerpc/Kconfig
> ===================================================================
> --- tip.orig/arch/powerpc/Kconfig
> +++ tip/arch/powerpc/Kconfig
> @@ -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
> Index: tip/arch/powerpc/kernel/Makefile
> ===================================================================
> --- tip.orig/arch/powerpc/kernel/Makefile
> +++ tip/arch/powerpc/kernel/Makefile
> @@ -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 \
> Index: tip/arch/powerpc/kernel/init_task.c
> ===================================================================
> --- tip.orig/arch/powerpc/kernel/init_task.c
> +++ /dev/null
> @@ -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);
>
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [patch 22/29] sh: Use generic init_task
2012-04-30 20:16 ` [patch 22/29] sh: " Thomas Gleixner
@ 2012-04-30 22:57 ` Paul Mundt
0 siblings, 0 replies; 49+ messages in thread
From: Paul Mundt @ 2012-04-30 22:57 UTC (permalink / raw)
To: Thomas Gleixner; +Cc: LKML, linux-arch
On Mon, Apr 30, 2012 at 08:16:02PM -0000, Thomas Gleixner wrote:
> 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.
>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> Cc: Paul Mundt <lethal@linux-sh.org>
Acked-by: Paul Mundt <lethal@linux-sh.org>
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [patch 23/29] sparc: Use generic init_task
2012-04-30 21:10 ` Sam Ravnborg
@ 2012-05-01 1:46 ` David Miller
0 siblings, 0 replies; 49+ messages in thread
From: David Miller @ 2012-05-01 1:46 UTC (permalink / raw)
To: sam; +Cc: tglx, linux-kernel, linux-arch
From: Sam Ravnborg <sam@ravnborg.org>
Date: Mon, 30 Apr 2012 23:10:54 +0200
> On Mon, Apr 30, 2012 at 11:04:39PM +0200, Thomas Gleixner wrote:
>> On Mon, 30 Apr 2012, Thomas Gleixner wrote:
>> > On Mon, 30 Apr 2012, Sam Ravnborg wrote:
>> > > This breaks sparc build as it has the following in arch/sparc/Makefile:
>> > >
>> > > head-y += arch/sparc/kernel/init_task.o
>> >
>> > Hrmm, I thought I had catched all of this nonsense.
>>
>> Updated version below.
>>
>> Thanks,
>>
>> tglx
>>
>> -------------------->
>> Subject: sparc: Use generic init_task
>> From: Thomas Gleixner <tglx@linutronix.de>
>> Date: Mon, 30 Apr 2012 16:48:55 +0200
>>
>> 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.
>>
>> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
>> Cc: "David S. Miller" <davem@davemloft.net>
> Acked-by: Sam Ravnborg <sam@ravnborg.org>
Acked-by: David S. Miller <davem@davemloft.net>
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [patch 21/29] score: Use generic init_task
2012-04-30 20:49 ` Thomas Gleixner
@ 2012-05-01 13:46 ` KOSAKI Motohiro
0 siblings, 0 replies; 49+ messages in thread
From: KOSAKI Motohiro @ 2012-05-01 13:46 UTC (permalink / raw)
To: Thomas Gleixner; +Cc: LKML, linux-arch, Chen Liqin
On Mon, Apr 30, 2012 at 4:49 PM, Thomas Gleixner <tglx@linutronix.de> wrote:
> On Mon, 30 Apr 2012, Thomas Gleixner wrote:
>> On Mon, 30 Apr 2012, KOSAKI Motohiro wrote:
>> > Almost patches delete arch specific init-task. But this patch doesn't.
>> > Is this really intentional?
>>
>> Not really. I missed it :( Will fix.
>
> Here is the updated one.
>
> Thanks,
Seems good. (but obviously I'm not score expert, don't believe me).
Thanks.
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [patch 00/29] init_task: Use a generic init_task variant
2012-04-30 20:43 ` Thomas Gleixner
@ 2012-05-01 15:31 ` Sam Ravnborg
2012-05-02 7:09 ` Heiko Carstens
0 siblings, 1 reply; 49+ messages in thread
From: Sam Ravnborg @ 2012-05-01 15:31 UTC (permalink / raw)
To: Thomas Gleixner; +Cc: LKML, linux-arch
>
> > Also I am missing patch 1..
>
> I've got all of them sent back by vger ...
No sign of it yet?!?!?
Too many cc's?
Sam
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [patch 00/29] init_task: Use a generic init_task variant
2012-05-01 15:31 ` Sam Ravnborg
@ 2012-05-02 7:09 ` Heiko Carstens
0 siblings, 0 replies; 49+ messages in thread
From: Heiko Carstens @ 2012-05-02 7:09 UTC (permalink / raw)
To: Sam Ravnborg; +Cc: Thomas Gleixner, LKML, linux-arch
On Tue, May 01, 2012 at 05:31:26PM +0200, Sam Ravnborg wrote:
> >
> > > Also I am missing patch 1..
> >
> > I've got all of them sent back by vger ...
> No sign of it yet?!?!?
>
> Too many cc's?
Same here, patch 1 never arrived nor could I find it on three
different archives.
Could you please resend that one?
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [patch 07/29] cris: Use generic init_task
2012-04-30 20:15 ` [patch 07/29] cris: " Thomas Gleixner
@ 2012-05-02 11:24 ` Jesper Nilsson
0 siblings, 0 replies; 49+ messages in thread
From: Jesper Nilsson @ 2012-05-02 11:24 UTC (permalink / raw)
To: Thomas Gleixner; +Cc: LKML, linux-arch
On Mon, Apr 30, 2012 at 10:15:55PM +0200, Thomas Gleixner wrote:
> Same code. Use the generic version.
>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Jesper Nilsson <jesper.nilsson@axis.com>
> ---
> arch/cris/Kconfig | 1 +
> arch/cris/kernel/process.c | 28 ----------------------------
> 2 files changed, 1 insertion(+), 28 deletions(-)
>
> Index: tip/arch/cris/Kconfig
> ===================================================================
> --- tip.orig/arch/cris/Kconfig
> +++ tip/arch/cris/Kconfig
> @@ -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
> Index: tip/arch/cris/kernel/process.c
> ===================================================================
> --- tip.orig/arch/cris/kernel/process.c
> +++ tip/arch/cris/kernel/process.c
> @@ -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
>
/^JN - Jesper Nilsson
--
Jesper Nilsson -- jesper.nilsson@axis.com
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [patch 10/29] hexagon: Use generic idle_task
2012-04-30 20:15 ` [patch 10/29] hexagon: Use generic idle_task Thomas Gleixner
@ 2012-05-03 0:46 ` Richard Kuo
0 siblings, 0 replies; 49+ messages in thread
From: Richard Kuo @ 2012-05-03 0:46 UTC (permalink / raw)
To: Thomas Gleixner; +Cc: LKML, linux-arch, linux-hexagon
On Mon, Apr 30, 2012 at 08:15:56PM -0000, Thomas Gleixner wrote:
> 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.
>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> Cc: Richard Kuo <rkuo@codeaurora.org>
> ---
> 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(-)
>
> Index: tip/arch/hexagon/Kconfig
> ===================================================================
> --- tip.orig/arch/hexagon/Kconfig
> +++ tip/arch/hexagon/Kconfig
> @@ -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
> Index: tip/arch/hexagon/Makefile
> ===================================================================
> --- tip.orig/arch/hexagon/Makefile
> +++ tip/arch/hexagon/Makefile
> @@ -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/ \
> Index: tip/arch/hexagon/kernel/Makefile
> ===================================================================
> --- tip.orig/arch/hexagon/kernel/Makefile
> +++ tip/arch/hexagon/kernel/Makefile
> @@ -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
>
> Index: tip/arch/hexagon/kernel/init_task.c
> ===================================================================
> --- tip.orig/arch/hexagon/kernel/init_task.c
> +++ /dev/null
> @@ -1,54 +0,0 @@
> -/*
> - * Init task definition
> - *
> - * Copyright (c) 2010-2011, Code Aurora Forum. All rights reserved.
> - *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License version 2 and
> - * only version 2 as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> - * GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program; if not, write to the Free Software
> - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
> - * 02110-1301, USA.
> - */
> -
> -#include <linux/mm.h>
> -#include <linux/module.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.
> - */
> -union thread_union init_thread_union
> - __attribute__((__section__(".data.init_task"),
> - __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);
>
>
Acked-and-tested-by: Richard Kuo <rkuo@codeaurora.org>
--
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
^ permalink raw reply [flat|nested] 49+ messages in thread
* Re: [patch 05/29] blackfin: Use generic init_task
2012-04-30 20:15 ` [patch 05/29] blackfin: " Thomas Gleixner
@ 2012-05-06 8:16 ` Mike Frysinger
0 siblings, 0 replies; 49+ messages in thread
From: Mike Frysinger @ 2012-05-06 8:16 UTC (permalink / raw)
To: Thomas Gleixner; +Cc: LKML, linux-arch
[-- Attachment #1: Type: Text/Plain, Size: 329 bytes --]
On Monday 30 April 2012 16:15:54 Thomas Gleixner wrote:
> 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.
thanks !
Acked-by: Mike Frysinger <vapier@gentoo.org>
-mike
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 49+ messages in thread
end of thread, other threads:[~2012-05-06 8:15 UTC | newest]
Thread overview: 49+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-04-30 20:15 [patch 00/29] init_task: Use a generic init_task variant Thomas Gleixner
2012-04-30 20:15 ` [patch 02/29] alpha: Use generic init_task Thomas Gleixner
2012-04-30 20:15 ` [patch 03/29] arm: " Thomas Gleixner
2012-04-30 20:15 ` [patch 04/29] avr32: " Thomas Gleixner
2012-04-30 20:15 ` [patch 06/29] cx6: " Thomas Gleixner
2012-04-30 20:15 ` [patch 05/29] blackfin: " Thomas Gleixner
2012-05-06 8:16 ` Mike Frysinger
2012-04-30 20:15 ` [patch 08/29] frv: " Thomas Gleixner
2012-04-30 20:15 ` [patch 07/29] cris: " Thomas Gleixner
2012-05-02 11:24 ` Jesper Nilsson
2012-04-30 20:15 ` [patch 09/29] h8300: " Thomas Gleixner
2012-04-30 20:15 ` [patch 10/29] hexagon: Use generic idle_task Thomas Gleixner
2012-05-03 0:46 ` Richard Kuo
2012-04-30 20:15 ` [patch 12/29] m32r: Use generic init_task Thomas Gleixner
2012-04-30 20:15 ` [patch 11/29] ia64: " Thomas Gleixner
2012-04-30 20:15 ` [patch 13/29] m68k: " Thomas Gleixner
2012-04-30 20:15 ` [patch 14/29] microblaze: " Thomas Gleixner
2012-04-30 20:15 ` [patch 16/29] mn10300: " Thomas Gleixner
2012-04-30 20:15 ` [patch 15/29] mips: " Thomas Gleixner
2012-04-30 20:16 ` [patch 18/29] parisc: " Thomas Gleixner
2012-04-30 20:16 ` [patch 17/29] openrisc: " Thomas Gleixner
2012-04-30 20:16 ` [patch 19/29] powerpc: " Thomas Gleixner
2012-04-30 22:34 ` Benjamin Herrenschmidt
2012-04-30 20:16 ` [patch 20/29] s390: " Thomas Gleixner
2012-04-30 20:16 ` [patch 22/29] sh: " Thomas Gleixner
2012-04-30 22:57 ` Paul Mundt
2012-04-30 20:16 ` [patch 21/29] score: " Thomas Gleixner
2012-04-30 20:21 ` KOSAKI Motohiro
2012-04-30 20:38 ` Thomas Gleixner
2012-04-30 20:49 ` Thomas Gleixner
2012-05-01 13:46 ` KOSAKI Motohiro
2012-04-30 20:16 ` [patch 24/29] tile: " Thomas Gleixner
2012-04-30 20:16 ` [patch 23/29] sparc: " Thomas Gleixner
2012-04-30 20:35 ` Sam Ravnborg
2012-04-30 20:39 ` Thomas Gleixner
2012-04-30 21:04 ` Thomas Gleixner
2012-04-30 21:10 ` Sam Ravnborg
2012-05-01 1:46 ` David Miller
2012-04-30 20:16 ` [patch 25/29] um: " Thomas Gleixner
2012-04-30 22:06 ` Richard Weinberger
2012-04-30 22:06 ` Richard Weinberger
2012-04-30 20:16 ` [patch 26/29] unicore32: " Thomas Gleixner
2012-04-30 20:16 ` [patch 27/29] x86: " Thomas Gleixner
2012-04-30 20:16 ` [patch 28/29] xtensa: " Thomas Gleixner
2012-04-30 20:16 ` [patch 29/29] init_task: Remove CONFIG_HAVE_GENERIC_INIT_TASK Thomas Gleixner
2012-04-30 20:37 ` [patch 00/29] init_task: Use a generic init_task variant Sam Ravnborg
2012-04-30 20:43 ` Thomas Gleixner
2012-05-01 15:31 ` Sam Ravnborg
2012-05-02 7:09 ` Heiko Carstens
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.