sched/psi: create /proc/pressure and /proc/pressure/{io|memory|cpu} only when psi...
authorWang Long <w@laoqinren.net>
Wed, 18 Dec 2019 12:38:18 +0000 (20:38 +0800)
committerPeter Zijlstra <peterz@infradead.org>
Fri, 17 Jan 2020 09:19:22 +0000 (10:19 +0100)
when CONFIG_PSI_DEFAULT_DISABLED set to N or the command line set psi=0,
I think we should not create /proc/pressure and
/proc/pressure/{io|memory|cpu}.

In the future, user maybe determine whether the psi feature is enabled by
checking the existence of the /proc/pressure dir or
/proc/pressure/{io|memory|cpu} files.

Signed-off-by: Wang Long <w@laoqinren.net>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
Link: https://lkml.kernel.org/r/1576672698-32504-1-git-send-email-w@laoqinren.net
kernel/sched/psi.c

index ce8f674..db7b50b 100644 (file)
@@ -1280,10 +1280,12 @@ static const struct file_operations psi_cpu_fops = {
 
 static int __init psi_proc_init(void)
 {
-       proc_mkdir("pressure", NULL);
-       proc_create("pressure/io", 0, NULL, &psi_io_fops);
-       proc_create("pressure/memory", 0, NULL, &psi_memory_fops);
-       proc_create("pressure/cpu", 0, NULL, &psi_cpu_fops);
+       if (psi_enable) {
+               proc_mkdir("pressure", NULL);
+               proc_create("pressure/io", 0, NULL, &psi_io_fops);
+               proc_create("pressure/memory", 0, NULL, &psi_memory_fops);
+               proc_create("pressure/cpu", 0, NULL, &psi_cpu_fops);
+       }
        return 0;
 }
 module_init(psi_proc_init);