From: "Arnd Bergmann" <arnd@arndb.de>
To: "Tor Vic" <torvic9@mailbox.org>,
"Arnd Bergmann" <arnd@kernel.org>,
linux-kernel@vger.kernel.org, x86@kernel.org
Cc: "Thomas Gleixner" <tglx@linutronix.de>,
"Ingo Molnar" <mingo@redhat.com>,
"Borislav Petkov" <bp@alien8.de>,
"Dave Hansen" <dave.hansen@linux.intel.com>,
"H. Peter Anvin" <hpa@zytor.com>,
"Linus Torvalds" <torvalds@linux-foundation.org>,
"Andy Shevchenko" <andy@kernel.org>,
"Matthew Wilcox" <willy@infradead.org>,
"Sean Christopherson" <seanjc@google.com>,
"Davide Ciminaghi" <ciminaghi@gnudd.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
kvm@vger.kernel.org, "Nathan Chancellor" <nathan@kernel.org>
Subject: Re: [PATCH 09/11] x86: rework CONFIG_GENERIC_CPU compiler flags
Date: Wed, 04 Dec 2024 18:51:34 +0100 [thread overview]
Message-ID: <9dda7e79-3c0f-48b0-824c-40a230b5cc12@app.fastmail.com> (raw)
In-Reply-To: <6c037258-4263-426d-beb2-e6a0697be3ab@mailbox.org>
On Wed, Dec 4, 2024, at 16:36, Tor Vic wrote:
> On 12/4/24 11:30, Arnd Bergmann wrote:
> Similar but not identical changes have been proposed in the past several
> times like e.g. in 1, 2 and likely even more often.
>
> Your solution seems to be much cleaner, I like it.
Thanks. It looks like the other two did not actually
address the bug I'm fixing in my version.
> That said, on my Skylake platform, there is no difference between
> -march=x86-64 and -march=x86-64-v3 in terms of kernel binary size or
> performance.
> I think Boris also said that these settings make no real difference on
> code generation.
As Nathan pointed out, I had a typo in my patch, so the
options didn't actually do anything at all. I fixed it now
and did a 'defconfig' test build with all three:
> Other settings might make a small difference (numbers are from 2023):
> -generic: 85.089.784 bytes
> -core2: 85.139.932 bytes
> -march=skylake: 85.017.808 bytes
text data bss dec hex filename
26664466 10806622 1490948 38962036 2528374 obj-x86/vmlinux-v1
26664466 10806622 1490948 38962036 2528374 obj-x86/vmlinux-v2
26662504 10806654 1490948 38960106 2527bea obj-x86/vmlinux-v3
which is a tiny 2KB saved between v2 and v3. I looked at
the object code and found that the v3 version takes advantage
of the BMI extension, which makes perfect sense. Not sure
if it has any real performance benefits.
Between v1 and v2, there is a chance to turn things like
system_has_cmpxchg128() into a constant on v2 and higher.
The v4 version is meaningless in practice since it only
adds AVX512 instructions that are only present in very
few CPUs and not that useful inside the kernel side from
specialized crypto and raid helpers.
Arnd
next prev parent reply other threads:[~2024-12-04 17:51 UTC|newest]
Thread overview: 77+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-04 10:30 [PATCH 00/11] x86: 32-bit cleanups Arnd Bergmann
2024-12-04 10:30 ` [PATCH 01/11] x86/Kconfig: Geode CPU has cmpxchg8b Arnd Bergmann
2024-12-04 10:30 ` [PATCH 02/11] x86: drop 32-bit "bigsmp" machine support Arnd Bergmann
2024-12-04 10:30 ` [PATCH 03/11] x86: Kconfig.cpu: split out 64-bit atom Arnd Bergmann
2024-12-04 13:16 ` Thomas Gleixner
2024-12-04 15:55 ` H. Peter Anvin
2024-12-04 18:21 ` Andy Shevchenko
2024-12-04 10:30 ` [PATCH 04/11] x86: split CPU selection into 32-bit and 64-bit Arnd Bergmann
2024-12-04 18:31 ` Andy Shevchenko
2024-12-04 21:18 ` Arnd Bergmann
2024-12-04 10:30 ` [PATCH 05/11] x86: remove HIGHMEM64G support Arnd Bergmann
2024-12-04 13:29 ` Brian Gerst
2024-12-04 13:43 ` Arnd Bergmann
2024-12-04 14:02 ` Brian Gerst
2024-12-04 15:00 ` Brian Gerst
2024-12-04 15:58 ` H. Peter Anvin
2024-12-04 15:53 ` H. Peter Anvin
2024-12-04 16:37 ` H. Peter Anvin
2024-12-04 16:55 ` Arnd Bergmann
2024-12-04 18:37 ` Andy Shevchenko
2024-12-04 21:14 ` Arnd Bergmann
2025-04-11 23:44 ` Dave Hansen
2025-04-12 8:39 ` Ingo Molnar
2025-04-12 10:05 ` Mike Rapoport
2025-04-12 10:44 ` Arnd Bergmann
2025-04-12 19:48 ` Ingo Molnar
2025-04-13 8:08 ` [PATCH] x86/e820: discard high memory that can't be addressed by 32-bit systems Mike Rapoport
2025-04-13 9:23 ` [tip: x86/urgent] x86/e820: Discard " tip-bot2 for Mike Rapoport (Microsoft)
2025-04-14 14:19 ` Dave Hansen
2025-04-15 7:18 ` Mike Rapoport
2025-04-15 13:43 ` Dave Hansen
2025-04-16 7:17 ` Ingo Molnar
2025-04-16 7:51 ` Ingo Molnar
2025-04-16 7:24 ` tip-bot2 for Mike Rapoport (Microsoft)
2025-04-16 8:16 ` tip-bot2 for Mike Rapoport (Microsoft)
2025-04-17 16:22 ` [PATCH] x86/e820: discard " Nathan Chancellor
2025-04-18 6:33 ` Ingo Molnar
2025-04-18 9:01 ` Mike Rapoport
2025-04-18 12:59 ` Ingo Molnar
2025-04-18 19:25 ` Mike Rapoport
2025-04-18 19:29 ` Dave Hansen
2025-04-18 19:49 ` Guenter Roeck
2025-04-12 10:40 ` [PATCH 05/11] x86: remove HIGHMEM64G support Arnd Bergmann
2024-12-04 10:30 ` [PATCH 06/11] x86: drop SWIOTLB and PHYS_ADDR_T_64BIT for PAE Arnd Bergmann
2024-12-04 18:41 ` Andy Shevchenko
2024-12-04 20:52 ` Arnd Bergmann
2024-12-05 7:59 ` Andy Shevchenko
2024-12-04 10:30 ` [PATCH 07/11] x86: drop support for CONFIG_HIGHPTE Arnd Bergmann
2024-12-04 10:30 ` [PATCH 08/11] x86: document X86_INTEL_MID as 64-bit-only Arnd Bergmann
2024-12-04 18:55 ` Andy Shevchenko
2024-12-04 20:38 ` Arnd Bergmann
2024-12-05 8:03 ` Andy Shevchenko
2024-12-06 11:23 ` Ferry Toth
2024-12-06 14:27 ` Arnd Bergmann
2024-12-04 10:30 ` [PATCH 09/11] x86: rework CONFIG_GENERIC_CPU compiler flags Arnd Bergmann
2024-12-04 15:36 ` Tor Vic
2024-12-04 17:51 ` Arnd Bergmann [this message]
2024-12-04 17:09 ` Nathan Chancellor
2024-12-04 17:52 ` Arnd Bergmann
2024-12-04 18:10 ` Linus Torvalds
2024-12-04 19:43 ` Arnd Bergmann
2024-12-04 23:33 ` Linus Torvalds
2024-12-05 8:13 ` Andy Shevchenko
2024-12-05 10:09 ` Arnd Bergmann
2024-12-05 11:17 ` Andy Shevchenko
2024-12-05 11:58 ` Arnd Bergmann
2024-12-05 12:35 ` Jason A. Donenfeld
2024-12-05 9:46 ` Arnd Bergmann
2024-12-05 10:01 ` Andy Shevchenko
2024-12-05 10:47 ` Arnd Bergmann
2024-12-05 8:07 ` Andy Shevchenko
2024-12-06 13:56 ` David Laight
2024-12-04 10:30 ` [PATCH 10/11] x86: remove old STA2x11 support Arnd Bergmann
2024-12-05 7:35 ` Davide Ciminaghi
2024-12-04 10:30 ` [PATCH 11/11] x86: drop 32-bit KVM host support Arnd Bergmann
2024-12-04 15:30 ` Sean Christopherson
2024-12-04 16:33 ` Arnd Bergmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=9dda7e79-3c0f-48b0-824c-40a230b5cc12@app.fastmail.com \
--to=arnd@arndb.de \
--cc=andy@kernel.org \
--cc=arnd@kernel.org \
--cc=bp@alien8.de \
--cc=ciminaghi@gnudd.com \
--cc=dave.hansen@linux.intel.com \
--cc=hpa@zytor.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=nathan@kernel.org \
--cc=pbonzini@redhat.com \
--cc=seanjc@google.com \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=torvic9@mailbox.org \
--cc=willy@infradead.org \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®