2023-05-22 09:35:10

by Gao Xiang

[permalink] [raw]
Subject: [PATCH] erofs: use HIPRI by default if per-cpu kthreads are enabled

As Sandeep shown [1], high priority RT per-cpu kthreads are
typically helpful for Android scenarios to minimize the scheduling
latencies.

Switch EROFS_FS_PCPU_KTHREAD_HIPRI on by default if
EROFS_FS_PCPU_KTHREAD is on since it's the typical use cases for
EROFS_FS_PCPU_KTHREAD.

Also clean up unneeded sched_set_normal().

[1] https://lore.kernel.org/r/CAB=BE-SBtO6vcoyLNA9F-9VaN5R0t3o_Zn+FW8GbO6wyUqFneQ@mail.gmail.com
Cc: Sandeep Dhavale <[email protected]>
Signed-off-by: Gao Xiang <[email protected]>
---
fs/erofs/Kconfig | 1 +
fs/erofs/zdata.c | 2 --
2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/fs/erofs/Kconfig b/fs/erofs/Kconfig
index 704fb59577e0..f259d92c9720 100644
--- a/fs/erofs/Kconfig
+++ b/fs/erofs/Kconfig
@@ -121,6 +121,7 @@ config EROFS_FS_PCPU_KTHREAD
config EROFS_FS_PCPU_KTHREAD_HIPRI
bool "EROFS high priority per-CPU kthread workers"
depends on EROFS_FS_ZIP && EROFS_FS_PCPU_KTHREAD
+ default y
help
This permits EROFS to configure per-CPU kthread workers to run
at higher priority.
diff --git a/fs/erofs/zdata.c b/fs/erofs/zdata.c
index 92f3a01262cf..3ba505434f03 100644
--- a/fs/erofs/zdata.c
+++ b/fs/erofs/zdata.c
@@ -367,8 +367,6 @@ static struct kthread_worker *erofs_init_percpu_worker(int cpu)
return worker;
if (IS_ENABLED(CONFIG_EROFS_FS_PCPU_KTHREAD_HIPRI))
sched_set_fifo_low(worker->task);
- else
- sched_set_normal(worker->task, 0);
return worker;
}

--
2.24.4



2023-05-23 01:41:07

by Yue Hu

[permalink] [raw]
Subject: Re: [PATCH] erofs: use HIPRI by default if per-cpu kthreads are enabled

On Mon, 22 May 2023 17:21:41 +0800
Gao Xiang <[email protected]> wrote:

> As Sandeep shown [1], high priority RT per-cpu kthreads are
> typically helpful for Android scenarios to minimize the scheduling
> latencies.
>
> Switch EROFS_FS_PCPU_KTHREAD_HIPRI on by default if
> EROFS_FS_PCPU_KTHREAD is on since it's the typical use cases for
> EROFS_FS_PCPU_KTHREAD.
>
> Also clean up unneeded sched_set_normal().
>
> [1] https://lore.kernel.org/r/CAB=BE-SBtO6vcoyLNA9F-9VaN5R0t3o_Zn+FW8GbO6wyUqFneQ@mail.gmail.com
> Cc: Sandeep Dhavale <[email protected]>
> Signed-off-by: Gao Xiang <[email protected]>
> ---
> fs/erofs/Kconfig | 1 +
> fs/erofs/zdata.c | 2 --
> 2 files changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/fs/erofs/Kconfig b/fs/erofs/Kconfig
> index 704fb59577e0..f259d92c9720 100644
> --- a/fs/erofs/Kconfig
> +++ b/fs/erofs/Kconfig
> @@ -121,6 +121,7 @@ config EROFS_FS_PCPU_KTHREAD
> config EROFS_FS_PCPU_KTHREAD_HIPRI
> bool "EROFS high priority per-CPU kthread workers"
> depends on EROFS_FS_ZIP && EROFS_FS_PCPU_KTHREAD
> + default y

How about removing this config option?

> help
> This permits EROFS to configure per-CPU kthread workers to run
> at higher priority.
> diff --git a/fs/erofs/zdata.c b/fs/erofs/zdata.c
> index 92f3a01262cf..3ba505434f03 100644
> --- a/fs/erofs/zdata.c
> +++ b/fs/erofs/zdata.c
> @@ -367,8 +367,6 @@ static struct kthread_worker *erofs_init_percpu_worker(int cpu)
> return worker;
> if (IS_ENABLED(CONFIG_EROFS_FS_PCPU_KTHREAD_HIPRI))
> sched_set_fifo_low(worker->task);
> - else
> - sched_set_normal(worker->task, 0);
> return worker;
> }
>


2023-05-23 02:00:07

by Gao Xiang

[permalink] [raw]
Subject: Re: [PATCH] erofs: use HIPRI by default if per-cpu kthreads are enabled



On 2023/5/23 17:52, Yue Hu wrote:
> On Mon, 22 May 2023 17:21:41 +0800
> Gao Xiang <[email protected]> wrote:
>
>> As Sandeep shown [1], high priority RT per-cpu kthreads are
>> typically helpful for Android scenarios to minimize the scheduling
>> latencies.
>>
>> Switch EROFS_FS_PCPU_KTHREAD_HIPRI on by default if
>> EROFS_FS_PCPU_KTHREAD is on since it's the typical use cases for
>> EROFS_FS_PCPU_KTHREAD.
>>
>> Also clean up unneeded sched_set_normal().
>>
>> [1] https://lore.kernel.org/r/CAB=BE-SBtO6vcoyLNA9F-9VaN5R0t3o_Zn+FW8GbO6wyUqFneQ@mail.gmail.com
>> Cc: Sandeep Dhavale <[email protected]>
>> Signed-off-by: Gao Xiang <[email protected]>
>> ---
>> fs/erofs/Kconfig | 1 +
>> fs/erofs/zdata.c | 2 --
>> 2 files changed, 1 insertion(+), 2 deletions(-)
>>
>> diff --git a/fs/erofs/Kconfig b/fs/erofs/Kconfig
>> index 704fb59577e0..f259d92c9720 100644
>> --- a/fs/erofs/Kconfig
>> +++ b/fs/erofs/Kconfig
>> @@ -121,6 +121,7 @@ config EROFS_FS_PCPU_KTHREAD
>> config EROFS_FS_PCPU_KTHREAD_HIPRI
>> bool "EROFS high priority per-CPU kthread workers"
>> depends on EROFS_FS_ZIP && EROFS_FS_PCPU_KTHREAD
>> + default y
>
> How about removing this config option?

I tend to leave it as is.

Thanks,
Gao Xiang

2023-05-23 02:21:22

by Yue Hu

[permalink] [raw]
Subject: Re: [PATCH] erofs: use HIPRI by default if per-cpu kthreads are enabled

On Tue, 23 May 2023 09:53:06 +0800
Gao Xiang <[email protected]> wrote:

> On 2023/5/23 17:52, Yue Hu wrote:
> > On Mon, 22 May 2023 17:21:41 +0800
> > Gao Xiang <[email protected]> wrote:
> >
> >> As Sandeep shown [1], high priority RT per-cpu kthreads are
> >> typically helpful for Android scenarios to minimize the scheduling
> >> latencies.
> >>
> >> Switch EROFS_FS_PCPU_KTHREAD_HIPRI on by default if
> >> EROFS_FS_PCPU_KTHREAD is on since it's the typical use cases for
> >> EROFS_FS_PCPU_KTHREAD.
> >>
> >> Also clean up unneeded sched_set_normal().
> >>
> >> [1] https://lore.kernel.org/r/CAB=BE-SBtO6vcoyLNA9F-9VaN5R0t3o_Zn+FW8GbO6wyUqFneQ@mail.gmail.com
> >> Cc: Sandeep Dhavale <[email protected]>
> >> Signed-off-by: Gao Xiang <[email protected]>
> >> ---
> >> fs/erofs/Kconfig | 1 +
> >> fs/erofs/zdata.c | 2 --
> >> 2 files changed, 1 insertion(+), 2 deletions(-)
> >>
> >> diff --git a/fs/erofs/Kconfig b/fs/erofs/Kconfig
> >> index 704fb59577e0..f259d92c9720 100644
> >> --- a/fs/erofs/Kconfig
> >> +++ b/fs/erofs/Kconfig
> >> @@ -121,6 +121,7 @@ config EROFS_FS_PCPU_KTHREAD
> >> config EROFS_FS_PCPU_KTHREAD_HIPRI
> >> bool "EROFS high priority per-CPU kthread workers"
> >> depends on EROFS_FS_ZIP && EROFS_FS_PCPU_KTHREAD
> >> + default y
> >
> > How about removing this config option?
>
> I tend to leave it as is.

Okay.

Reviewed-by: Yue Hu <[email protected]>

>
> Thanks,
> Gao Xiang


2023-05-23 02:45:41

by Sandeep Dhavale

[permalink] [raw]
Subject: Re: [PATCH] erofs: use HIPRI by default if per-cpu kthreads are enabled

On Mon, May 22, 2023 at 2:21 AM Gao Xiang <[email protected]> wrote:
>
> As Sandeep shown [1], high priority RT per-cpu kthreads are
> typically helpful for Android scenarios to minimize the scheduling
> latencies.
>
> Switch EROFS_FS_PCPU_KTHREAD_HIPRI on by default if
> EROFS_FS_PCPU_KTHREAD is on since it's the typical use cases for
> EROFS_FS_PCPU_KTHREAD.
>
> Also clean up unneeded sched_set_normal().
>
> [1] https://lore.kernel.org/r/CAB=BE-SBtO6vcoyLNA9F-9VaN5R0t3o_Zn+FW8GbO6wyUqFneQ@mail.gmail.com
> Cc: Sandeep Dhavale <[email protected]>
> Signed-off-by: Gao Xiang <[email protected]>
> ---
> fs/erofs/Kconfig | 1 +
> fs/erofs/zdata.c | 2 --
> 2 files changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/fs/erofs/Kconfig b/fs/erofs/Kconfig
> index 704fb59577e0..f259d92c9720 100644
> --- a/fs/erofs/Kconfig
> +++ b/fs/erofs/Kconfig
> @@ -121,6 +121,7 @@ config EROFS_FS_PCPU_KTHREAD
> config EROFS_FS_PCPU_KTHREAD_HIPRI
> bool "EROFS high priority per-CPU kthread workers"
> depends on EROFS_FS_ZIP && EROFS_FS_PCPU_KTHREAD
> + default y
> help
> This permits EROFS to configure per-CPU kthread workers to run
> at higher priority.
> diff --git a/fs/erofs/zdata.c b/fs/erofs/zdata.c
> index 92f3a01262cf..3ba505434f03 100644
> --- a/fs/erofs/zdata.c
> +++ b/fs/erofs/zdata.c
> @@ -367,8 +367,6 @@ static struct kthread_worker *erofs_init_percpu_worker(int cpu)
> return worker;
> if (IS_ENABLED(CONFIG_EROFS_FS_PCPU_KTHREAD_HIPRI))
> sched_set_fifo_low(worker->task);
> - else
> - sched_set_normal(worker->task, 0);
> return worker;
> }
>
> --
> 2.24.4
>
Looks good!

Reviewed-by: Sandeep Dhavale <[email protected]>

2023-05-23 03:49:04

by Chao Yu

[permalink] [raw]
Subject: Re: [PATCH] erofs: use HIPRI by default if per-cpu kthreads are enabled

On 2023/5/22 17:21, Gao Xiang wrote:
> As Sandeep shown [1], high priority RT per-cpu kthreads are
> typically helpful for Android scenarios to minimize the scheduling
> latencies.
>
> Switch EROFS_FS_PCPU_KTHREAD_HIPRI on by default if
> EROFS_FS_PCPU_KTHREAD is on since it's the typical use cases for
> EROFS_FS_PCPU_KTHREAD.
>
> Also clean up unneeded sched_set_normal().
>
> [1] https://lore.kernel.org/r/CAB=BE-SBtO6vcoyLNA9F-9VaN5R0t3o_Zn+FW8GbO6wyUqFneQ@mail.gmail.com
> Cc: Sandeep Dhavale <[email protected]>
> Signed-off-by: Gao Xiang <[email protected]>

Reviewed-by: Chao Yu <[email protected]>

Thanks,