Skip to content

Don not IPI offline CPUs, de-emphasize cond_resched_rcu_qs()

Paul E. McKenney linux-fsdevel lkml netfilter-devel 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest10 patches 21 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/10sched: Stop resched_cpu() from sending IPIs to offline CPUskernel/sched/core.c+2 -10 replies
2/10sched: Stop switched_to_rt() from sending IPIs to offline CPUskernel/sched/rt.c+1 -10 replies
3/10netfilter: Eliminate cond_resched_rcu_qs() in favor of cond_resched()net/netfilter/nf_conntrack_core.c+1 -10 replies
4/10mm: Eliminate cond_resched_rcu_qs() in favor of cond_resched()mm/mlock.c+1 -10 replies
5/10workqueue: Eliminate cond_resched_rcu_qs() in favor of cond_resched()kernel/workqueue.c+1 -12 replies
6/10trace: Eliminate cond_resched_rcu_qs() in favor of cond_resched()kernel/trace/trace_benchmark.c+1 -114 replies
7/10softirq: Eliminate cond_resched_rcu_qs() in favor of cond_resched()kernel/softirq.c+1 -10 replies
8/10fs: Eliminate cond_resched_rcu_qs() in favor of cond_resched()fs/file.c+1 -10 replies
9/10doc: Eliminate cond_resched_rcu_qs() in favor of cond_resched()Documentation/RCU/Design/Data-Structures/Data-Structures.html Documentation/RCU/Design/Requirements/Requirements.html Documentation/RCU/stallwarn.txt+8 -90 replies
10/10rcu: Account for rcu_all_qs() in cond_resched()include/linux/rcupdate.h+1 -15 replies

Reviews trailers per patch

1 of 10 patches has a Reviewed-by or Acked-by.

PatchLai Jiangshan
1/10
2/10
3/10
4/10
5/10R-b
6/10
7/10
8/10
9/10
10/10

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH tip/core/rcu 0/10] Don not IPI offline CPUs, de-emphasize cond_resched_rcu_qs()

Hello!

This series provides some fixes to prevent sending IPIs to offline CPUs and also replaces most uses of cond_resched_rcu_qs() with the new and improved cond_resched(). There are still a few remaining uses of cond_resched_rcu_qs() in rcutorture because the mechanisms that strengthen cond_resched() rely on RCU making forward progress. This series contains:

1. Stop resched_cpu() from sending IPIs to offline CPUs.

2. Stop switched_to_rt() from sending IPIs to offline CPUs.

3. Move netfilter from cond_resched_rcu_qs() to cond_resched().

4. Move mm from cond_resched_rcu_qs() to cond_resched().

5. Move workqueue from cond_resched_rcu_qs() to cond_resched().

6. Move trace from cond_resched_rcu_qs() to cond_resched().

7. Move softirq from cond_resched_rcu_qs() to cond_resched().

8. Move fs from cond_resched_rcu_qs() to cond_resched().

9. Remove cond_resched_rcu_qs() from documentation.

10. Improve performance by accounting for rcu_all_qs() in cond_resched().

Thanx, Paul

------------------------------------------------------------------------

 Documentation/RCU/Design/Data-Structures/Data-Structures.html |    3 ++-
 Documentation/RCU/Design/Requirements/Requirements.html       |    4 ++--
 Documentation/RCU/stallwarn.txt                               |   10 ++++------
 fs/file.c                                                     |    2 +-
 include/linux/rcupdate.h                                      |    2 +-
 kernel/sched/core.c                                           |    3 ++-
 kernel/sched/rt.c                                             |    2 +-
 kernel/softirq.c                                              |    2 +-
 kernel/trace/trace_benchmark.c                                |    2 +-
 kernel/workqueue.c                                            |    2 +-
 mm/mlock.c                                                    |    2 +-
 net/netfilter/nf_conntrack_core.c                             |    2 +-
 12 files changed, 18 insertions(+), 18 deletions(-)