mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-09 23:00:07 +00:00
x86: Fix incorrect scope of setting shared_per_thread
[BZ# 30745]
The: ``` if (shared_per_thread > 0 && threads > 0) shared_per_thread /= threads; ``` Code was accidentally moved to inside the else scope. This doesn't match how it was previously (beforeaf992e7abd
). This patch fixes that by putting the division after the `else` block. (cherry picked from commit084fb31bc2
)
This commit is contained in:
parent
01a8874eba
commit
9f27ef8090
@ -679,18 +679,19 @@ init_cacheinfo (void)
|
||||
}
|
||||
else
|
||||
{
|
||||
intel_bug_no_cache_info:
|
||||
intel_bug_no_cache_info:
|
||||
/* Assume that all logical threads share the highest cache
|
||||
level. */
|
||||
|
||||
threads = ((cpu_features->cpuid[COMMON_CPUID_INDEX_1].ebx >> 16)
|
||||
& 0xff);
|
||||
|
||||
/* Cap usage of highest cache level to the number of supported
|
||||
threads. */
|
||||
if (shared_per_thread > 0 && threads > 0)
|
||||
shared_per_thread /= threads;
|
||||
threads
|
||||
= ((cpu_features->cpuid[COMMON_CPUID_INDEX_1].ebx
|
||||
>> 16) & 0xff);
|
||||
}
|
||||
|
||||
/* Cap usage of highest cache level to the number of supported
|
||||
threads. */
|
||||
if (shared_per_thread > 0 && threads > 0)
|
||||
shared_per_thread /= threads;
|
||||
}
|
||||
|
||||
/* Account for non-inclusive L2 and L3 caches. */
|
||||
|
Loading…
Reference in New Issue
Block a user