erofs: use HIPRI by default if per-cpu kthreads are enabled

Message ID 20230522092141.124290-1-hsiangkao@linux.alibaba.com
State New
Headers
Series erofs: use HIPRI by default if per-cpu kthreads are enabled |

Commit Message

Gao Xiang May 22, 2023, 9:21 a.m. UTC
  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 <dhavale@google.com>
Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
---
 fs/erofs/Kconfig | 1 +
 fs/erofs/zdata.c | 2 --
 2 files changed, 1 insertion(+), 2 deletions(-)
  

Comments

Yue Hu May 23, 2023, 12:52 a.m. UTC | #1
On Mon, 22 May 2023 17:21:41 +0800
Gao Xiang <hsiangkao@linux.alibaba.com> 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 <dhavale@google.com>
> Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
> ---
>  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;
>  }
>
  
Gao Xiang May 23, 2023, 1:53 a.m. UTC | #2
On 2023/5/23 17:52, Yue Hu wrote:
> On Mon, 22 May 2023 17:21:41 +0800
> Gao Xiang <hsiangkao@linux.alibaba.com> 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 <dhavale@google.com>
>> Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
>> ---
>>   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
  
Yue Hu May 23, 2023, 2:05 a.m. UTC | #3
On Tue, 23 May 2023 09:53:06 +0800
Gao Xiang <hsiangkao@linux.alibaba.com> wrote:

> On 2023/5/23 17:52, Yue Hu wrote:
> > On Mon, 22 May 2023 17:21:41 +0800
> > Gao Xiang <hsiangkao@linux.alibaba.com> 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 <dhavale@google.com>
> >> Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
> >> ---
> >>   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 <huyue2@coolpad.com>

> 
> Thanks,
> Gao Xiang
  
Sandeep Dhavale May 23, 2023, 2:32 a.m. UTC | #4
On Mon, May 22, 2023 at 2:21 AM Gao Xiang <hsiangkao@linux.alibaba.com> 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 <dhavale@google.com>
> Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
> ---
>  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 <dhavale@google.com>
  
Chao Yu May 23, 2023, 3:26 a.m. UTC | #5
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 <dhavale@google.com>
> Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>

Reviewed-by: Chao Yu <chao@kernel.org>

Thanks,
  

Patch

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;
 }