aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Zijlstra <peterz@infradead.org>2017-09-07 11:03:53 -0400
committerIngo Molnar <mingo@kernel.org>2017-09-12 11:41:04 -0400
commit9469eb01db891b55367ee7539f1b9f7f6fd2819d (patch)
treedfe475d30b69b6e43b8ed1be0505f08123fee653
parent4ff9083b8a9a80bdf4ebbbec22cda4cbfb60f7aa (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.c5
-rw-r--r--kernel/sched/sched.h2
-rw-r--r--kernel/sched/topology.c4
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
184static __init int sched_init_debug(void) 186static __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}
191late_initcall(sched_init_debug); 196late_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);
1954extern struct sched_entity *__pick_last_entity(struct cfs_rq *cfs_rq); 1954extern struct sched_entity *__pick_last_entity(struct cfs_rq *cfs_rq);
1955 1955
1956#ifdef CONFIG_SCHED_DEBUG 1956#ifdef CONFIG_SCHED_DEBUG
1957extern bool sched_debug_enabled;
1958
1957extern void print_cfs_stats(struct seq_file *m, int cpu); 1959extern void print_cfs_stats(struct seq_file *m, int cpu);
1958extern void print_rt_stats(struct seq_file *m, int cpu); 1960extern void print_rt_stats(struct seq_file *m, int cpu);
1959extern void print_dl_stats(struct seq_file *m, int cpu); 1961extern 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
17static __read_mostly int sched_debug_enabled;
18
19static int __init sched_debug_setup(char *str) 17static 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}