linux-arch.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/11] Introduce kernel_clone(), kill _do_fork()
@ 2020-08-19 10:46 Christian Brauner
  2020-08-19 10:46 ` [PATCH v2 01/11] fork: introduce kernel_clone() Christian Brauner
                   ` (10 more replies)
  0 siblings, 11 replies; 16+ messages in thread
From: Christian Brauner @ 2020-08-19 10:46 UTC (permalink / raw)
  To: linux-arch, linux-kernel
  Cc: Jonathan Corbet, Yoshinori Sato, Tony Luck, Fenghua Yu,
	Geert Uytterhoeven, Ley Foon Tan, David S. Miller,
	Thomas Gleixner, Ingo Molnar, Borislav Petkov, x86,
	Arnd Bergmann, Steven Rostedt, Stafford Horne, Peter Zijlstra,
	Kars de Jong, Kees Cook, Greentime Hu, Eric W. Biederman,
	Mauro Carvalho Chehab, Alexandre Chartre, Masami Hiramatsu,
	Tom Zanussi, Xiao Yang, linux-doc, uclinux-h8-devel, linux-ia64,
	linux-m68k, sparclinux, kgdb-bugreport, linux-kselftest,
	Linus Torvalds, Christoph Hewllig, Matthew Wilcox,
	Christian Brauner

Hey everyone,

This is a follow-up to the fork-related cleanup. It's based on a brief
discussion after the initial series was merged.
Last cycle we removed copy_thread_tls() and the associated Kconfig
option for each architecture. Now we are only left with copy_thread().
Part of this work was removing the old do_fork() legacy clone()-style
calling convention in favor of the new struct kernel_clone args calling
convention.
The only remaining function callable outside of kernel/fork.c is
_do_fork(). It doesn't really follow the naming of kernel-internal
syscall helpers as Christoph righly pointed out. Switch all callers and
references to kernel_clone() and remove _do_fork() once and for all also
switching the return value for kernel_clone() from long to pid_t since
that's what we use in all other places where we're dealing with process
identifiers.

For all architectures I have done a full git rebase v5.9-rc1 -x "make
-j31". There were no built failures and the changes were fairly
mechanical.

The only helpers we have left now are kernel_thread() and kernel_clone()
where kernel_thread() just calls kernel_clone().

Thanks!
Christian

Christian Brauner (11):
  fork: introduce kernel_clone()
  h8300: switch to kernel_clone()
  ia64: switch to kernel_clone()
  m68k: switch to kernel_clone()
  nios2: switch to kernel_clone()
  sparc: switch to kernel_clone()
  x86: switch to kernel_clone()
  kprobes: switch to kernel_clone()
  kgdbts: switch to kernel_clone()
  tracing: switch to kernel_clone()
  sched: remove _do_fork()

 Documentation/trace/histogram.rst             |  4 +-
 arch/h8300/kernel/process.c                   |  2 +-
 arch/ia64/kernel/process.c                    |  4 +-
 arch/m68k/kernel/process.c                    | 10 ++--
 arch/nios2/kernel/process.c                   |  2 +-
 arch/sparc/kernel/process.c                   |  6 +--
 arch/x86/kernel/sys_ia32.c                    |  2 +-
 drivers/misc/kgdbts.c                         | 48 +++++++++----------
 include/linux/sched/task.h                    |  2 +-
 kernel/fork.c                                 | 16 +++----
 samples/kprobes/kprobe_example.c              |  6 +--
 samples/kprobes/kretprobe_example.c           |  4 +-
 .../test.d/dynevent/add_remove_kprobe.tc      |  2 +-
 .../test.d/dynevent/clear_select_events.tc    |  2 +-
 .../test.d/dynevent/generic_clear_event.tc    |  2 +-
 .../test.d/ftrace/func-filter-stacktrace.tc   |  4 +-
 .../ftrace/test.d/kprobe/add_and_remove.tc    |  2 +-
 .../ftrace/test.d/kprobe/busy_check.tc        |  2 +-
 .../ftrace/test.d/kprobe/kprobe_args.tc       |  4 +-
 .../ftrace/test.d/kprobe/kprobe_args_comm.tc  |  2 +-
 .../test.d/kprobe/kprobe_args_string.tc       |  4 +-
 .../test.d/kprobe/kprobe_args_symbol.tc       | 10 ++--
 .../ftrace/test.d/kprobe/kprobe_args_type.tc  |  2 +-
 .../ftrace/test.d/kprobe/kprobe_ftrace.tc     | 14 +++---
 .../ftrace/test.d/kprobe/kprobe_multiprobe.tc |  2 +-
 .../test.d/kprobe/kprobe_syntax_errors.tc     | 12 ++---
 .../ftrace/test.d/kprobe/kretprobe_args.tc    |  4 +-
 .../selftests/ftrace/test.d/kprobe/profile.tc |  2 +-
 28 files changed, 88 insertions(+), 88 deletions(-)


base-commit: 9123e3a74ec7b934a4a099e98af6a61c2f80bbf5
-- 
2.28.0


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2020-09-07  1:12 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-19 10:46 [PATCH v2 00/11] Introduce kernel_clone(), kill _do_fork() Christian Brauner
2020-08-19 10:46 ` [PATCH v2 01/11] fork: introduce kernel_clone() Christian Brauner
2020-08-19 10:46 ` [PATCH v2 02/11] h8300: switch to kernel_clone() Christian Brauner
2020-08-19 10:46 ` [PATCH v2 03/11] ia64: " Christian Brauner
2020-08-19 10:46 ` [PATCH v2 04/11] m68k: " Christian Brauner
2020-08-19 10:46 ` [PATCH v2 05/11] nios2: " Christian Brauner
2020-08-19 10:46 ` [PATCH v2 06/11] sparc: " Christian Brauner
2020-08-19 20:02   ` David Miller
2020-08-19 10:46 ` [PATCH v2 07/11] x86: " Christian Brauner
2020-08-19 10:46 ` [PATCH v2 08/11] kprobes: " Christian Brauner
2020-09-07  1:12   ` Masami Hiramatsu
2020-08-19 10:46 ` [PATCH v2 09/11] kgdbts: " Christian Brauner
2020-08-19 14:57   ` Daniel Thompson
2020-08-19 10:46 ` [PATCH v2 10/11] tracing: " Christian Brauner
2020-09-04  7:28   ` Masami Hiramatsu
2020-08-19 10:46 ` [PATCH v2 11/11] sched: remove _do_fork() Christian Brauner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).