Re: [PATCH v3] lib/raid/xor: x86: Add AVX-512 optimized xor_gen()
Borislav Petkov <[email protected]> Mon, 15 Jun 2026 16:53:18 -0700
| Newsgroups | gmane.linux.kernel.cryptoapi,gmane.linux.raid,gmane.linux.kernel,gmane.linux.uml.devel |
|---|---|
| Message-ID | <20260615235318.GBajCQbuy9dBgKH8L_@fat_crate.local> |
On Mon, Jun 15, 2026 at 02:29:22PM -0700, Eric Biggers wrote: > On Mon, Jun 15, 2026 at 09:16:55PM +0000, Borislav Petkov wrote: > > On June 15, 2026 8:10:50 PM UTC, Eric Biggers <[email protected]> wrote: > > > > > >But I wanted to ask: do we really care about the case where features are > > >"supported" but their XCR0 bits aren't set? Perhaps the kernel just > > >doesn't/shouldn't support weird cases like "-cpu max,xsave=off"? > > > > > > > Yes, our aim is to support only configurations which are actually > > present in real hardware and not a "oh, it would be good if it did > > that, just because..." > > Seems reasonable to me. Would the same apply to UML here? Good question. Richi? > > >If this case indeed needs to be handled, could we make things easier for > > >the kernel's AVX and AVX-512 optimized code? Currently AVX-512 needs: > > > > > > if (boot_cpu_has(X86_FEATURE_AVX512F) && > > > cpu_has_xfeatures(XFEATURE_MASK_FP | XFEATURE_MASK_SSE | > > > XFEATURE_MASK_YMM | XFEATURE_MASK_AVX512, NULL)) > > > > > >How about we make X86_FEATURE_AVX512F depend on XCR0=111xx111, and > > >X86_FEATURE_AVX depend on XCR0=xxxxx111? Then the cpu_has_xfeatures() > > >check wouldn't be needed. Is there any reason not to do that? > > > > How do you want to accomplish that? Very early during boot on the BSP > > you sanity-check XCR0 and clear feature flags if components are not > > set? > > That would be the idea. Something similar to what > arch/x86/kernel/cpu/cpuid-deps.c does. Yap. > Except that seems to only enforce the dependencies when the kernel itself is > disabling things; if the hypervisor is broken then it just warns. Not the kernel's problem. We deliberately don't want to maintain a zoo of options which are not present in real hw. If HV is doing funny things, oh well... > In any case, I'd like these to go away: > > $ git grep cpu_has_xfeatures | wc -l > 31 Yeah, all in crypto. I can certainly see why. @dhansen, any other thoughts? Thx. -- Regards/Gruss, Boris. https://people.kernel.org/tglx/notes-about-netiquette