umonitor/umwait are user-level versions of the monitor/mwait
instructions. These allow the core to wait in a low-power state
until a specified cache line is accessed, a timeout occurs,
or the core is interrupted.

Signed-off-by: Timothy McDaniel <timothy.mcdan...@intel.com>
---
 lib/librte_eal/x86/include/rte_cpuflags.h | 1 +
 lib/librte_eal/x86/rte_cpuflags.c         | 1 +
 2 files changed, 2 insertions(+)

diff --git a/lib/librte_eal/x86/include/rte_cpuflags.h 
b/lib/librte_eal/x86/include/rte_cpuflags.h
index c1d2036..ab2c3b3 100644
--- a/lib/librte_eal/x86/include/rte_cpuflags.h
+++ b/lib/librte_eal/x86/include/rte_cpuflags.h
@@ -130,6 +130,7 @@ enum rte_cpu_flag_t {
        RTE_CPUFLAG_CLDEMOTE,               /**< Cache Line Demote */
        RTE_CPUFLAG_MOVDIRI,                /**< Direct Store Instructions */
        RTE_CPUFLAG_MOVDIR64B,              /**< Direct Store Instructions 64B 
*/
+       RTE_CPUFLAG_UMWAIT,                 /**< UMONITOR/UMWAIT */
        RTE_CPUFLAG_AVX512VP2INTERSECT,     /**< AVX512 Two Register 
Intersection */
 
        /* The last item */
diff --git a/lib/librte_eal/x86/rte_cpuflags.c 
b/lib/librte_eal/x86/rte_cpuflags.c
index 30439e7..6bed3eb 100644
--- a/lib/librte_eal/x86/rte_cpuflags.c
+++ b/lib/librte_eal/x86/rte_cpuflags.c
@@ -137,6 +137,7 @@ const struct feature_entry rte_cpu_feature_table[] = {
        FEAT_DEF(CLDEMOTE, 0x00000007, 0, RTE_REG_ECX, 25)
        FEAT_DEF(MOVDIRI, 0x00000007, 0, RTE_REG_ECX, 27)
        FEAT_DEF(MOVDIR64B, 0x00000007, 0, RTE_REG_ECX, 28)
+       FEAT_DEF(UMWAIT, 0x00000007, 0, RTE_REG_ECX, 5)
        FEAT_DEF(AVX512VP2INTERSECT, 0x00000007, 0, RTE_REG_EDX, 8)
 };
 
-- 
2.6.4

Reply via email to