diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2018-12-26 16:07:19 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-12-26 16:07:19 -0500 |
commit | 792bf4d871dea8b69be2aaabdd320d7c6ed15985 (patch) | |
tree | 8cec3755ff6df5f82b12420fb6ad6a4d531ebfd1 /scripts/checkpatch.pl | |
parent | eed9688f8513189295887e5a27ec7f576754b60e (diff) | |
parent | 4bbfd7467cfc7d42e18d3008fa6a28ffd56e901a (diff) |
Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull RCU updates from Ingo Molnar:
"The biggest RCU changes in this cycle were:
- 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"
* 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (112 commits)
rcutorture: Don't do busted forward-progress testing
rcutorture: Use 100ms buckets for forward-progress callback histograms
rcutorture: Recover from OOM during forward-progress tests
rcutorture: Print forward-progress test age upon failure
rcutorture: Print time since GP end upon forward-progress failure
rcutorture: Print histogram of CB invocation at OOM time
rcutorture: Print GP age upon forward-progress failure
rcu: Print per-CPU callback counts for forward-progress failures
rcu: Account for nocb-CPU callback counts in RCU CPU stall warnings
rcutorture: Dump grace-period diagnostics upon forward-progress OOM
rcutorture: Prepare for asynchronous access to rcu_fwd_startat
torture: Remove unnecessary "ret" variables
rcutorture: Affinity forward-progress test to avoid housekeeping CPUs
rcutorture: Break up too-long rcu_torture_fwd_prog() function
rcutorture: Remove cbflood facility
torture: Bring any extra CPUs online during kernel startup
rcutorture: Add call_rcu() flooding forward-progress tests
rcutorture/formal: Replace synchronize_sched() with synchronize_rcu()
tools/kernel.h: Replace synchronize_sched() with synchronize_rcu()
net/decnet: Replace rcu_barrier_bh() with rcu_barrier()
...
Diffstat (limited to 'scripts/checkpatch.pl')
-rwxr-xr-x | scripts/checkpatch.pl | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index c883ec55654f..377f373db6c0 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl | |||
@@ -573,6 +573,27 @@ foreach my $entry (@mode_permission_funcs) { | |||
573 | } | 573 | } |
574 | $mode_perms_search = "(?:${mode_perms_search})"; | 574 | $mode_perms_search = "(?:${mode_perms_search})"; |
575 | 575 | ||
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 | |||
576 | our $mode_perms_world_writable = qr{ | 597 | our $mode_perms_world_writable = qr{ |
577 | S_IWUGO | | 598 | S_IWUGO | |
578 | S_IWOTH | | 599 | S_IWOTH | |
@@ -6368,6 +6389,20 @@ sub process { | |||
6368 | "please use device_initcall() or more appropriate function instead of __initcall() (see include/linux/init.h)\n" . $herecurr); | 6389 | "please use device_initcall() or more appropriate function instead of __initcall() (see include/linux/init.h)\n" . $herecurr); |
6369 | } | 6390 | } |
6370 | 6391 | ||
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 | |||
6371 | # check for various structs that are normally const (ops, kgdb, device_tree) | 6406 | # check for various structs that are normally const (ops, kgdb, device_tree) |
6372 | # and avoid what seem like struct definitions 'struct foo {' | 6407 | # and avoid what seem like struct definitions 'struct foo {' |
6373 | if ($line !~ /\bconst\b/ && | 6408 | if ($line !~ /\bconst\b/ && |