sched/headers, timers: Remove the <linux/sysctl.h> include from <linux/timer.h>

So we want to simplify <linux/sched.h>'s header dependencies, but one
roadblock of that is <linux/timer.h>'s inclusion of sysctl.h,
which brings in other, problematic headers.

Note that timer.h's inclusion of sysctl.h can be avoided if we
pre-declare ctl_table - so do that.

Acked-by: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
Ingo Molnar 2017-02-06 09:56:40 +01:00
parent 50ff9d1300
commit b2d5bfea2d
2 changed files with 2 additions and 1 deletions

View File

@ -212,7 +212,7 @@ struct hrtimer;
extern enum hrtimer_restart it_real_fn(struct hrtimer *); extern enum hrtimer_restart it_real_fn(struct hrtimer *);
#if defined(CONFIG_SMP) && defined(CONFIG_NO_HZ_COMMON) #if defined(CONFIG_SMP) && defined(CONFIG_NO_HZ_COMMON)
#include <linux/sysctl.h> struct ctl_table;
extern unsigned int sysctl_timer_migration; extern unsigned int sysctl_timer_migration;
int timer_migration_handler(struct ctl_table *table, int write, int timer_migration_handler(struct ctl_table *table, int write,

View File

@ -5,6 +5,7 @@
#include <linux/nsproxy.h> #include <linux/nsproxy.h>
#include <linux/ns_common.h> #include <linux/ns_common.h>
#include <linux/sched.h> #include <linux/sched.h>
#include <linux/workqueue.h>
#include <linux/rwsem.h> #include <linux/rwsem.h>
#include <linux/sysctl.h> #include <linux/sysctl.h>
#include <linux/err.h> #include <linux/err.h>