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

From: Jani Nikula
Date: Tue Oct 10 2023 - 04:04:30 EST


On Mon, 09 Oct 2023, Jakub Kicinski <kuba@xxxxxxxxxx> wrote:
> On Mon, 9 Oct 2023 12:33:53 -0700 Sean Christopherson wrote:
>> > 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.
>
> If you do invest in build testing automation, why can't your automation
> count warnings rather than depend on WERROR? I don't understand.

Because having both CI and the subsystem/driver developers enable a
local WERROR actually works in keeping the subsystem/driver clean of
warnings.

For i915, we also enable W=1 warnings and kernel-doc -Werror with it,
keeping all of them warning clean. I don't much appreciate calling that
anti-social.

>
>> > 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.
>
> Linus, you created the global WERROR option. Do you have an opinion
> on whether random subsystems should create their own WERROR flags?
> W=1 warning got in thru KVM and since they have a KVM_WERROR which
> defaults to enabled it broke build testing in networking.
> Randomly sprinkled -Werrors are fragile. Can we ask people to stop
> using them now that the global ERROR exists?

The DRM_I915_WERROR config depends on EXPERT and !COMPILE_TEST, and to
my knowledge this has never caused issues outside of i915 developers and
CI.

Maybe the fix to KVM_ERROR config should be

- depends on (X86_64 && !KASAN) || !COMPILE_TEST
- depends on (X86_64 && !KASAN) && !COMPILE_TEST


BR,
Jani.


--
Jani Nikula, Intel