Message ID | 20230811003109.3046769-1-goldstein.w.n@gmail.com |
---|---|
State | New |
Headers | show |
Series | [v1] x86: Fix incorrect scope of setting `shared_per_thread` | expand |
On Thu, Aug 10, 2023 at 5:31 PM Noah Goldstein <goldstein.w.n@gmail.com> wrote: > > 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 (before af992e7abd). > > This patch fixes that by putting the division after the `else` block. Since it is a regression, we should open a bug and backport this fix. > --- > sysdeps/x86/dl-cacheinfo.h | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/sysdeps/x86/dl-cacheinfo.h b/sysdeps/x86/dl-cacheinfo.h > index 285773039f..88316a7818 100644 > --- a/sysdeps/x86/dl-cacheinfo.h > +++ b/sysdeps/x86/dl-cacheinfo.h > @@ -770,11 +770,10 @@ get_common_cache_info (long int *shared_ptr, long int * shared_per_thread_ptr, u > level. */ > threads = ((cpu_features->features[CPUID_INDEX_1].cpuid.ebx >> 16) > & 0xff); > - > + } > /* Get per-thread size of highest level cache. */ > if (shared_per_thread > 0 && threads > 0) > shared_per_thread /= threads; > - } > } > > /* Account for non-inclusive L2 and L3 caches. */ > -- > 2.34.1 >
On Thu, Aug 10, 2023 at 8:38 PM H.J. Lu <hjl.tools@gmail.com> wrote: > > On Thu, Aug 10, 2023 at 5:31 PM Noah Goldstein <goldstein.w.n@gmail.com> wrote: > > > > 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 (before af992e7abd). > > > > This patch fixes that by putting the division after the `else` block. > > Since it is a regression, we should open a bug and backport this > fix. Done: See https://sourceware.org/bugzilla/show_bug.cgi?id=30745 FYI: I changed title to include BZ number so doesn't reply in chain. > > > --- > > sysdeps/x86/dl-cacheinfo.h | 3 +-- > > 1 file changed, 1 insertion(+), 2 deletions(-) > > > > diff --git a/sysdeps/x86/dl-cacheinfo.h b/sysdeps/x86/dl-cacheinfo.h > > index 285773039f..88316a7818 100644 > > --- a/sysdeps/x86/dl-cacheinfo.h > > +++ b/sysdeps/x86/dl-cacheinfo.h > > @@ -770,11 +770,10 @@ get_common_cache_info (long int *shared_ptr, long int * shared_per_thread_ptr, u > > level. */ > > threads = ((cpu_features->features[CPUID_INDEX_1].cpuid.ebx >> 16) > > & 0xff); > > - > > + } > > /* Get per-thread size of highest level cache. */ > > if (shared_per_thread > 0 && threads > 0) > > shared_per_thread /= threads; > > - } > > } > > > > /* Account for non-inclusive L2 and L3 caches. */ > > -- > > 2.34.1 > > > > > -- > H.J.
diff --git a/sysdeps/x86/dl-cacheinfo.h b/sysdeps/x86/dl-cacheinfo.h index 285773039f..88316a7818 100644 --- a/sysdeps/x86/dl-cacheinfo.h +++ b/sysdeps/x86/dl-cacheinfo.h @@ -770,11 +770,10 @@ get_common_cache_info (long int *shared_ptr, long int * shared_per_thread_ptr, u level. */ threads = ((cpu_features->features[CPUID_INDEX_1].cpuid.ebx >> 16) & 0xff); - + } /* Get per-thread size of highest level cache. */ if (shared_per_thread > 0 && threads > 0) shared_per_thread /= threads; - } } /* Account for non-inclusive L2 and L3 caches. */