Thread (17 messages) 17 messages, 7 authors, 2020-11-23

Re: [RFC] MAINTAINERS tag for cleanup robot

From: James Bottomley <James.Bottomley@HansenPartnership.com>
Date: 2020-11-22 16:50:09
Also in: alsa-devel, amd-gfx, bpf, dri-devel, intel-gfx, keyrings, kvm, linux-acpi, linux-bluetooth, linux-crypto, linux-fsdevel, linux-hyperv, linux-media, linux-nfs, linux-omap, linux-scsi, linux-usb, linux-wireless, lkml, netdev, netfilter-devel, platform-driver-x86, xen-devel

On Sun, 2020-11-22 at 08:10 -0800, Tom Rix wrote:
On 11/22/20 6:56 AM, Matthew Wilcox wrote:
quoted
On Sun, Nov 22, 2020 at 06:46:46AM -0800, Tom Rix wrote:
quoted
On 11/21/20 7:23 PM, Matthew Wilcox wrote:
quoted
On Sat, Nov 21, 2020 at 08:50:58AM -0800, trix@redhat.com
wrote:
quoted
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.
Here's a thought: perhaps we don't.  sysfs_emit isn't a "new api" its a
minor rewrap of existing best practice.  The damage caused by the churn
of forcing its use everywhere would far outweigh any actual benefit
because pretty much every bug in this area has already been caught and
killed by existing tools.  We can enforce sysfs_emit going forwards
using tools like checkpatch but there's no benefit and a lot of harm to
be done by trying to churn the entire tree retrofitting it (both in
terms of review time wasted as well as patch series derailed).

James

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help