Re: [PATCH] sched/psi: create /proc/pressure and /proc/pressure/{io|memory|cpu} only when psi enabled

From: Peter Zijlstra
Date: Wed Jan 08 2020 - 08:55:48 EST


On Wed, Dec 18, 2019 at 08:38:18PM +0800, Wang Long wrote:
> 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.

Works for me; Johannes?

> Signed-off-by: Wang Long <w@xxxxxxxxxxxxx>
> ---
> kernel/sched/psi.c | 10 ++++++----
> 1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/kernel/sched/psi.c b/kernel/sched/psi.c
> index 517e371..f12ade2 100644
> --- a/kernel/sched/psi.c
> +++ b/kernel/sched/psi.c
> @@ -1279,10 +1279,12 @@ static int psi_fop_release(struct inode *inode, struct file *file)
>
> 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);
> --
> 1.8.3.1
>
>
>