[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v8 10/50] x86emul: support AVX512{F, BW, _VBMI} full permute insns
On 20/05/2019 07:55, Jan Beulich wrote: >>>> On 17.05.19 at 18:50, <andrew.cooper3@xxxxxxxxxx> wrote: >> On 15/03/2019 10:41, Jan Beulich wrote: >>> Take the liberty and also correct the (public interface) name of the >>> AVX512_VBMI feature flag, on the assumption that no external consumer >>> has actually been using that flag so far. >> I've been giving this some thought, and I think putting these in the >> public interface was a mistake. >> >> They are a representation of other peoples stable ABI, and are only used >> in tools interfaces as far as Xen is concerned (SYSCTL_get_featureset, >> DOMCTL_get_cpu_policy) >> >> The only external representations are xen_cpuid_leaf_t/xen_msr_entry_t >> which don't need constants to go with them. > While I don't really mind removing them from the public interface > again, I think you're missing to discuss one point of why they've > been put there originally: We wanted them to also serve as > documentation of the forward compatible nature of the A/S/H > annotations, i.e. such that we wouldn't lightly remove something > that was previously exposed. I don't recall that being a consideration, but the file doesn't need to be in xen/public/ for us to apply general "don't change this lightly" rules to the annotations. I don't see it being different to other areas of backwards compatibility we maintain in the main codebase. > >>> Furthermore make it have >>> AVX512BW instead of AVX512F as a prerequisite, for requiring full >>> 64-bit mask registers (the upper 48 bits of which can't be accessed >>> other than through XSAVE/XRSTOR without AVX512BW support). >>> >>> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> >> As for the rest, Acked-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> but >> we perhaps want to sort out the position in the public interface before >> changing AVX512VBMI. > Thanks; I don't think the order of events matters much, but if this is > something to happen soon, I don't mind waiting (and the re-basing). I don't have any immediate plans - its not on the critical path to DOMCTL_set_cpu_policy work. OTOH, it doesn't look like it would be hard to do, and it would make it clear that we are fine to rename constants. I can look into this if you'd like. > There's an important point here though that you don't say any word > on, despite me having mentioned it to you on irc already after you > had given your ack to "x86/CPUID: support leaf 7 subleaf 1 / > AVX512_BF16" making a similar dependency as the patch here upon > AVX512BW rather than AVX512F. Recall that I had to split off the > change below from another patch of mine, because of our > disagreement on the intended dependencies. If we make the sub- > features requiring wider than 16-bit mask registers dependent > upon AVX512BW (as suggested by the patch here), then I think > we also want to change the SSEn dependencies as done/suggested > in the patch below (albeit of course there's no dependency on > changed register width there, just one on permitted element types, > so I could also see a basis to accept the dependency here as is, but > view things differently for SSEn). Reply below. > Seeing your further acks (thanks!), just as a side note: Are you > aware that you've skipped patch 9 in the series, without which the > ones you've acked can't go in anyway (i.e. regardless of whether > I'm to wait for the public interface adjustment above)? Oops - let me go and see. > > Jan > > x86/cpuid: correct dependencies of post-SSE ISA extensions > > Move AESNI, PCLMULQDQ, and SHA to SSE2, as all of them act on vectors of > integers, whereas plain SSE supports vectors of single precision floats > only. This is in line with how e.g. binutils and gcc treat them. > > Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Acked-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> This isn't worth the effort its been arguing over, but I'd request s/correct/adjust/ in the subject as "correctness" here is subjective. > --- > v?: Re-base over split out PCLMULQDQ addition. > --- > TBD: On the same basis, SSE3, SSSE3 and SSE4A should probably also > depend on SSE2 rather than SSE. In fact making this a chain SSE -> SSE2 > -> SSE3 -> { SSSE3, SSE4A } would probably be best, and get us in line > with both binutils and gcc. But I think I did suggest so when the > dependencies were introduced, and this wasn't liked for a reason I > forgot. The code is only as it is because you insisted upon it being this way. I'll remind you that my first submission looked rather closer to this. ~Andrew _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |