Re: [PATCH v3] lib/raid/xor: x86: Add AVX-512 optimized xor_gen()
Eric Biggers <[email protected]>
| Newsgroups | gmane.linux.kernel.cryptoapi,gmane.linux.raid,gmane.linux.kernel |
|---|---|
| Message-ID | <20260615212922.GA28589@quark> |
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? > >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. Except that seems to only enforce the dependencies when the kernel itself is disabling things; if the hypervisor is broken then it just warns. In any case, I'd like these to go away: $ git grep cpu_has_xfeatures | wc -l 31 - Eric