From 8fa83ff62a6eaad0bfe6be036033067ee42de146 Mon Sep 17 00:00:00 2001 From: Lin Yang Date: Wed, 27 May 2020 10:50:40 -0700 Subject: [PATCH] Add traits for new AVX512 CPU feature To support new AVX512 cpu feature, this patch adds the mapping between cpu features reported by libvirt [1] and corresponding os-traits [2]. The traits include 'AVX512VBMI', 'AVX512IFMA', 'AVX512VBMI2', 'AVX512BITALG', 'AVX512VAES', 'AVX512GFNI', 'AVX512VPCLMULQDQ' and 'AVX512VPOPCNTDQ'. [1] https://github.com/libvirt/libvirt/blob/master/src/cpu_map/x86_features.xml [2] https://review.opendev.org/#/c/728576/ Depends-On: I58cba02f204d2e19a1a838852c628694edd47d73 Change-Id: I212a84e5cae15bc133aafd538d55f85149ab360f --- lower-constraints.txt | 2 +- nova/virt/libvirt/utils.py | 8 ++++++++ requirements.txt | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/lower-constraints.txt b/lower-constraints.txt index dbf9a556d5cc..52b41781f25c 100644 --- a/lower-constraints.txt +++ b/lower-constraints.txt @@ -67,7 +67,7 @@ os-brick==3.0.1 os-client-config==1.29.0 os-resource-classes==0.4.0 os-service-types==1.7.0 -os-traits==2.2.0 +os-traits==2.4.0 os-vif==1.14.0 os-win==3.0.0 os-xenapi==0.3.3 diff --git a/nova/virt/libvirt/utils.py b/nova/virt/libvirt/utils.py index bd4baf19ecca..fe9aa192e37c 100644 --- a/nova/virt/libvirt/utils.py +++ b/nova/virt/libvirt/utils.py @@ -62,6 +62,14 @@ CPU_TRAITS_MAPPING = { 'avx512pf': os_traits.HW_CPU_X86_AVX512PF, 'avx512vl': os_traits.HW_CPU_X86_AVX512VL, 'avx512vnni': os_traits.HW_CPU_X86_AVX512VNNI, + 'avx512vbmi': os_traits.HW_CPU_X86_AVX512VBMI, + 'avx512ifma': os_traits.HW_CPU_X86_AVX512IFMA, + 'avx512vbmi2': os_traits.HW_CPU_X86_AVX512VBMI2, + 'avx512bitalg': os_traits.HW_CPU_X86_AVX512BITALG, + 'vaes': os_traits.HW_CPU_X86_AVX512VAES, + 'gfni': os_traits.HW_CPU_X86_AVX512GFNI, + 'vpclmulqdq': os_traits.HW_CPU_X86_AVX512VPCLMULQDQ, + 'avx512-vpopcntdq': os_traits.HW_CPU_X86_AVX512VPOPCNTDQ, 'bmi1': os_traits.HW_CPU_X86_BMI, 'bmi2': os_traits.HW_CPU_X86_BMI2, 'pclmuldq': os_traits.HW_CPU_X86_CLMUL, diff --git a/requirements.txt b/requirements.txt index 8a8e97505ea0..94d25467b7e9 100644 --- a/requirements.txt +++ b/requirements.txt @@ -54,7 +54,7 @@ psutil>=3.2.2 # BSD oslo.versionedobjects>=1.35.0 # Apache-2.0 os-brick>=3.0.1 # Apache-2.0 os-resource-classes>=0.4.0 # Apache-2.0 -os-traits>=2.2.0 # Apache-2.0 +os-traits>=2.4.0 # Apache-2.0 os-vif>=1.14.0 # Apache-2.0 os-win>=3.0.0 # Apache-2.0 castellan>=0.16.0 # Apache-2.0