Messages in this thread Patch in this message | | | Date | Tue, 7 Nov 2023 13:38:18 +0100 | From | Peter Zijlstra <> | Subject | Re: [PATCH v5 7/7] sched/fair: Fair server interface |
| |
On Sat, Nov 04, 2023 at 11:59:24AM +0100, Daniel Bristot de Oliveira wrote: > Add an interface for fair server setup on debugfs. > > Each rq have three files under /sys/kernel/debug/sched/rq/CPU{ID}: > > - fair_server_runtime: set runtime in ns > - fair_server_period: set period in ns > - fair_server_defer: on/off for the defer mechanism > > Signed-off-by: Daniel Bristot de Oliveira <bristot@kernel.org> > ---
I did the below, that gives us:
/debug/sched/fair_server/cpuX/{runtime,period,defer}
I wanted to also add:
/debug/sched/fair_server/{runtime,period,defer}
to more easily set all CPUs to the same value, but then figured userspace will just have to loop.
---
--- a/kernel/sched/debug.c +++ b/kernel/sched/debug.c @@ -380,10 +380,10 @@ static ssize_t sched_fair_server_write(s break; } - if (runtime > period - || period > fair_server_period_max - || period < fair_server_period_min - || zerolax > 1) { + if (runtime > period || + period > fair_server_period_max || + period < fair_server_period_min || + zerolax > 1) { cnt = -EINVAL; goto out; } @@ -515,11 +515,11 @@ static struct dentry *debugfs_sched; static void debugfs_fair_server_init(void) { - long cpu; - struct dentry *rq_dentry; + struct dentry *d_fair; + unsigned int cpu; - rq_dentry = debugfs_create_dir("rq", debugfs_sched); - if (!rq_dentry) + d_fair = debugfs_create_dir("fair_server", debugfs_sched); + if (!d_fair) return; for_each_possible_cpu(cpu) { @@ -527,11 +527,11 @@ static void debugfs_fair_server_init(voi char buf[32]; snprintf(buf, sizeof(buf), "cpu%ld", cpu); - d_cpu = debugfs_create_dir(buf, rq_dentry); + d_cpu = debugfs_create_dir(buf, d_fair); - debugfs_create_file("fair_server_runtime", 0644, d_cpu, (void *) cpu, &fair_server_runtime_fops); - debugfs_create_file("fair_server_period", 0644, d_cpu, (void *) cpu, &fair_server_period_fops); - debugfs_create_file("fair_server_defer", 0644, d_cpu, (void *) cpu, &fair_server_defer_fops); + debugfs_create_file("runtime", 0644, d_cpu, (void *) cpu, &fair_server_runtime_fops); + debugfs_create_file("period", 0644, d_cpu, (void *) cpu, &fair_server_period_fops); + debugfs_create_file("defer", 0644, d_cpu, (void *) cpu, &fair_server_defer_fops); } }
| |