Skip to content

More RCU flavor consolidation cleanup for v4.21/v5.0

Paul E. McKenney bridge intel-wired-lan kvm linux-crypto linux-fsdevel linux-mm linux-pm linux-s390 linuxppc-dev lkml netdev netfilter-devel sparclinux 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest41 patches 37 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/41rcu: Remove unused rcu_state externskernel/rcu/tree.h+0 -110 replies
2/41rcu: Fix rcu_{node,data} comments about gp_seq_neededkernel/rcu/tree.h+2 -20 replies
3/41rcu: Eliminate synchronize_rcu_mult()include/linux/rcupdate_wait.h kernel/rcu/update.c kernel/sched/core.c+3 -220 replies
4/41rcu: Consolidate the RCU update functions invoked by sync.ckernel/rcu/sync.c+6 -60 replies
5/41sched/membarrier: Replace synchronize_sched() with synchronize_rcu()kernel/sched/membarrier.c+1 -10 replies
6/41sparc/oprofile: Convert timer_stop() to use synchronize_rcu()arch/sparc/oprofile/init.c+1 -10 replies
7/41s390/mm: Convert tlb_table_flush() to use call_rcu()arch/s390/mm/pgalloc.c+1 -10 replies
8/41powerpc: Convert hugepd_free() to use call_rcu()arch/powerpc/mm/hugetlbpage.c+1 -10 replies
9/41crypto/pcrypt: Replace synchronize_rcu_bh() with synchronize_rcu()crypto/pcrypt.c+1 -12 replies
10/41drivers/ipmi: Replace synchronize_sched() with synchronize_rcu()drivers/char/ipmi/ipmi_si_intf.c+1 -14 replies
11/41ethernet/sis: Replace synchronize_sched() with synchronize_rcu()drivers/net/ethernet/sis/sis190.c+1 -10 replies
12/41ethernet/realtek: Replace synchronize_sched() with synchronize_rcu()drivers/net/ethernet/realtek/8139too.c drivers/net/ethernet/realtek/r8169.c+3 -30 replies
13/41ethernet/intel/ixgbe: Replace synchronize_sched() with synchronize_rcu()drivers/net/ethernet/intel/ixgbe/ixgbe_main.c+3 -31 reply
14/41drivers/vhost: Replace synchronize_rcu_bh() with synchronize_rcu()drivers/vhost/net.c+1 -10 replies
15/41cpufreq/intel_pstate: Replace synchronize_sched() with synchronize_rcu()drivers/cpufreq/intel_pstate.c+1 -10 replies
16/41cpufreq/cpufreq_governor: Replace synchronize_sched() with synchronize_rcu()drivers/cpufreq/cpufreq_governor.c+1 -10 replies
17/41fs/file: Replace synchronize_sched() with synchronize_rcu()fs/file.c+1 -10 replies
18/41tracing: Replace synchronize_sched() and call_rcu_sched()include/linux/tracepoint.h kernel/trace/ftrace.c kernel/trace/ring_buffer.c +4 more+29 -291 reply
19/41main: Replace rcu_barrier_sched() with rcu_barrier()init/main.c+3 -30 replies
20/41kprobes: eplace synchronize_sched() with synchronize_rcu()kernel/kprobes.c+5 -54 replies
21/41lockdep: Replace synchronize_sched() with synchronize_rcu()kernel/locking/lockdep.c+1 -10 replies
22/41sched/membarrier: synchronize_sched() with synchronize_rcu()kernel/sched/membarrier.c+2 -20 replies
23/41sched: Replace synchronize_sched() with synchronize_rcu()kernel/sched/cpufreq.c kernel/sched/cpufreq_schedutil.c+3 -312 replies
24/41modules: Replace synchronize_sched() and call_rcu_sched()kernel/module.c+7 -72 replies
25/41workqueue: Replace call_rcu_sched() with call_rcu()kernel/workqueue.c+4 -42 replies
26/41events: Replace synchronize_sched() with synchronize_rcu()kernel/events/core.c+1 -10 replies
27/41percpu-refcount: Replace call_rcu_sched() with call_rcu()lib/percpu-refcount.c+1 -11 reply
28/41slab: Replace synchronize_sched() with synchronize_rcu()mm/slab.c mm/slab_common.c+5 -50 replies
29/41mm: Replace call_rcu_sched() with call_rcu()mm/mmu_gather.c+1 -10 replies
30/41netfilter: Replace call_rcu_bh(), rcu_barrier_bh(), and synchronize_rcu_bh()net/ipv4/netfilter/ipt_CLUSTERIP.c net/netfilter/ipset/ip_set_hash_gen.h net/netfilter/nfnetlink_log.c +1 more+8 -81 reply
31/41net/sched: Replace call_rcu_bh() and rcu_barrier_bh()net/sched/sch_api.c net/sched/sch_generic.c+5 -50 replies
32/41net/core: Replace call_rcu_bh() and synchronize_rcu_bh()net/core/netpoll.c+2 -20 replies
33/41net/bridge: Replace call_rcu_bh() and rcu_barrier_bh()net/bridge/br_mdb.c net/bridge/br_multicast.c+8 -81 reply
34/41percpu-rwsem: Replace synchronize_sched() with synchronize_rcu()include/linux/percpu-rwsem.h+1 -11 reply
35/41types: Remove call_rcu_bh() and call_rcu_sched()include/linux/types.h+2 -20 replies
36/41cgroups: Replace synchronize_sched() with synchronize_rcu()kernel/cgroup/cgroup.c+1 -11 reply
37/41livepatch: Replace synchronize_sched() with synchronize_rcu()kernel/livepatch/patch.c kernel/livepatch/transition.c+4 -40 replies
38/41net/core/skmsg: Replace call_rcu_sched() with call_rcu()net/core/skmsg.c+1 -10 replies
39/41net/decnet: Replace rcu_barrier_bh() with rcu_barrier()net/decnet/af_decnet.c+1 -10 replies
40/41tools/kernel.h: Replace synchronize_sched() with synchronize_rcu()tools/include/linux/kernel.h+1 -10 replies
41/41rcutorture/formal: Replace synchronize_sched() with synchronize_rcu()tools/testing/selftests/rcutorture/formal/srcu-cbmc/include/linux/types.h+2 -20 replies

Reviews trailers per patch

10 of 41 patches have a Reviewed-by or Acked-by.

PatchSteven Rostedt (VMware)Jessica YuCorey MInyardNikolay AleksandrovTejun HeoAndrew BowersMasami HiramatsuHerbert Xu
1/41
2/41
3/41
4/41
5/41
6/41
7/41
8/41
9/41A-b
10/41A-b A-b
11/41
12/41
13/41T-b
14/41
15/41
16/41
17/41
18/41A-b
19/41
20/41A-b
21/41
22/41
23/41
24/41A-b
25/41A-b
26/41
27/41A-b
28/41
29/41
30/41
31/41
32/41
33/41A-b
34/41A-b
35/41
36/41A-b
37/41
38/41
39/41
40/41
41/41

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 8 reviewers.

Read the v1 thread

Cover letter [PATCH tip/core/rcu 0/41] More RCU flavor consolidation cleanup for v4.21/v5.0

Hello!

This series does additional cleanup for the RCU flavor consolidation, focusing primarily on uses of old API members, for example, so that call_rcu_bh() becomes call_rcu(). There are also a few straggling internal-to-RCU cleanups.

1. Remove unused rcu_state externs, courtesy of Joel Fernandes.

2. Fix rcu_{node,data} comments about gp_seq_needed, courtesy of
Joel Fernandes.

3. Eliminate synchronize_rcu_mult() and its sole caller.

4. Consolidate the RCU update functions invoked by sync.c.

5-41. Replace old flavorful RCU API calls with the corresponding
vanilla calls.

Thanx, Paul

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

 arch/powerpc/mm/hugetlbpage.c                                             |    2 
 arch/s390/mm/pgalloc.c                                                    |    2 
 arch/sparc/oprofile/init.c                                                |    2 
 crypto/pcrypt.c                                                           |    2 
 drivers/char/ipmi/ipmi_si_intf.c                                          |    2 
 drivers/cpufreq/cpufreq_governor.c                                        |    2 
 drivers/cpufreq/intel_pstate.c                                            |    2 
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c                             |    6 +-
 drivers/net/ethernet/realtek/8139too.c                                    |    2 
 drivers/net/ethernet/realtek/r8169.c                                      |    4 -
 drivers/net/ethernet/sis/sis190.c                                         |    2 
 drivers/vhost/net.c                                                       |    2 
 fs/file.c                                                                 |    2 
 include/linux/percpu-rwsem.h                                              |    2 
 include/linux/rcupdate_wait.h                                             |   17 -------
 include/linux/tracepoint.h                                                |    2 
 include/linux/types.h                                                     |    4 -
 init/main.c                                                               |    6 +-
 kernel/cgroup/cgroup.c                                                    |    2 
 kernel/events/core.c                                                      |    2 
 kernel/kprobes.c                                                          |   10 ++--
 kernel/livepatch/patch.c                                                  |    4 -
 kernel/livepatch/transition.c                                             |    4 -
 kernel/locking/lockdep.c                                                  |    2 
 kernel/module.c                                                           |   14 ++---
 kernel/rcu/sync.c                                                         |   12 ++---
 kernel/rcu/tree.h                                                         |   15 ------
 kernel/rcu/update.c                                                       |    6 --
 kernel/sched/core.c                                                       |    2 
 kernel/sched/cpufreq.c                                                    |    4 -
 kernel/sched/cpufreq_schedutil.c                                          |    2 
 kernel/sched/membarrier.c                                                 |    6 +-
 kernel/trace/ftrace.c                                                     |   24 +++++-----
 kernel/trace/ring_buffer.c                                                |   12 ++---
 kernel/trace/trace.c                                                      |   10 ++--
 kernel/trace/trace_events_filter.c                                        |    4 -
 kernel/trace/trace_kprobe.c                                               |    2 
 kernel/tracepoint.c                                                       |    4 -
 kernel/workqueue.c                                                        |    8 +--
 lib/percpu-refcount.c                                                     |    2 
 mm/mmu_gather.c                                                           |    2 
 mm/slab.c                                                                 |    4 -
 mm/slab_common.c                                                          |    6 +-
 net/bridge/br_mdb.c                                                       |    2 
 net/bridge/br_multicast.c                                                 |   14 ++---
 net/core/netpoll.c                                                        |    4 -
 net/core/skmsg.c                                                          |    2 
 net/decnet/af_decnet.c                                                    |    2 
 net/ipv4/netfilter/ipt_CLUSTERIP.c                                        |    6 +-
 net/netfilter/ipset/ip_set_hash_gen.h                                     |    4 -
 net/netfilter/nfnetlink_log.c                                             |    2 
 net/netfilter/xt_hashlimit.c                                              |    4 -
 net/sched/sch_api.c                                                       |    2 
 net/sched/sch_generic.c                                                   |    8 +--
 tools/include/linux/kernel.h                                              |    2 
 tools/testing/selftests/rcutorture/formal/srcu-cbmc/include/linux/types.h |    4 -
 56 files changed, 126 insertions(+), 156 deletions(-)