On 11/22/20 6:56 AM, Matthew Wilcox wrote: > On Sun, Nov 22, 2020 at 06:46:46AM -0800, Tom Rix wrote: >> On 11/21/20 7:23 PM, Matthew Wilcox wrote: >>> On Sat, Nov 21, 2020 at 08:50:58AM -0800, trix@xxxxxxxxxx wrote: >>>> The fixer review is >>>> https://reviews.llvm.org/D91789 >>>> >>>> A run over allyesconfig for x86_64 finds 62 issues, 5 are false positives. >>>> The false positives are caused by macros passed to other macros and by >>>> some macro expansions that did not have an extra semicolon. >>>> >>>> This cleans up about 1,000 of the current 10,000 -Wextra-semi-stmt >>>> warnings in linux-next. >>> Are any of them not false-positives? It's all very well to enable >>> stricter warnings, but if they don't fix any bugs, they're just churn. >>> >> While enabling additional warnings may be a side effect of this effort >> >> the primary goal is to set up a cleaning robot. After that a refactoring robot. > Why do we need such a thing? Again, it sounds like more churn. > It's really annoying when I'm working on something important that gets > derailed by pointless churn. Churn also makes it harder to backport > patches to earlier kernels. > A refactoring example on moving to treewide, consistent use of a new api may help. Consider 2efc459d06f1630001e3984854848a5647086232 sysfs: Add sysfs_emit and sysfs_emit_at to format sysfs output A new api for printing in the sysfs. How do we use it treewide ? Done manually, it would be a heroic effort requiring high level maintainers pushing and likely only get partially done. If a refactoring programatic fixit is done and validated on a one subsystem, it can run on all the subsystems. The effort is a couple of weeks to write and validate the fixer, hours to run over the tree. It won't be perfect but will be better than doing it manually. Tom