From: "Enrico Weigelt, metux IT consult" <lkml@metux.net>
To: Florian Weimer <fweimer@redhat.com>
Cc: Len Brown <lenb@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Dave Hansen via Libc-alpha <libc-alpha@sourceware.org>,
Dave Hansen <dave.hansen@intel.com>,
Rich Felker <dalias@libc.org>,
Linux API <linux-api@vger.kernel.org>,
"Bae, Chang Seok" <chang.seok.bae@intel.com>,
X86 ML <x86@kernel.org>, LKML <linux-kernel@vger.kernel.org>,
Kyle Huey <me@kylehuey.com>, Borislav Petkov <bp@alien8.de>,
Andy Lutomirski <luto@kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
Keno Fischer <keno@juliacomputing.com>,
Arjan van de Ven <arjan@linux.intel.com>,
Willy Tarreau <w@1wt.eu>
Subject: Re: Candidate Linux ABI for Intel AMX and hypothetical new related features
Date: Wed, 30 Jun 2021 14:22:19 +0200 [thread overview]
Message-ID: <84be3cfd-e825-ae75-bbae-2bbd3360daa7@metux.net> (raw)
In-Reply-To: <87tulirw5y.fsf@oldenburg.str.redhat.com>
On 28.06.21 14:49, Florian Weimer wrote:
> * Enrico Weigelt:
>
>> On 24.06.21 01:11, Len Brown wrote:
>>>> x86 CPU features detection for applications (and AMX)
>>>> <https://lore.kernel.org/linux-api/87tulo39ms.fsf@oldenburg.str.redhat.com/>
>>> FWIW, I didn't receive it, because you excluded
>>> linux-kernel@vger.kernel.org
>>
>> me neither :(
>>
>> Maybe just repost it to LKML ?
>
> Isn't it sufficient to start Cc:ing the list?
Well, in that case people probably missed the original mail.
(maybe, I'm too lazy for searching the web for archives ... :P)
>> You mention the interface *was* designed with cpu features remaining
>> constant over a process' lifetime. Between the line I'm reading that
>> this might not be the case anymore.
>>
>> How could that happen ? Process migration on a different CPU (or perhaps
>> on a different host) ?
>
> AMX will be shown as enabled in the hardware, but trap into the kernel
> on first use. The kernel developers prefer a model where it is checked
> that the process has previously enabled the feature explicitly, instead
> relying on lazy initialization as part of the trap (as intended by the
> hardware design). This means that the usual CPUID/XCR0 approach (which
> is reflected in the glibc feature) will not work.
Ah, now I'm beginning to get it:
* this feature needs to be initialized first, before it can be used
* on first use (when not initialized yet), it traps into the kernel
* we don't want to always initialize it at boot
Correct ?
What I'm wondering: why shall the process explicitly ask for it and
why isn't the initialization be done either on bootup or on first use ?
>> Damn, how could the cpu designers come up with such weird concepts
>> in the first place ? :o
>
> It's not the CPU designers. The CPU behaves according to the old model.
> (I consider the old model a success, despite all the challenges, but not
> everyone agrees, obviosly.)
I'm still claiming already this old model is a horrible misdesign and
(most of) the extensions made over the decades are anything but well
designed - there had been many changes to do it much, much better.
For example there would have been ways to introduce new opcodes in a way
that they can be easily emulated in kernel or userland, w/o going
through a full trap.
But that's gonna be a long discussion on its own, probably getting
offtopic here.
--mtx
--
---
Hinweis: unverschlüsselte E-Mails können leicht abgehört und manipuliert
werden ! Für eine vertrauliche Kommunikation senden Sie bitte ihren
GPG/PGP-Schlüssel zu.
---
Enrico Weigelt, metux IT consult
Free software and Linux embedded engineering
info@metux.net -- +49-151-27565287
next prev parent reply other threads:[~2021-06-30 12:23 UTC|newest]
Thread overview: 130+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-26 23:12 Candidate Linux ABI for Intel AMX and hypothetical new related features Andy Lutomirski
2021-03-26 23:18 ` Andy Lutomirski
2021-03-27 3:39 ` Len Brown
2021-03-27 9:14 ` Borislav Petkov
2021-03-27 9:58 ` Greg KH
2021-03-29 15:47 ` Len Brown
2021-03-29 16:38 ` Len Brown
2021-03-29 16:48 ` Florian Weimer
2021-03-29 18:14 ` Andy Lutomirski
2021-03-29 18:16 ` Andy Lutomirski
2021-03-29 22:38 ` Len Brown
2021-03-30 5:08 ` Andy Lutomirski
2021-03-30 5:50 ` Noah Goldstein
2021-03-30 17:01 ` Len Brown
2021-03-30 17:05 ` Andy Lutomirski
2021-03-30 17:56 ` Len Brown
2021-03-30 19:12 ` Dave Hansen
2021-03-30 20:20 ` Andy Lutomirski
2021-03-30 20:42 ` Len Brown
2021-03-30 22:01 ` David Laight
2021-03-31 16:31 ` Len Brown
2021-03-31 16:53 ` Andy Lutomirski
2021-03-31 21:42 ` Robert O'Callahan
2021-03-31 22:11 ` Len Brown
2021-03-31 22:28 ` Len Brown
2021-03-31 22:45 ` Andy Lutomirski
2021-04-09 20:52 ` Len Brown
2021-04-09 21:44 ` Andy Lutomirski
2021-04-11 19:07 ` Len Brown
2021-04-12 7:59 ` David Laight
2021-04-12 12:19 ` Borislav Petkov
2021-04-12 17:14 ` Sean Christopherson
2021-03-31 22:52 ` Borislav Petkov
2021-04-09 20:55 ` Len Brown
2021-03-28 0:53 ` Thomas Gleixner
2021-03-29 7:27 ` Peter Zijlstra
2021-03-29 15:06 ` Dave Hansen
2021-03-31 8:24 ` Borislav Petkov
[not found] ` <87lf9nk2ku.fsf@oldenburg.str.redhat.com>
2021-04-12 14:31 ` Borislav Petkov
2021-04-12 14:38 ` Florian Weimer
2021-04-12 15:08 ` Borislav Petkov
2021-04-12 15:10 ` Andy Lutomirski
2021-04-12 15:21 ` Andy Lutomirski
2021-04-12 23:46 ` Len Brown
2021-04-13 0:17 ` Thomas Gleixner
2021-04-13 1:25 ` Len Brown
2021-04-13 3:43 ` Willy Tarreau
2021-04-13 19:51 ` Len Brown
2021-04-14 9:58 ` Borislav Petkov
2021-04-14 10:06 ` Willy Tarreau
2021-04-14 10:08 ` Borislav Petkov
2021-04-14 21:57 ` Len Brown
2021-04-15 4:43 ` Borislav Petkov
2021-04-15 5:29 ` Willy Tarreau
2021-04-15 5:47 ` Borislav Petkov
2021-04-16 22:05 ` Len Brown
2021-04-19 14:14 ` Borislav Petkov
2021-04-19 18:18 ` Len Brown
2021-04-19 19:15 ` Borislav Petkov
2021-04-19 21:33 ` Len Brown
2021-04-19 21:58 ` Borislav Petkov
2021-04-23 19:35 ` Len Brown
2021-04-23 19:57 ` Borislav Petkov
2021-05-02 15:27 ` Len Brown
2021-05-03 5:18 ` Florian Weimer
2021-05-03 13:43 ` Dave Hansen
2021-05-03 13:47 ` Florian Weimer
2021-05-03 14:14 ` Dave Hansen
2021-05-07 18:44 ` Thomas Gleixner
2021-05-07 18:50 ` Andy Lutomirski
2021-05-07 19:22 ` Thomas Gleixner
2021-05-08 9:45 ` Thomas Gleixner
2021-05-18 20:39 ` Len Brown
2021-05-19 23:29 ` Andy Lutomirski
2021-05-20 19:16 ` Len Brown
2021-05-17 9:45 ` Thomas Gleixner
2021-05-17 9:56 ` Florian Weimer
2021-05-17 10:18 ` Thomas Gleixner
2021-05-21 16:29 ` Len Brown
2021-05-17 13:49 ` Arjan van de Ven
2021-05-20 15:35 ` Len Brown
2021-05-20 20:54 ` Thomas Gleixner
2021-05-20 21:13 ` Dave Hansen
2021-05-20 21:41 ` Len Brown
2021-05-20 22:53 ` Dave Hansen
2021-05-21 9:41 ` Thomas Gleixner
2021-05-21 14:44 ` Florian Weimer
2021-05-21 14:49 ` Peter Zijlstra
2021-06-23 15:06 ` Florian Weimer
2021-06-23 23:11 ` Len Brown
2021-06-28 10:14 ` Enrico Weigelt, metux IT consult
2021-06-28 12:49 ` Florian Weimer
2021-06-30 12:22 ` Enrico Weigelt, metux IT consult [this message]
2021-06-30 12:41 ` Willy Tarreau
2021-06-30 13:55 ` Arjan van de Ven
2021-06-30 15:20 ` Len Brown
2021-06-30 15:25 ` Enrico Weigelt, metux IT consult
2021-05-21 16:14 ` Dave Hansen
2021-05-21 16:19 ` Florian Weimer
2021-05-21 16:26 ` Len Brown
2021-05-21 16:28 ` Dave Hansen
2021-05-21 16:31 ` Andy Lutomirski
2021-05-21 19:10 ` Thomas Gleixner
2021-05-21 20:07 ` Andy Lutomirski
2021-05-21 21:43 ` Thomas Gleixner
2021-05-21 22:07 ` Len Brown
2021-05-21 22:46 ` Thomas Gleixner
2021-05-21 23:31 ` Len Brown
2021-05-22 7:16 ` Florian Weimer
2021-05-22 23:55 ` Andy Lutomirski
2021-05-21 23:06 ` Dave Hansen
2021-05-21 23:08 ` Len Brown
2021-05-21 19:05 ` Thomas Gleixner
2021-05-20 21:22 ` Len Brown
2021-05-20 21:41 ` Thomas Gleixner
2021-05-20 21:49 ` Len Brown
2021-05-21 9:26 ` Thomas Gleixner
2021-04-19 23:52 ` Paul Eggert
2021-04-13 20:16 ` Andy Lutomirski
2021-04-13 22:47 ` Len Brown
2021-04-13 22:58 ` Andy Lutomirski
2021-04-14 21:48 ` Len Brown
2021-04-15 16:24 ` Andy Lutomirski
2021-04-15 17:00 ` Dave Hansen
2021-04-15 17:38 ` Andy Lutomirski
2021-04-16 21:54 ` Len Brown
2021-04-16 22:03 ` Andy Lutomirski
2021-04-16 22:10 ` Len Brown
2021-04-16 22:14 ` Andy Lutomirski
2021-04-17 1:57 ` Len Brown
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=84be3cfd-e825-ae75-bbae-2bbd3360daa7@metux.net \
--to=lkml@metux.net \
--cc=arjan@linux.intel.com \
--cc=bp@alien8.de \
--cc=chang.seok.bae@intel.com \
--cc=dalias@libc.org \
--cc=dave.hansen@intel.com \
--cc=fweimer@redhat.com \
--cc=keno@juliacomputing.com \
--cc=lenb@kernel.org \
--cc=libc-alpha@sourceware.org \
--cc=linux-api@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@kernel.org \
--cc=me@kylehuey.com \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
--cc=w@1wt.eu \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.