[PATCH 00/53] sched.h modernization -v2, phase #3: "Move definitions between headers"

From: Ingo Molnar
Date: Wed Feb 08 2017 - 13:45:48 EST

This is phase #3 of the sched.h modernization series.

These patches are the meat of the code movement between headers, but they don't
actually change the header dependency graph: all code movement is between
pre-existing headers and all post-movement header dependencies were already
established by the phase #2 preparatory series..

See the announcement for more details:


The Git tree can be found at:

git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git WIP.sched/core



Ingo Molnar (53):
sched/headers: Move scheduler topology interfaces to <linux/sched/topology.h>
sched/headers: Move the 'cpu_idle_type' enum from <linux/sched.h> to <linux/sched/idle.h>
sched/headers: Move the wake_up_if_idle() prototype to <linux/sched/idle.h>
sched/headers: Move idle polling methods to <linux/sched/idle.h>
sched/headers: Move the wake-queue types and interfaces from sched.h into <linux/sched/wake_q.h>
sched/headers: Move scheduler clock interfaces to <linux/sched/clock.h>
sched/headers, delayacct: Move the 'struct task_delay_info' definition from <linux/sched.h> to <linux/delayacct.h>
sched/headers: Move various ABI definitions to <uapi/linux/sched/types.h>
sched/headers: Move loadavg related definitions from <linux/sched.h> to <linux/sched/loadavg.h>
sched/headers: Move autogroup APIs into <linux/sched/autogroup.h>
sched/headers: Move task->mm handling methods to <linux/sched/mm.h>
sched/headers: Move task->mm coredumping related defines and methods from <linux/sched.h> to <linux/sched/coredump.h>
sched/headers: Move task_struct::signal and task_struct::sighand types and accessors into <linux/sched/signal.h>
sched/headers: Move 'struct user_struct' definition and APIs to the new <linux/sched/user.h> header
sched/headers: Move softlockup detector watchdog methods to <linux/nmi.h>
sched/headers: Move 'struct pacct_struct' and 'struct cpu_itimer' form <linux/sched.h> to <linux/sched/signal.h>
sched/headers: Move the cpufreq interfaces to <linux/sched/cpufreq.h>
sched/headers: Move more mm_struct related functionality from <linux/sched.h> to <linux/sched/mm.h>
sched/headers: Move the 'init_mm' declaration from <linux/sched.h> to <linux/mm_types.h>
sched/headers: Move in_vfork() from <linux/sched.h> to <linux/sched/mm.h>
sched/headers: Move the NUMA balancing interfaces from <linux/sched.h> to <linux/sched/numa_balancing.h>
sched/headers: Move the JOBCTL_ defines and methods from <linux/sched.h> to <linux/sched/jobctl.h>
sched/headers: Remove various unrelated headers from <linux/sched.h>
sched/headers: Move CONFIG_TASK_XACCT bits from <linux/sched.h> to <linux/sched/xacct.h>
sched/headers: Move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h>
sched/headers: Move the memalloc_noio_*() APIs to <linux/sched/mm.h>
sched/headers: Move task statistics APIs from <linux/sched.h> to <linux/sched/stat.h>
sched/headers: Move the NOHZ APIs from <linux/sched.h> to <linux/sched/nohz.h>
sched/headers: Move debugging functions from <linux/sched.h> to <linux/sched/debug.h>
sched/headers, time/timekeeping: Move the xtime_update() prototype from <linux/sched.h> to <linux/time.h>
sched/headers: Move <asm/current.h> include from the middle of <linux/sched.h> to the header portion
sched/headers: Split hotplug CPU interfaces out of <linux/sched.h> into <linux/sched/hotplug.h>
sched/headers: Move task lifetime APIs from <linux/sched.h> to <linux/sched/task.h>
sched/headers, RCU: Move rcu_copy_process() from <linux/sched/task.h> to kernel/fork.c
sched/core: Move, sort and clean up <linux/sched.h> structure predeclarations
sched/headers: Move the PREEMPT_COUNT defines from <linux/sched.h> to <linux/preempt.h>
sched/headers: Move task-stack related APIs from <linux/sched.h> to <linux/sched/task_stack.h>
sched/headers: Move the 'root_task_group' declaration to <linux/sched/autogroup.h>
signals: Move signal data types from <linux/signal.h> to <linux/signal_types.h>
mm/headers, sched/headers: Move task related MM types from <linux/mm_types.> to <linux/mm_types_task.h>
sched/headers: Remove the <linux/mm_types.h> dependency from <linux/sched.h>
sched/headers: Move 'init_task' and 'init_thread_union' from <linux/sched.h> to <linux/sched/task.h>
sched/headers: Move the task_lock()/unlock() APIs to <linux/sched/task.h>
sched/headers: Move cputime functionality from <linux/sched.h> and <linux/cputime.h> into <linux/sched/cputime.h>
sched/headers: Move sched_info_on() and force_schedstat_enabled() from <linux/sched.h> to <linux/sched/stat.h>
sched/headers, vfs/execve: Move the do_execve*() prototypes from <linux/sched.h> to <linux/binfmts.h>
sched/headers: Move kstack_end() from <linux/sched.h> to <linux/sched/task_stack.h>
sched/headers: Move exit_files() and exit_itimers() from <linux/sched.h> to <linux/sched/task.h>
sched/headers: Move _init() prototypes from <linux/sched.h> to <linux/sched/init.h>
sched/headers, timekeeping: Move the timer tick function prototypes to <linux/timekeeping.h>
sched/headers, mm: Move 'struct tlbflush_unmap_batch' from <linux/sched.h> to <linux/mm_types_task.h>
sched/headers: Move the get_task_struct()/put_task_struct() and related APIs from <linux/sched.h> to <linux/sched/task.h>
sched/headers: Move the sched_exec() prototype to <linux/sched/task.h>

include/linux/binfmts.h | 10 +
include/linux/cputime.h | 13 -
include/linux/delayacct.h | 36 +
include/linux/init_task.h | 2 -
include/linux/mm_types.h | 51 +-
include/linux/mm_types_task.h | 77 ++
include/linux/nmi.h | 37 +
include/linux/preempt.h | 21 +
include/linux/sched.h | 3903 +++++++++++++-----------------------------------------
include/linux/sched/autogroup.h | 26 +
include/linux/sched/clock.h | 98 ++
include/linux/sched/coredump.h | 69 +
include/linux/sched/cpufreq.h | 21 +
include/linux/sched/cputime.h | 182 ++-
include/linux/sched/debug.h | 46 +
include/linux/sched/hotplug.h | 20 +
include/linux/sched/idle.h | 85 ++
include/linux/sched/init.h | 7 +
include/linux/sched/jobctl.h | 32 +
include/linux/sched/loadavg.h | 27 +
include/linux/sched/mm.h | 121 ++
include/linux/sched/nohz.h | 39 +
include/linux/sched/numa_balancing.h | 40 +
include/linux/sched/signal.h | 601 ++++++++-
include/linux/sched/stat.h | 34 +
include/linux/sched/task.h | 133 ++
include/linux/sched/task_stack.h | 114 ++
include/linux/sched/topology.h | 213 +++
include/linux/sched/user.h | 58 +
include/linux/sched/wake_q.h | 50 +
include/linux/sched/xacct.h | 42 +
include/linux/signal.h | 54 -
include/linux/signal_types.h | 59 +
include/linux/timekeeping.h | 4 +
include/uapi/linux/sched/types.h | 68 +
kernel/fork.c | 15 +
kernel/sched/stats.h | 111 --
37 files changed, 3289 insertions(+), 3230 deletions(-)
delete mode 100644 include/linux/cputime.h