[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1708009975.124311.1629299321026@office.mailbox.org>
Date: Wed, 18 Aug 2021 17:08:40 +0200 (CEST)
From: torvic9@...lbox.org
To: Borislav Petkov <bp@...en8.de>
Cc: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"x86@...nel.org" <x86@...nel.org>,
"clang-built-linux@...glegroups.com"
<clang-built-linux@...glegroups.com>,
"graysky@...hlinux.us" <graysky@...hlinux.us>,
"masahiroy@...nel.org" <masahiroy@...nel.org>,
Christoph Hellwig <hch@...radead.org>
Subject: Re: [PATCH 2/2] x86, Makefile: Add new generic x86-64 settings
v2/v3/v4
> Borislav Petkov <bp@...en8.de> hat am 17.08.2021 20:36 geschrieben:
>
>
> On Tue, Aug 17, 2021 at 04:24:48PM +0200, torvic9@...lbox.org wrote:
> > Add new generic x86-64 CPU tunings introduced with recent versions of
> > gcc and clang, as documented in x86-64-psABI [1].
> >
> > This is taken straight from graysky's CPU optimization patch with minor
> > modifications [2].
> >
> > [1] https://gitlab.com/x86-psABIs/x86-64-ABI/-/commit/77566eb03bc6a326811cb7e9a6b9396884b67c7c
> > [2] https://github.com/graysky2/kernel_compiler_patch
> >
> > Signed-off-by: Tor Vic <torvic9@...lbox.org>
> > ---
> > arch/x86/Kconfig.cpu | 26 +++++++++++++++++++++++++-
> > arch/x86/Makefile.cpu | 6 ++++++
> > 2 files changed, 31 insertions(+), 1 deletion(-)
> >
> > diff --git a/arch/x86/Kconfig.cpu b/arch/x86/Kconfig.cpu
> > index 814fe0d349b0..a2c872aa5a0b 100644
> > --- a/arch/x86/Kconfig.cpu
> > +++ b/arch/x86/Kconfig.cpu
> > @@ -294,6 +294,30 @@ config GENERIC_CPU
> > Generic x86-64 CPU.
> > Run equally well on all x86-64 CPUs.
> >
> > +config GENERIC_CPU_V2
> > + bool "Generic-x86-64-v2"
> > + depends on ( CC_IS_GCC && GCC_VERSION > 110000 ) || ( CC_IS_CLANG && CLANG_VERSION >= 120000 )
> > + depends on X86_64
> > + help
> > + Generic x86-64 CPU.
> > + Run equally well on all x86-64 CPUs with min support of x86-64-v2.
> > +
> > +config GENERIC_CPU_V3
> > + bool "Generic-x86-64-v3"
> > + depends on ( CC_IS_GCC && GCC_VERSION > 110000 ) || ( CC_IS_CLANG && CLANG_VERSION >= 120000 )
> > + depends on X86_64
> > + help
> > + Generic x86-64-v3 CPU with v3 instructions.
> > + Run equally well on all x86-64 CPUs with min support of x86-64-v3.
> > +
> > +config GENERIC_CPU_V4
> > + bool "Generic-x86-64-v4"
> > + depends on ( CC_IS_GCC && GCC_VERSION > 110000 ) || ( CC_IS_CLANG && CLANG_VERSION >= 120000 )
> > + depends on X86_64
> > + help
> > + Generic x86-64 CPU with v4 instructions.
> > + Run equally well on all x86-64 CPUs with min support of x86-64-v4.
>
> Every once in a while, patches like that pop up without any real numbers
> advocating for the additional and perhaps unnecessary complexity.
>
> If those -march switches don't bring any measureable improvements - and
> I highly doubt they do - you shouldn't waste time with submitting them.
Borislav,
I ran some quick checks and benchmarks, and your doubts seem to be justified.
A 5.14-rc6 kernel compiled with the default 'generic' and one built with
'x86-64-v3' even have the exact same uncompressed file size.
Benchmarks were inconclusive as well.
So I will only resubmit the first patch of this series, with the changes
suggested by Masahiro and Christoph.
>
> Thx.
>
> --
> Regards/Gruss,
> Boris.
>
> https://people.kernel.org/tglx/notes-about-netiquette
Powered by blists - more mailing lists