Script to do smart sparse diffs (was Re: [git pull] vfs.git regression fix Re: Regression related to ipc shmctl compat)

From: Michael Ellerman
Date: Thu Sep 28 2017 - 02:13:28 EST


Christoph Hellwig <hch@xxxxxxxxxxxxx> writes:

> On Mon, Sep 25, 2017 at 06:37:28PM -0700, Linus Torvalds wrote:
>> Pulled and pushed out, but I'd like to note that sparse would have
>> caught this. Except we are so far away from being sparse-clean that
>> nobody runs it.
>
> I tend to run sparse over the nvme code before sending pull request
> every time. But it's a fairly new codebase, so it it actually
> is clean. I wish we'd just default to running sparse at some point
> so people have to clean their shit up, as it catches a lot of
> useful things. But maybe for the default we want to tune it down
> a bit (e.g. don't warn about missing statics by default, skip
> the lock imbalance checks which while often useful also generate
> tons of false positives).

Daniel (++Cc) wrote a script a while back that can do a "smart" diff of
the sparse output from two builds. Roughly it sorts the output
(important when using make -j) and does some other munging to try and
give you a minimal diff across runs.

That allows you to check if a commit added new sparse warnings without
the build being clean at the beginning.

Anyway it's here if anyone wants to try it:

https://github.com/daxtens/smart-sparse-diff


cheers