[v5,01/10] eal: add new x86 cpuid support for WAITPKG
Checks
Commit Message
From: Liang Ma <liang.j.ma@intel.com>
Add new x86 cpuid support for WAITPKG.
This flag indicate processor support umwait/umonitor/tpause
instruction.
Signed-off-by: Liang Ma <liang.j.ma@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
---
lib/librte_eal/x86/include/rte_cpuflags.h | 2 ++
lib/librte_eal/x86/rte_cpuflags.c | 2 ++
2 files changed, 4 insertions(+)
Comments
On 09-Oct-20 5:02 PM, Anatoly Burakov wrote:
> From: Liang Ma <liang.j.ma@intel.com>
>
> Add new x86 cpuid support for WAITPKG.
> This flag indicate processor support umwait/umonitor/tpause
> instruction.
>
> Signed-off-by: Liang Ma <liang.j.ma@intel.com>
> Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
The work on this patchset is clearly going to take a few more days, but
this particular patch is high priority as there are other dependencies
on this patch for DLB drivers. Would it be possible to accept this
particular patch now...
> ---
> lib/librte_eal/x86/include/rte_cpuflags.h | 2 ++
> lib/librte_eal/x86/rte_cpuflags.c | 2 ++
> 2 files changed, 4 insertions(+)
>
> diff --git a/lib/librte_eal/x86/include/rte_cpuflags.h b/lib/librte_eal/x86/include/rte_cpuflags.h
> index c1d20364d1..5041a830a7 100644
> --- a/lib/librte_eal/x86/include/rte_cpuflags.h
> +++ b/lib/librte_eal/x86/include/rte_cpuflags.h
> @@ -132,6 +132,8 @@ enum rte_cpu_flag_t {
> RTE_CPUFLAG_MOVDIR64B, /**< Direct Store Instructions 64B */
> RTE_CPUFLAG_AVX512VP2INTERSECT, /**< AVX512 Two Register Intersection */
>
> + /**< UMWAIT/TPAUSE Instructions */
> + RTE_CPUFLAG_WAITPKG, /**< UMINITOR/UMWAIT/TPAUSE */
...with typo fix (UMONITOR rather than UMINITOR)?
@@ -132,6 +132,8 @@ enum rte_cpu_flag_t {
RTE_CPUFLAG_MOVDIR64B, /**< Direct Store Instructions 64B */
RTE_CPUFLAG_AVX512VP2INTERSECT, /**< AVX512 Two Register Intersection */
+ /**< UMWAIT/TPAUSE Instructions */
+ RTE_CPUFLAG_WAITPKG, /**< UMINITOR/UMWAIT/TPAUSE */
/* The last item */
RTE_CPUFLAG_NUMFLAGS, /**< This should always be the last! */
};
@@ -110,6 +110,8 @@ const struct feature_entry rte_cpu_feature_table[] = {
FEAT_DEF(AVX512F, 0x00000007, 0, RTE_REG_EBX, 16)
FEAT_DEF(RDSEED, 0x00000007, 0, RTE_REG_EBX, 18)
+ FEAT_DEF(WAITPKG, 0x00000007, 0, RTE_REG_ECX, 5)
+
FEAT_DEF(LAHF_SAHF, 0x80000001, 0, RTE_REG_ECX, 0)
FEAT_DEF(LZCNT, 0x80000001, 0, RTE_REG_ECX, 4)