On Fri, 2017-12-01 at 13:44 -0800, Paul E. McKenney wrote: > On Fri, Dec 01, 2017 at 12:14:17PM -0800, Joe Perches wrote: > > On Fri, 2017-12-01 at 11:51 -0800, Paul E. McKenney wrote: > > > Now that both smp_read_barrier_depends() and read_barrier_depends() > > > are being de-emphasized, warn if any are added. > > > > This would also warn on existing files when run > > with ./scripts/checkpatch.pl -f <file> > > > > Do you want it to check new patches only? > > > > If so the test could become "if (!$file && etc...) > > > > > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl [] > > > @@ -5586,6 +5586,12 @@ sub process { > > > } > > > } > > > > > > +# check for smp_read_barrier_depends and read_barrier_depends > > > + if ($line =~ /\b(smp_|)read_barrier_depends\(/) { > > > > Must become > > > > + if ($line =~ /\b(smp_|)read_barrier_depends\s*\(/) { > > > > similar to the lines above this as there are sometimes > > spaces between function name and argument parentheses. > > Good points! Like this? [] > commit ff155ce179aab891dbe2ca80f82a453383fd165a > Author: Paul E. McKenney <paul...@linux.vnet.ibm.com> > Date: Mon Nov 27 09:37:35 2017 -0800 > > checkpatch: Add warnings for {smp_,}read_barrier_depends() > > Now that both smp_read_barrier_depends() and read_barrier_depends() > are being de-emphasized, warn if any are added. > > Signed-off-by: Paul E. McKenney <paul...@linux.vnet.ibm.com> > Cc: Andy Whitcroft <a...@canonical.com> > Cc: Joe Perches <j...@perches.com> > [ paulmck: Skipped checking files and handled whitespace per Joe Perches. > ] > > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl [] > @@ -5586,6 +5586,12 @@ sub process { > } > } > > +# check for smp_read_barrier_depends and read_barrier_depends > + if (!$file && $line =~ /\b(smp_|)read_barrier_depends\s*\(/) { > + WARN("READ_BARRIER_DEPENDS", > + "Dependency barriers should only be used in > READ_ONCE or DEC Alpha code" . $herecurr);
Almost right. Missing a '\n' after "DEC Alpha code". Without the '\n', running checkpatch with --terse outputs badly. If you really wanted to optimize, you could make the first (smp_|) become (?:smp_|) to avoid the unused capture group. Or perhaps this could emit the actual type in the message like: if (!$file && $line =~ /\b((?:smp_|)read_barrier_depends)\s*\(/ { WARN("READ_BARRIER_DEPENDS", "$1 should only be used in READ_ONCE or DEC Alpha code\n" . $herecurr);