mbox series

[v3,0/2] Add no-idle tasks check which in dyntick-idle state

Message ID 20220524003454.1887414-1-qiang1.zhang@intel.com (mailing list archive)
Headers show
Series Add no-idle tasks check which in dyntick-idle state | expand

Message

Zqiang May 24, 2022, 12:34 a.m. UTC
These commit stop scanning no-idle tasks which in dyntick-idle state and
remove idle-tasks check from warnings.

v1->v2:
fix build error when CONFIG_TASKS_RCU=n
v2->v3:
remove idle-tasks check from task_is_on_dyntick_idle()

Zqiang (2):
  rcu-tasks: Stop RCU Tasks scanning no-idle tasks which record on
    dyntick-idle entry
  rcu-tasks: Remove is_idle_task() from warnings in check_holdout_task()

 kernel/rcu/tasks.h | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

Comments

Paul E. McKenney May 24, 2022, 5:28 p.m. UTC | #1
On Tue, May 24, 2022 at 08:34:52AM +0800, Zqiang wrote:
> These commit stop scanning no-idle tasks which in dyntick-idle state and
> remove idle-tasks check from warnings.

This patch might well be correct, but there are supposed to be upcoming
changes in the idle loop that would make it possible for RCU Tasks to
take idle tasks into account:

https://lore.kernel.org/all/20220515203653.4039075-1-jolsa@kernel.org/

There are currently issues in amd_e400_idle() and mwait_idle() preventing
this, and there might well also be similar issues in non-x86 idle loops:

https://lore.kernel.org/all/20220519135439.GX1790663@paulmck-ThinkPad-P17-Gen-1/

So I must hold off on this patch series for the time being.  Nevertheless,
thank you very much for your effort and interest in RCU.

							Thanx, Paul

> v1->v2:
> fix build error when CONFIG_TASKS_RCU=n
> v2->v3:
> remove idle-tasks check from task_is_on_dyntick_idle()
> 
> Zqiang (2):
>   rcu-tasks: Stop RCU Tasks scanning no-idle tasks which record on
>     dyntick-idle entry
>   rcu-tasks: Remove is_idle_task() from warnings in check_holdout_task()
> 
>  kernel/rcu/tasks.h | 16 ++++++++++------
>  1 file changed, 10 insertions(+), 6 deletions(-)
> 
> -- 
> 2.25.1
>
Zqiang May 24, 2022, 10:28 p.m. UTC | #2
On Tue, May 24, 2022 at 08:34:52AM +0800, Zqiang wrote:
> These commit stop scanning no-idle tasks which in dyntick-idle state 
> and remove idle-tasks check from warnings.

>This patch might well be correct, but there are supposed to be upcoming changes in the idle loop that would make it possible for RCU Tasks to take idle tasks into account:
>
>https://lore.kernel.org/all/20220515203653.4039075-1-jolsa@kernel.org/
>
>There are currently issues in amd_e400_idle() and mwait_idle() preventing this, and there might well also be similar issues in non-x86 idle loops:
>
>https://lore.kernel.org/all/20220519135439.GX1790663@paulmck-ThinkPad-P17-Gen-1/
>
>So I must hold off on this patch series for the time being.  Nevertheless, thank you very much for your effort and interest in RCU.

Thanks for explain, I will keep an eye.

>
>							Thanx, Paul

> v1->v2:
> fix build error when CONFIG_TASKS_RCU=n
> v2->v3:
> remove idle-tasks check from task_is_on_dyntick_idle()
> 
> Zqiang (2):
>   rcu-tasks: Stop RCU Tasks scanning no-idle tasks which record on
>     dyntick-idle entry
>   rcu-tasks: Remove is_idle_task() from warnings in 
> check_holdout_task()
> 
>  kernel/rcu/tasks.h | 16 ++++++++++------
>  1 file changed, 10 insertions(+), 6 deletions(-)
> 
> --
> 2.25.1
>