Skip to content

RFC unify init_task

Kyle McMartin linux-arch 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest19 patches 14 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/19add HAVE_ARCH_INIT_TASKarch/Kconfig arch/alpha/Kconfig arch/arm/Kconfig +19 more+30 -00 replies
2/19add generic kernel/init_task.ckernel/Makefile kernel/init_task.c+40 -00 replies
3/19x86: convert to generic init_task.carch/x86/Kconfig arch/x86/kernel/init_task.c+0 -260 replies
4/19alpha: rename .data.init_thread to .data.init_taskarch/alpha/kernel/init_task.c arch/alpha/kernel/vmlinux.lds.S+3 -30 replies
5/19alpha: convert to generic init_task.carch/alpha/Kconfig arch/alpha/kernel/Makefile arch/alpha/kernel/init_task.c+1 -240 replies
6/19arm: convert to generic init_task.carch/arm/Kconfig arch/arm/kernel/Makefile arch/arm/kernel/init_task.c+1 -451 reply
7/19avr32: convert to generic init_task.carch/avr32/Kconfig arch/avr32/kernel/Makefile arch/avr32/kernel/init_task.c+1 -391 reply
8/19blackfin: convert to generic init_task.carch/blackfin/Kconfig arch/blackfin/kernel/Makefile arch/blackfin/kernel/init_task.c+1 -621 reply
9/19frv: convert to generic init_task.carch/frv/Kconfig arch/frv/kernel/Makefile arch/frv/kernel/init_task.c+1 -400 replies
10/19h8300: convert to generic init_task.carch/h8300/Kconfig arch/h8300/kernel/Makefile arch/h8300/kernel/init_task.c+1 -441 reply
11/19m32r: convert to generic init_task.carch/m32r/Kconfig arch/m32r/kernel/Makefile arch/m32r/kernel/init_task.c+1 -420 replies
12/19m68knommu: convert to generic init_task.carch/m68knommu/Kconfig arch/m68knommu/kernel/Makefile arch/m68knommu/kernel/init_task.c+1 -440 replies
13/19mips: convert to generic init_task.carch/mips/Kconfig arch/mips/kernel/Makefile arch/mips/kernel/init_task.c+1 -432 replies
14/19mn10300: convert to generic init_task.carch/mn10300/Kconfig arch/mn10300/kernel/Makefile arch/mn10300/kernel/init_task.c+1 -460 replies
15/19parisc: convert to generic init_task.carch/parisc/Kconfig arch/parisc/kernel/init_task.c+0 -290 replies
16/19powerpc: convert to generic init_task.carch/powerpc/Kconfig arch/powerpc/kernel/Makefile arch/powerpc/kernel/init_task.c+1 -370 replies
17/19s390: convert to generic init_task.carch/s390/Kconfig arch/s390/kernel/Makefile arch/s390/kernel/init_task.c+1 -460 replies
18/19sh: convert to generic init_task.carch/sh/Kconfig arch/sh/kernel/init_task.c+0 -260 replies
19/19xtensa: convert to generic init_task.carch/xtensa/Kconfig arch/xtensa/kernel/Makefile arch/xtensa/kernel/init_task.c+1 -390 replies

Reviews trailers per patch

2 of 19 patches have a Reviewed-by or Acked-by.

PatchRussell KingHaavard Skinnemoen
1/19
2/19
3/19
4/19
5/19
6/19A-b
7/19A-b
8/19
9/19
10/19
11/19
12/19
13/19
14/19
15/19
16/19
17/19
18/19
19/19

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [RFC PATCH 00/19] unify init_task

Create a common kernel/init_task.c, and convert low hanging fruit to use it. Architecture maintainers will need to ensure that I didn't break anything before applying the init_task removal patch to their arch.

A few architectures appear to possibly rely on link-ordering (with an extra-y makefile rule) and may need additional linker script rules.

Unconverted architectures so far are m68k (because it doesn't use an explicit init_task.c), ia64 (because it faffs about with init_thread_union), and sparc{,64} (which appear to rely on some magic.)

The other open question is what to do about init_mm, which was supposed to be removed in 2.6.26...

Kyle McMartin (19):
add HAVE_ARCH_INIT_TASK
add generic kernel/init_task.c
x86: convert to generic init_task.c
alpha: rename .data.init_thread to .data.init_task
alpha: convert to generic init_task.c
arm: convert to generic init_task.c
avr32: convert to generic init_task.c
blackfin: convert to generic init_task.c
frv: convert to generic init_task.c
h8300: convert to generic init_task.c
m32r: convert to generic init_task.c
m68knommu: convert to generic init_task.c
mips: convert to generic init_task.c
mn10300: convert to generic init_task.c
parisc: convert to generic init_task.c
powerpc: convert to generic init_task.c
s390: convert to generic init_task.c
sh: convert to generic init_task.c
xtensa: convert to generic init_task.c

 arch/Kconfig                      |    9 +++++
 arch/alpha/kernel/Makefile        |    2 +-
 arch/alpha/kernel/init_task.c     |   22 -------------
 arch/alpha/kernel/vmlinux.lds.S   |    4 +-
 arch/arm/kernel/Makefile          |    2 +-
 arch/arm/kernel/init_task.c       |   43 --------------------------
 arch/avr32/kernel/Makefile        |    2 +-
 arch/avr32/kernel/init_task.c     |   37 ----------------------
 arch/blackfin/kernel/Makefile     |    2 +-
 arch/blackfin/kernel/init_task.c  |   60 -------------------------------------
 arch/cris/Kconfig                 |    1 +
 arch/frv/kernel/Makefile          |    2 +-
 arch/frv/kernel/init_task.c       |   38 -----------------------
 arch/h8300/kernel/Makefile        |    2 +-
 arch/h8300/kernel/init_task.c     |   42 --------------------------
 arch/ia64/Kconfig                 |    1 +
 arch/m32r/kernel/Makefile         |    2 +-
 arch/m32r/kernel/init_task.c      |   40 ------------------------
 arch/m68k/Kconfig                 |    1 +
 arch/m68knommu/kernel/Makefile    |    2 +-
 arch/m68knommu/kernel/init_task.c |   42 --------------------------
 arch/mips/kernel/Makefile         |    2 +-
 arch/mips/kernel/init_task.c      |   41 -------------------------
 arch/mn10300/kernel/Makefile      |    2 +-
 arch/mn10300/kernel/init_task.c   |   44 ---------------------------
 arch/parisc/kernel/init_task.c    |   28 -----------------
 arch/powerpc/kernel/Makefile      |    2 +-
 arch/powerpc/kernel/init_task.c   |   35 ---------------------
 arch/s390/kernel/Makefile         |    2 +-
 arch/s390/kernel/init_task.c      |   44 ---------------------------
 arch/sh/kernel/init_task.c        |   25 ---------------
 arch/sparc/Kconfig                |    1 +
 arch/sparc64/Kconfig              |    1 +
 arch/x86/kernel/init_task.c       |   25 ---------------
 arch/xtensa/kernel/Makefile       |    2 +-
 arch/xtensa/kernel/init_task.c    |   37 ----------------------
 kernel/Makefile                   |    4 ++
 kernel/init_task.c                |   36 ++++++++++++++++++++++
 38 files changed, 69 insertions(+), 618 deletions(-)
 delete mode 100644 arch/alpha/kernel/init_task.c
 delete mode 100644 arch/arm/kernel/init_task.c
 delete mode 100644 arch/avr32/kernel/init_task.c
 delete mode 100644 arch/blackfin/kernel/init_task.c
 delete mode 100644 arch/frv/kernel/init_task.c
 delete mode 100644 arch/h8300/kernel/init_task.c
 delete mode 100644 arch/m32r/kernel/init_task.c
 delete mode 100644 arch/m68knommu/kernel/init_task.c
 delete mode 100644 arch/mips/kernel/init_task.c
 delete mode 100644 arch/mn10300/kernel/init_task.c
 delete mode 100644 arch/powerpc/kernel/init_task.c
 delete mode 100644 arch/s390/kernel/init_task.c
 delete mode 100644 arch/xtensa/kernel/init_task.c
 create mode 100644 kernel/init_task.c