[v1] x86: Fix incorrect scope of setting `shared_per_thread`
Checks
Context |
Check |
Description |
redhat-pt-bot/TryBot-apply_patch |
success
|
Patch applied to master at the time it was sent
|
linaro-tcwg-bot/tcwg_glibc_check--master-aarch64 |
success
|
Testing passed
|
redhat-pt-bot/TryBot-32bit |
success
|
Build for i686
|
linaro-tcwg-bot/tcwg_glibc_check--master-arm |
success
|
Testing passed
|
linaro-tcwg-bot/tcwg_glibc_build--master-aarch64 |
success
|
Testing passed
|
linaro-tcwg-bot/tcwg_glibc_build--master-arm |
success
|
Testing passed
|
Commit Message
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.
---
sysdeps/x86/dl-cacheinfo.h | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
Comments
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.
@@ -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. */