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: https://lkml.org/lkml/2017/2/8/564 The Git tree can be found at: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git WIP.sched/core Thanks, Ingo 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 -- 2.7.4

