[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <27CD4C77-E58A-4AC1-8415-3E57BE0F3663@amacapital.net>
Date: Mon, 12 Apr 2021 08:10:15 -0700
From: Andy Lutomirski <luto@...capital.net>
To: Florian Weimer <fweimer@...hat.com>
Cc: Borislav Petkov <bp@...en8.de>, Andy Lutomirski <luto@...nel.org>,
"Bae, Chang Seok" <chang.seok.bae@...el.com>,
Dave Hansen <dave.hansen@...el.com>, X86 ML <x86@...nel.org>,
LKML <linux-kernel@...r.kernel.org>, linux-abi@...r.kernel.org,
libc-alpha@...rceware.org, Rich Felker <dalias@...c.org>,
Kyle Huey <me@...ehuey.com>,
Keno Fischer <keno@...iacomputing.com>
Subject: Re: Candidate Linux ABI for Intel AMX and hypothetical new related features
> On Apr 12, 2021, at 7:38 AM, Florian Weimer <fweimer@...hat.com> wrote:
>
> * Borislav Petkov:
>
>>> On Mon, Apr 12, 2021 at 04:19:29PM +0200, Florian Weimer wrote:
>>> Maybe we could have done this in 2016 when I reported this for the first
>>> time. Now it is too late, as more and more software is using
>>> CPUID-based detection for AVX-512.
>>
>> So as I said on another mail today, I don't think a library should rely
>> solely on CPUID-based detection of features especially if those features
>> need kernel support too. IOW, it should ask whether the kernel can
>> handle those too, first.
>
> Yes, that's why we have the XGETBV handshake. I was imprecise. It's
> CPUID + XGETBV of course. Or even AT_HWCAP2 (for FSGSBASE).
>
>> And the CPUID-faulting thing would solve stuff like that because then
>> the kernel can *actually* get involved into answering something where it
>> has a say in, too.
>
> But why wouldn't we use a syscall or an entry in the auxiliary vector
> for that? Why fault a potentially performance-critical instruction?
>
CPUID is horrifically slow in various virt scenarios. If user code needs to serialize, use IRET or SERIALIZE.
Powered by blists - more mailing lists