checkpatch.pl: add missing memory barriers
SMP-only barriers were missing in checkpatch.pl Refactor code slightly to make adding more variants easier. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Acked-by: Julian Calaby <julian.calaby@gmail.com> Acked-by: Joe Perches <joe@perches.com> Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
This commit is contained in:
parent
f7ad26ff95
commit
402c2553a2
1 changed files with 21 additions and 1 deletions
|
@ -5116,7 +5116,27 @@ sub process {
|
|||
}
|
||||
}
|
||||
# check for memory barriers without a comment.
|
||||
if ($line =~ /\b(mb|rmb|wmb|read_barrier_depends|smp_mb|smp_rmb|smp_wmb|smp_read_barrier_depends)\(/) {
|
||||
|
||||
my $barriers = qr{
|
||||
mb|
|
||||
rmb|
|
||||
wmb|
|
||||
read_barrier_depends
|
||||
}x;
|
||||
my $barrier_stems = qr{
|
||||
mb__before_atomic|
|
||||
mb__after_atomic|
|
||||
store_release|
|
||||
load_acquire|
|
||||
store_mb|
|
||||
(?:$barriers)
|
||||
}x;
|
||||
my $all_barriers = qr{
|
||||
(?:$barriers)|
|
||||
smp_(?:$barrier_stems)
|
||||
}x;
|
||||
|
||||
if ($line =~ /\b(?:$all_barriers)\s*\(/) {
|
||||
if (!ctx_has_comment($first_line, $linenr)) {
|
||||
WARN("MEMORY_BARRIER",
|
||||
"memory barrier without comment\n" . $herecurr);
|
||||
|
|
Loading…
Reference in a new issue