mirror of
https://sourceware.org/git/glibc.git
synced 2025-12-24 17:51:17 +03:00
Check the HTT bit before counting logical threads
Skip counting logical threads for Intel processors if the HTT bit is 0 which indicates there is only a single logical processor. * sysdeps/x86/cacheinfo.c (init_cacheinfo): Skip counting logical threads if the HTT bit is 0. * sysdeps/x86/cpu-features.h (bit_cpu_HTT): New. (index_cpu_HTT): Likewise. (reg_HTT): Likewise.
This commit is contained in:
@@ -51,6 +51,7 @@
|
||||
#define bit_cpu_POPCOUNT (1 << 23)
|
||||
#define bit_cpu_FMA (1 << 12)
|
||||
#define bit_cpu_FMA4 (1 << 16)
|
||||
#define bit_cpu_HTT (1 << 28)
|
||||
|
||||
/* COMMON_CPUID_INDEX_7. */
|
||||
#define bit_cpu_ERMS (1 << 9)
|
||||
@@ -235,6 +236,7 @@ extern const struct cpu_features *__get_cpu_features (void)
|
||||
# define index_cpu_FMA4 COMMON_CPUID_INDEX_80000001
|
||||
# define index_cpu_POPCOUNT COMMON_CPUID_INDEX_1
|
||||
# define index_cpu_OSXSAVE COMMON_CPUID_INDEX_1
|
||||
# define index_cpu_HTT COMMON_CPUID_INDEX_1
|
||||
|
||||
# define reg_CX8 edx
|
||||
# define reg_CMOV edx
|
||||
@@ -252,6 +254,7 @@ extern const struct cpu_features *__get_cpu_features (void)
|
||||
# define reg_FMA4 ecx
|
||||
# define reg_POPCOUNT ecx
|
||||
# define reg_OSXSAVE ecx
|
||||
# define reg_HTT edx
|
||||
|
||||
# define index_arch_Fast_Rep_String FEATURE_INDEX_1
|
||||
# define index_arch_Fast_Copy_Backward FEATURE_INDEX_1
|
||||
|
||||
Reference in New Issue
Block a user