Message ID | 1478248158-29112-1-git-send-email-luwei.kang@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 04/11/16 08:29, Luwei Kang wrote: > Enable get xstate cpuid leaf information regarding avx512 in guest. > > Signed-off-by: Luwei Kang <luwei.kang@intel.com> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com> > --- > tools/libxc/xc_cpuid_x86.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/tools/libxc/xc_cpuid_x86.c b/tools/libxc/xc_cpuid_x86.c > index de06b32..d761805 100644 > --- a/tools/libxc/xc_cpuid_x86.c > +++ b/tools/libxc/xc_cpuid_x86.c > @@ -406,6 +406,9 @@ static void intel_xc_cpuid_policy(xc_interface *xch, > #define X86_XCR0_AVX (1ULL << 2) > #define X86_XCR0_BNDREG (1ULL << 3) > #define X86_XCR0_BNDCSR (1ULL << 4) > +#define X86_XCR0_OPMASK (1ULL << 5) > +#define X86_XCR0_ZMM (1ULL << 6) > +#define X86_XCR0_HI_ZMM (1ULL << 7) > #define X86_XCR0_PKRU (1ULL << 9) > #define X86_XCR0_LWP (1ULL << 62) > > @@ -437,6 +440,9 @@ static void xc_cpuid_config_xsave(xc_interface *xch, > if ( test_bit(X86_FEATURE_MPX, info->featureset) ) > guest_xfeature_mask |= X86_XCR0_BNDREG | X86_XCR0_BNDCSR; > > + if ( test_bit(X86_FEATURE_AVX512F, info->featureset) ) > + guest_xfeature_mask |= X86_XCR0_OPMASK | X86_XCR0_ZMM | X86_XCR0_HI_ZMM; > + > if ( test_bit(X86_FEATURE_PKU, info->featureset) ) > guest_xfeature_mask |= X86_XCR0_PKRU; >
CC x86 maintainers. I will defer this patch to them. On Fri, Nov 04, 2016 at 04:29:18PM +0800, Luwei Kang wrote: > Enable get xstate cpuid leaf information regarding avx512 in guest. > > Signed-off-by: Luwei Kang <luwei.kang@intel.com> > --- > tools/libxc/xc_cpuid_x86.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/tools/libxc/xc_cpuid_x86.c b/tools/libxc/xc_cpuid_x86.c > index de06b32..d761805 100644 > --- a/tools/libxc/xc_cpuid_x86.c > +++ b/tools/libxc/xc_cpuid_x86.c > @@ -406,6 +406,9 @@ static void intel_xc_cpuid_policy(xc_interface *xch, > #define X86_XCR0_AVX (1ULL << 2) > #define X86_XCR0_BNDREG (1ULL << 3) > #define X86_XCR0_BNDCSR (1ULL << 4) > +#define X86_XCR0_OPMASK (1ULL << 5) > +#define X86_XCR0_ZMM (1ULL << 6) > +#define X86_XCR0_HI_ZMM (1ULL << 7) > #define X86_XCR0_PKRU (1ULL << 9) > #define X86_XCR0_LWP (1ULL << 62) > > @@ -437,6 +440,9 @@ static void xc_cpuid_config_xsave(xc_interface *xch, > if ( test_bit(X86_FEATURE_MPX, info->featureset) ) > guest_xfeature_mask |= X86_XCR0_BNDREG | X86_XCR0_BNDCSR; > > + if ( test_bit(X86_FEATURE_AVX512F, info->featureset) ) > + guest_xfeature_mask |= X86_XCR0_OPMASK | X86_XCR0_ZMM | X86_XCR0_HI_ZMM; > + > if ( test_bit(X86_FEATURE_PKU, info->featureset) ) > guest_xfeature_mask |= X86_XCR0_PKRU; > > -- > 2.7.4 >
On Fri, Nov 04, 2016 at 10:20:24AM +0000, Andrew Cooper wrote: > On 04/11/16 08:29, Luwei Kang wrote: > > Enable get xstate cpuid leaf information regarding avx512 in guest. > > > > Signed-off-by: Luwei Kang <luwei.kang@intel.com> > > Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com> > Oops, should have read all the entire thread. I think we can sneak this in for 4.8 if we have some free cycles, otherwise I will queue it up for -next. > > --- > > tools/libxc/xc_cpuid_x86.c | 6 ++++++ > > 1 file changed, 6 insertions(+) > > > > diff --git a/tools/libxc/xc_cpuid_x86.c b/tools/libxc/xc_cpuid_x86.c > > index de06b32..d761805 100644 > > --- a/tools/libxc/xc_cpuid_x86.c > > +++ b/tools/libxc/xc_cpuid_x86.c > > @@ -406,6 +406,9 @@ static void intel_xc_cpuid_policy(xc_interface *xch, > > #define X86_XCR0_AVX (1ULL << 2) > > #define X86_XCR0_BNDREG (1ULL << 3) > > #define X86_XCR0_BNDCSR (1ULL << 4) > > +#define X86_XCR0_OPMASK (1ULL << 5) > > +#define X86_XCR0_ZMM (1ULL << 6) > > +#define X86_XCR0_HI_ZMM (1ULL << 7) > > #define X86_XCR0_PKRU (1ULL << 9) > > #define X86_XCR0_LWP (1ULL << 62) > > > > @@ -437,6 +440,9 @@ static void xc_cpuid_config_xsave(xc_interface *xch, > > if ( test_bit(X86_FEATURE_MPX, info->featureset) ) > > guest_xfeature_mask |= X86_XCR0_BNDREG | X86_XCR0_BNDCSR; > > > > + if ( test_bit(X86_FEATURE_AVX512F, info->featureset) ) > > + guest_xfeature_mask |= X86_XCR0_OPMASK | X86_XCR0_ZMM | X86_XCR0_HI_ZMM; > > + > > if ( test_bit(X86_FEATURE_PKU, info->featureset) ) > > guest_xfeature_mask |= X86_XCR0_PKRU; > > >
On Fri, Nov 04, 2016 at 11:00:16AM +0000, Wei Liu wrote: > On Fri, Nov 04, 2016 at 10:20:24AM +0000, Andrew Cooper wrote: > > On 04/11/16 08:29, Luwei Kang wrote: > > > Enable get xstate cpuid leaf information regarding avx512 in guest. > > > > > > Signed-off-by: Luwei Kang <luwei.kang@intel.com> > > > > Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com> > > > > Oops, should have read all the entire thread. > > I think we can sneak this in for 4.8 if we have some free cycles, > otherwise I will queue it up for -next. It would be good to get it in as it provides some nice performance benefits for guests. > > > > --- > > > tools/libxc/xc_cpuid_x86.c | 6 ++++++ > > > 1 file changed, 6 insertions(+) > > > > > > diff --git a/tools/libxc/xc_cpuid_x86.c b/tools/libxc/xc_cpuid_x86.c > > > index de06b32..d761805 100644 > > > --- a/tools/libxc/xc_cpuid_x86.c > > > +++ b/tools/libxc/xc_cpuid_x86.c > > > @@ -406,6 +406,9 @@ static void intel_xc_cpuid_policy(xc_interface *xch, > > > #define X86_XCR0_AVX (1ULL << 2) > > > #define X86_XCR0_BNDREG (1ULL << 3) > > > #define X86_XCR0_BNDCSR (1ULL << 4) > > > +#define X86_XCR0_OPMASK (1ULL << 5) > > > +#define X86_XCR0_ZMM (1ULL << 6) > > > +#define X86_XCR0_HI_ZMM (1ULL << 7) > > > #define X86_XCR0_PKRU (1ULL << 9) > > > #define X86_XCR0_LWP (1ULL << 62) > > > > > > @@ -437,6 +440,9 @@ static void xc_cpuid_config_xsave(xc_interface *xch, > > > if ( test_bit(X86_FEATURE_MPX, info->featureset) ) > > > guest_xfeature_mask |= X86_XCR0_BNDREG | X86_XCR0_BNDCSR; > > > > > > + if ( test_bit(X86_FEATURE_AVX512F, info->featureset) ) > > > + guest_xfeature_mask |= X86_XCR0_OPMASK | X86_XCR0_ZMM | X86_XCR0_HI_ZMM; > > > + > > > if ( test_bit(X86_FEATURE_PKU, info->featureset) ) > > > guest_xfeature_mask |= X86_XCR0_PKRU; > > > > > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > https://lists.xen.org/xen-devel
On Fri, Nov 04, 2016 at 09:40:20AM -0400, Konrad Rzeszutek Wilk wrote: > On Fri, Nov 04, 2016 at 11:00:16AM +0000, Wei Liu wrote: > > On Fri, Nov 04, 2016 at 10:20:24AM +0000, Andrew Cooper wrote: > > > On 04/11/16 08:29, Luwei Kang wrote: > > > > Enable get xstate cpuid leaf information regarding avx512 in guest. > > > > > > > > Signed-off-by: Luwei Kang <luwei.kang@intel.com> > > > > > > Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com> > > > > > > > Oops, should have read all the entire thread. > > > > I think we can sneak this in for 4.8 if we have some free cycles, > > otherwise I will queue it up for -next. > > It would be good to get it in as it provides some nice performance > benefits for guests. > Given that the queue is empty at the moment, I've pushed this patch.
diff --git a/tools/libxc/xc_cpuid_x86.c b/tools/libxc/xc_cpuid_x86.c index de06b32..d761805 100644 --- a/tools/libxc/xc_cpuid_x86.c +++ b/tools/libxc/xc_cpuid_x86.c @@ -406,6 +406,9 @@ static void intel_xc_cpuid_policy(xc_interface *xch, #define X86_XCR0_AVX (1ULL << 2) #define X86_XCR0_BNDREG (1ULL << 3) #define X86_XCR0_BNDCSR (1ULL << 4) +#define X86_XCR0_OPMASK (1ULL << 5) +#define X86_XCR0_ZMM (1ULL << 6) +#define X86_XCR0_HI_ZMM (1ULL << 7) #define X86_XCR0_PKRU (1ULL << 9) #define X86_XCR0_LWP (1ULL << 62) @@ -437,6 +440,9 @@ static void xc_cpuid_config_xsave(xc_interface *xch, if ( test_bit(X86_FEATURE_MPX, info->featureset) ) guest_xfeature_mask |= X86_XCR0_BNDREG | X86_XCR0_BNDCSR; + if ( test_bit(X86_FEATURE_AVX512F, info->featureset) ) + guest_xfeature_mask |= X86_XCR0_OPMASK | X86_XCR0_ZMM | X86_XCR0_HI_ZMM; + if ( test_bit(X86_FEATURE_PKU, info->featureset) ) guest_xfeature_mask |= X86_XCR0_PKRU;
Enable get xstate cpuid leaf information regarding avx512 in guest. Signed-off-by: Luwei Kang <luwei.kang@intel.com> --- tools/libxc/xc_cpuid_x86.c | 6 ++++++ 1 file changed, 6 insertions(+)