[PATCH v1] x86: Fix value for `x86_memset_non_temporal_threshold` when it is undesirable

Sunil Pandey skpgkp2@gmail.com
Thu Dec 12 01:23:33 GMT 2024


On Fri, Jun 14, 2024 at 2:46 PM H.J. Lu <hjl.tools@gmail.com> wrote:

> On Fri, Jun 14, 2024 at 11:02 AM Noah Goldstein <goldstein.w.n@gmail.com>
> wrote:
> >
> > When we don't want to use non-temporal stores for memset, we set
> > `x86_memset_non_temporal_threshold` to SIZE_MAX.
> >
> > The current code, however, we using `maximum_non_temporal_threshold`
> > as the upper bound which is `SIZE_MAX >> 4` so we ended up with a
> > value of `0`.
> >
> > Fix is to just use `SIZE_MAX` as the upper bound for when setting the
> > tunable.
> > ---
> >  sysdeps/x86/dl-cacheinfo.h | 6 +++---
> >  1 file changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/sysdeps/x86/dl-cacheinfo.h b/sysdeps/x86/dl-cacheinfo.h
> > index d2fe61b997..3a6ec4ef9f 100644
> > --- a/sysdeps/x86/dl-cacheinfo.h
> > +++ b/sysdeps/x86/dl-cacheinfo.h
> > @@ -1044,9 +1044,9 @@ dl_init_cacheinfo (struct cpu_features
> *cpu_features)
> >    TUNABLE_SET_WITH_BOUNDS (x86_non_temporal_threshold,
> non_temporal_threshold,
> >                            minimum_non_temporal_threshold,
> >                            maximum_non_temporal_threshold);
> > -  TUNABLE_SET_WITH_BOUNDS (
> > -      x86_memset_non_temporal_threshold, memset_non_temporal_threshold,
> > -      minimum_non_temporal_threshold, maximum_non_temporal_threshold);
> > +  TUNABLE_SET_WITH_BOUNDS (x86_memset_non_temporal_threshold,
> > +                          memset_non_temporal_threshold,
> > +                          minimum_non_temporal_threshold, SIZE_MAX);
> >    TUNABLE_SET_WITH_BOUNDS (x86_rep_movsb_threshold, rep_movsb_threshold,
> >                            minimum_rep_movsb_threshold, SIZE_MAX);
> >    TUNABLE_SET_WITH_BOUNDS (x86_rep_stosb_threshold,
> rep_stosb_threshold, 1,
> > --
> > 2.34.1
> >
>
> LGTM.
>
> Reviewed-by: H.J. Lu <hjl.tools@gmail.com>
>
> Thanks.
>
> --
> H.J.
>

I would like to backport this patch to release branches.
Any comments or objections?

--Sunil
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://sourceware.org/pipermail/libc-alpha/attachments/20241211/2967e9e9/attachment-0001.htm>


More information about the Libc-alpha mailing list