Re: [PATCH] KVM: deprecate KVM_WERROR in favor of general WERROR

Sean Christopherson
2023-10-09T19:34:04Z

On Mon, Oct 09, 2023, Jakub Kicinski wrote:
> On Mon, 9 Oct 2023 10:43:43 -0700 Sean Christopherson wrote:
> > On Fri, Oct 06, 2023, Jakub Kicinski wrote:
> > On a related topic, this is comically stale as WERROR is on by default for both
> > allmodconfig and allyesconfig, which work because they trigger 64-bit builds.
> > And KASAN on x86 is 64-bit only.
> >
> > Rather than yank out KVM_WERROR entirely, what if we make default=n and trim the
> > depends down to "KVM && EXPERT && !KASAN"? E.g.
>
> IMO setting WERROR is a bit perverse. The way I see it WERROR is a
> crutch for people who don't have the time / infra to properly build
> test changes they send to Linus. Or wait for build bots to do their job.

KVM_WERROR reduces the probability of issues in patches being sent to *me*. The
reality is that most contributors do not have the knowledge and/or resources to
"properly" build test changes without specific guidance on what/how to test, or
what configs to prioritize.

Nor is it realistic to expect that build bots will detect every issue in every
possible configuration in every patch that's posted.

Call -Werror a crutch if you will, but for me it's a crutch that I'm more than
willing to lean on in order to increase the overall quality of KVM x86 submissions.

> We do have sympathy for these folks, we are mostly volunteers after
> all. At the same time someone's under-investment should not be causing
> pain to those of us who _do_ build test stuff carefully.

This is a bit over the top. Yeah, I need to add W=1 to my build scripts, but that's
not a lack of investment, just an oversight. Though in this case it likely wouldn't
have made any difference since Paolo grabbed the patches directly and might have
even bypassed linux-next. But again I would argue that's bad process, not a lack
of investment.

> Rather than tweak stuff I'd prefer if we could agree that local -Werror
> is anti-social :(
>
> The global WERROR seems to be a good compromise.

I disagree. WERROR simply doesn't provide the same coverage. E.g. it can't be
enabled for i386 without tuning FRAME_WARN, which (a) won't be at all obvious to
the average contributor and (b) increasing FRAME_WARN effectively reduces the
test coverage of KVM i386.

For KVM x86, I want the rules for contributing to be clearly documented, and as
simple as possible. I don't see a sane way to achieve that with WERROR=y.