[PATCH 0/3] x86/cpufeatures: Re-arrange a few features and enumerate AVX512 BFLOAT16 intructions

From: Fenghua Yu
Date: Sun Jun 16 2019 - 13:28:45 EST


To enumerate AVX512 BFLOAT16 feature CPUID.7.1:EAX[5] and other future
features in CPUID.7.1:EAX, Boris suggests to create a new pure feature
bits word.

Boris further suggests to re-define word 11 as scattered features word
and move the four X86_FEATURE_CQM_* features in existing word 11 and
word 12 into the new word 11. Then use word 12 to hold features in
CPUID.7.1:EAX including AVX512 BFLOAT16 instructions.

Also remove x86_cache_max_rmid and x86_cache_occ_scale in cpuinfo_x86
to save memory space because they are only read once by resctrl during
boot time. Get the info directly from CPUID in resctrl initialization.

Change Log:

Address all comments from Borislav Petkov:
- Re-define feature word 11 as a scattered features word and move the
four X86_FEATURE_CQM_* features into the word
- Re-define feature word 12 to hold CPUID.7.1:EAX including BFLOAT16
- Name a dummy leaf 12 in cpuid_leafs in patch 0002 to avoid bisect
error
- Simplify code to get number of rmid and monitoring scale in
rdt_get_mon_l3_config()

Fenghua Yu (3):
x86/resctrl: Get max rmid and occupancy scale directly from CPUID
instead of cpuinfo_x86
x86/cpufeatures: Combine word 11 and 12 into new scattered features
word 11
x86/cpufeatures: Enumerate new AVX512 BFLOAT16 instructions

arch/x86/include/asm/cpufeature.h | 4 +--
arch/x86/include/asm/cpufeatures.h | 18 +++++++----
arch/x86/include/asm/processor.h | 3 --
arch/x86/kernel/cpu/common.c | 45 ++------------------------
arch/x86/kernel/cpu/cpuid-deps.c | 4 +++
arch/x86/kernel/cpu/resctrl/internal.h | 2 +-
arch/x86/kernel/cpu/resctrl/monitor.c | 13 ++++++--
arch/x86/kernel/cpu/scattered.c | 4 +++
arch/x86/kvm/cpuid.h | 2 --
9 files changed, 36 insertions(+), 59 deletions(-)

--
2.19.1