Re: [PATCH 1/2] x86, Makefile: Move the CPU-specific 64-bit tuning settings to arch/x86/Makefile.cpu

From: Tor Vic
Date: Tue Aug 17 2021 - 14:28:58 EST




On 17.08.21 17:58, Nick Desaulniers wrote:
> Tor,
> Thanks for the patches. One thing I always try to do is use
> ./scripts/get_maintainer.pl to get the appropriate maintainers and
> reviewers cc'ed. I prefer to explicitly put the maintainers that I
> expect to pick up a patch in the To: line.
>

I did use the script, but I wasn't sure whether to include groups,
individuals, or both.
Noted for next submission.

> $ ./scripts/get_maintainer.pl arch/x86/Makefile -norolestats
> Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Ingo Molnar <mingo@xxxxxxxxxx>
> Borislav Petkov <bp@xxxxxxxxx>
> x86@xxxxxxxxxx
> "H. Peter Anvin" <hpa@xxxxxxxxx>
> Nathan Chancellor <nathan@xxxxxxxxxx>
> Nick Desaulniers <ndesaulniers@xxxxxxxxxx>
> linux-kernel@xxxxxxxxxxxxxxx
> clang-built-linux@xxxxxxxxxxxxxxxx
>
> added them to CC. Probably needs a refresh at this point, but
> https://nickdesaulniers.github.io/blog/2017/05/16/submitting-your-first-patch-to-the-linux-kernel-and-responding-to-feedback/
> is still mostly relevant.
>

Noted as well.
Thanks!

> On Tue, Aug 17, 2021 at 7:23 AM torvic9 via Clang Built Linux
> <clang-built-linux@xxxxxxxxxxxxxxxx> wrote:
>>
>> In accordance with the FIXME comment in arch/x86/Makefile, move the
>> CPU-specific 64-bit tuning settings to arch/x86/Makefile.cpu.
>>
>> Signed-off-by: Tor Vic <torvic9@xxxxxxxxxxx>
>> ---
>> arch/x86/Makefile | 11 ++---------
>> arch/x86/Makefile.cpu | 12 ++++++++++++
>> 2 files changed, 14 insertions(+), 9 deletions(-)
>> create mode 100644 arch/x86/Makefile.cpu
>>
>> diff --git a/arch/x86/Makefile b/arch/x86/Makefile
>> index 307fd0000a83..94105d7ad22c 100644
>> --- a/arch/x86/Makefile
>> +++ b/arch/x86/Makefile
>> @@ -119,15 +119,8 @@ else
>> # Use -mskip-rax-setup if supported.
>> KBUILD_CFLAGS += $(call cc-option,-mskip-rax-setup)
>>
>> - # FIXME - should be integrated in Makefile.cpu (Makefile_32.cpu)
>> - cflags-$(CONFIG_MK8) += $(call cc-option,-march=k8)
>> - cflags-$(CONFIG_MPSC) += $(call cc-option,-march=nocona)
>> -
>> - cflags-$(CONFIG_MCORE2) += \
>> - $(call cc-option,-march=core2,$(call cc-option,-mtune=generic))
>> - cflags-$(CONFIG_MATOM) += $(call cc-option,-march=atom) \
>> - $(call cc-option,-mtune=atom,$(call cc-option,-mtune=generic))
>> - cflags-$(CONFIG_GENERIC_CPU) += $(call cc-option,-mtune=generic)
>> + # CPU-specific tuning (64-bit).
>> + include arch/x86/Makefile.cpu
>
> So we have arch/x86/Makefile_32.cpu, would it be more symmetrical to
> have a new arch/x86/Makefile_64.cpu (rather than Makefile.cpu)?
>
>> KBUILD_CFLAGS += $(cflags-y)
>>
>> KBUILD_CFLAGS += -mno-red-zone
>> diff --git a/arch/x86/Makefile.cpu b/arch/x86/Makefile.cpu
>> new file mode 100644
>> index 000000000000..fb407ae94d90
>> --- /dev/null
>> +++ b/arch/x86/Makefile.cpu
>> @@ -0,0 +1,12 @@
>> +# SPDX-License-Identifier: GPL-2.0
>> +# CPU tuning section (64-bit) - shared with UML.
>> +# Must change only cflags-y (or [yn]), not CFLAGS! That makes a difference for UML.
>> +
>> +cflags-$(CONFIG_MK8) += $(call cc-option,-march=k8)
>> +cflags-$(CONFIG_MPSC) += $(call cc-option,-march=nocona)
>> +
>> +cflags-$(CONFIG_MCORE2) += \
>> + $(call cc-option,-march=core2,$(call cc-option,-mtune=generic))
>> +cflags-$(CONFIG_MATOM) += $(call cc-option,-march=atom) \
>> + $(call cc-option,-mtune=atom,$(call cc-option,-mtune=generic))
>> +cflags-$(CONFIG_GENERIC_CPU) += $(call cc-option,-mtune=generic)
>
> I was going to say we probably don't want to limit -mtune=genric to
> 64b only, but it seems that arch/x86/Makefile_32.cpu has some
> duplication here.
>
> 47 cflags-$(CONFIG_X86_GENERIC) += $(call tune,generic,$(call
> tune,i686))
>
> That probably could be hoisted back into arch/x86/Makefile before the
> CONFIG_X86_32 check, but I'm not sure about the differences between
> CONFIG_GENERIC_CPU vs CONFIG_X86_GENERIC?
>