[0/4] rcu: Fix PF_IDLE related issues v3

Message ID 20231027144050.110601-1-frederic@kernel.org
Headers
Series rcu: Fix PF_IDLE related issues v3 |

Message

Frederic Weisbecker Oct. 27, 2023, 2:40 p.m. UTC
  Hi,

The modification of PF_IDLE semantics lately to fix a bug in rcutiny
eventually introduced new bugs in RCU-tasks. This v3 carries the
following changes:

* Use per_cpu_ptr() to correctly handle the remote CPU on [1/4] (Thanks Zqiang)

* Test is_idle_task() even for non-idle task (idle injection) [2/4] (Thanks Peterz)

* No need to use WRITE_ONCE() / READ_ONCE() on PF_IDLE modification [4/4]
  (Thanks Peterz)

git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
	rcu/tasks-dev

HEAD: afb666ef0fcde0b2ec30b007b0b30e5622ea30f0

Thanks,
	Frederic
---

Frederic Weisbecker (4):
      rcu: Introduce rcu_cpu_online()
      rcu/tasks: Handle new PF_IDLE semantics
      rcu/tasks-trace: Handle new PF_IDLE semantics
      sched: Exclude CPU boot code from PF_IDLE area


 kernel/cpu.c        |  4 ++++
 kernel/rcu/rcu.h    |  2 ++
 kernel/rcu/tasks.h  | 32 +++++++++++++++++++++++++++++---
 kernel/rcu/tree.c   |  7 +++++++
 kernel/sched/idle.c |  1 -
 5 files changed, 42 insertions(+), 4 deletions(-)
  

Comments

Peter Zijlstra Oct. 27, 2023, 7:23 p.m. UTC | #1
On Fri, Oct 27, 2023 at 04:40:46PM +0200, Frederic Weisbecker wrote:

> Frederic Weisbecker (4):
>       rcu: Introduce rcu_cpu_online()
>       rcu/tasks: Handle new PF_IDLE semantics
>       rcu/tasks-trace: Handle new PF_IDLE semantics
>       sched: Exclude CPU boot code from PF_IDLE area

Aside of that pre-existing ->on_rq usage I can't see anything wrong with
this.

Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>