History

Merge branch 'for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu

Pull RCU changes from Paul E. McKenney: - Convert RCU's BUG_ON() and similar calls to WARN_ON() and similar. - Replace calls of RCU-bh and RCU-sched update-side functions to their vanilla RCU counterparts. This series is a step towards complete removal of the RCU-bh and RCU-sched update-side functions. ( Note that some of these conversions are going upstream via their respective maintainers. ) - Documentation updates, including a number of flavor-consolidation updates from Joel Fernandes. - Miscellaneous fixes. - Automate generation of the initrd filesystem used for rcutorture testing. - Convert spin_is_locked() assertions to instead use lockdep. ( Note that some of these conversions are going upstream via their respective maintainers. ) - SRCU updates, especially including a fix from Dennis Krein for a bag-on-head-class bug. - RCU torture-test updates.

Ingo Molnar committed 7 years ago

Commit 4bbfd742 parents 2595646 5ac7cdc88 files · +4187 −4014Browse files

Showing the changes to scripts (1 of 88 files). Show all

Unified · Split

scripts/checkpatch.pl+35−0
@@ -573,6 +573,27 @@ foreach my $entry (@mode_permission_funcs) { · 572 unmodified lines
573573 }
574574 $mode_perms_search = "(?:${mode_perms_search})";
575575
576+our %deprecated_apis = (
577+ "synchronize_rcu_bh" => "synchronize_rcu",
578+ "synchronize_rcu_bh_expedited" => "synchronize_rcu_expedited",
579+ "call_rcu_bh" => "call_rcu",
580+ "rcu_barrier_bh" => "rcu_barrier",
581+ "synchronize_sched" => "synchronize_rcu",
582+ "synchronize_sched_expedited" => "synchronize_rcu_expedited",
583+ "call_rcu_sched" => "call_rcu",
584+ "rcu_barrier_sched" => "rcu_barrier",
585+ "get_state_synchronize_sched" => "get_state_synchronize_rcu",
586+ "cond_synchronize_sched" => "cond_synchronize_rcu",
587+);
588+
589+#Create a search pattern for all these strings to speed up a loop below
590+our $deprecated_apis_search = "";
591+foreach my $entry (keys %deprecated_apis) {
592+ $deprecated_apis_search .= '|' if ($deprecated_apis_search ne "");
593+ $deprecated_apis_search .= $entry;
594+}
595+$deprecated_apis_search = "(?:${deprecated_apis_search})";
596+
576597 our $mode_perms_world_writable = qr{
577598 S_IWUGO |
578599 S_IWOTH |
@@ -6368,6 +6389,20 @@ sub process { · 5789 unmodified lines
63686389 "please use device_initcall() or more appropriate function instead of __initcall() (see include/linux/init.h)\n" . $herecurr);
63696390 }
63706391
6392+# check for spin_is_locked(), suggest lockdep instead
6393+ if ($line =~ /\bspin_is_locked\(/) {
6394+ WARN("USE_LOCKDEP",
6395+ "Where possible, use lockdep_assert_held instead of assertions based on spin_is_locked\n" . $herecurr);
6396+ }
6397+
6398+# check for deprecated apis
6399+ if ($line =~ /\b($deprecated_apis_search)\b\s*\(/) {
6400+ my $deprecated_api = $1;
6401+ my $new_api = $deprecated_apis{$deprecated_api};
6402+ WARN("DEPRECATED_API",
6403+ "Deprecated use of '$deprecated_api', prefer '$new_api' instead\n" . $herecurr);
6404+ }
6405+
63716406 # check for various structs that are normally const (ops, kgdb, device_tree)
63726407 # and avoid what seem like struct definitions 'struct foo {'
63736408 if ($line !~ /\bconst\b/ &&