diff options
author | Peter Zijlstra <peterz@infradead.org> | 2017-09-07 11:03:53 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2017-09-12 11:41:04 -0400 |
commit | 9469eb01db891b55367ee7539f1b9f7f6fd2819d (patch) | |
tree | dfe475d30b69b6e43b8ed1be0505f08123fee653 | |
parent | 4ff9083b8a9a80bdf4ebbbec22cda4cbfb60f7aa (diff) |
sched/debug: Add debugfs knob for "sched_debug"
I'm forever late for editing my kernel cmdline, add a runtime knob to
disable the "sched_debug" thing.
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/20170907150614.142924283@infradead.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
-rw-r--r-- | kernel/sched/debug.c | 5 | ||||
-rw-r--r-- | kernel/sched/sched.h | 2 | ||||
-rw-r--r-- | kernel/sched/topology.c | 4 |
3 files changed, 8 insertions, 3 deletions
diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c index 4a23bbc3111b..b19d06ea6e10 100644 --- a/kernel/sched/debug.c +++ b/kernel/sched/debug.c | |||
@@ -181,11 +181,16 @@ static const struct file_operations sched_feat_fops = { | |||
181 | .release = single_release, | 181 | .release = single_release, |
182 | }; | 182 | }; |
183 | 183 | ||
184 | __read_mostly bool sched_debug_enabled; | ||
185 | |||
184 | static __init int sched_init_debug(void) | 186 | static __init int sched_init_debug(void) |
185 | { | 187 | { |
186 | debugfs_create_file("sched_features", 0644, NULL, NULL, | 188 | debugfs_create_file("sched_features", 0644, NULL, NULL, |
187 | &sched_feat_fops); | 189 | &sched_feat_fops); |
188 | 190 | ||
191 | debugfs_create_bool("sched_debug", 0644, NULL, | ||
192 | &sched_debug_enabled); | ||
193 | |||
189 | return 0; | 194 | return 0; |
190 | } | 195 | } |
191 | late_initcall(sched_init_debug); | 196 | late_initcall(sched_init_debug); |
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h index ab1c7f5409a0..7ea2a0339771 100644 --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h | |||
@@ -1954,6 +1954,8 @@ extern struct sched_entity *__pick_first_entity(struct cfs_rq *cfs_rq); | |||
1954 | extern struct sched_entity *__pick_last_entity(struct cfs_rq *cfs_rq); | 1954 | extern struct sched_entity *__pick_last_entity(struct cfs_rq *cfs_rq); |
1955 | 1955 | ||
1956 | #ifdef CONFIG_SCHED_DEBUG | 1956 | #ifdef CONFIG_SCHED_DEBUG |
1957 | extern bool sched_debug_enabled; | ||
1958 | |||
1957 | extern void print_cfs_stats(struct seq_file *m, int cpu); | 1959 | extern void print_cfs_stats(struct seq_file *m, int cpu); |
1958 | extern void print_rt_stats(struct seq_file *m, int cpu); | 1960 | extern void print_rt_stats(struct seq_file *m, int cpu); |
1959 | extern void print_dl_stats(struct seq_file *m, int cpu); | 1961 | extern void print_dl_stats(struct seq_file *m, int cpu); |
diff --git a/kernel/sched/topology.c b/kernel/sched/topology.c index 6f7b43982f73..2ab2aa68c796 100644 --- a/kernel/sched/topology.c +++ b/kernel/sched/topology.c | |||
@@ -14,11 +14,9 @@ cpumask_var_t sched_domains_tmpmask2; | |||
14 | 14 | ||
15 | #ifdef CONFIG_SCHED_DEBUG | 15 | #ifdef CONFIG_SCHED_DEBUG |
16 | 16 | ||
17 | static __read_mostly int sched_debug_enabled; | ||
18 | |||
19 | static int __init sched_debug_setup(char *str) | 17 | static int __init sched_debug_setup(char *str) |
20 | { | 18 | { |
21 | sched_debug_enabled = 1; | 19 | sched_debug_enabled = true; |
22 | 20 | ||
23 | return 0; | 21 | return 0; |
24 | } | 22 | } |