1 # x86 specific tunables.
2 # Copyright (C) 2017-2021 Free Software Foundation, Inc.
3 # This file is part of the GNU C Library.
5 # The GNU C Library is free software; you can redistribute it and/or
6 # modify it under the terms of the GNU Lesser General Public
7 # License as published by the Free Software Foundation; either
8 # version 2.1 of the License, or (at your option) any later version.
10 # The GNU C Library is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 # Lesser General Public License for more details.
15 # You should have received a copy of the GNU Lesser General Public
16 # License along with the GNU C Library; if not, see
17 # <https://www.gnu.org/licenses/>.
30 x86_non_temporal_threshold {
33 x86_rep_movsb_threshold {
35 # Since there is overhead to set up REP MOVSB operation, REP MOVSB
36 # isn't faster on short data. The memcpy micro benchmark in glibc
37 # shows that 2KB is the approximate value above which REP MOVSB
38 # becomes faster than SSE2 optimization on processors with Enhanced
39 # REP MOVSB. Since larger register size can move more data with a
40 # single load and store, the threshold is higher with larger register
41 # size. Note: Since the REP MOVSB threshold must be greater than 8
42 # times of vector size and the default value is 2048 * (vector size
43 # / 16), the default value and the minimum value must be updated at
44 # run-time. NB: Don't set the default value since we can't tell if
45 # the tunable value is set by user or not [BZ #27069].
48 x86_rep_stosb_threshold {
50 # Since there is overhead to set up REP STOSB operation, REP STOSB
51 # isn't faster on short data. The memset micro benchmark in glibc
52 # shows that 2KB is the approximate value above which REP STOSB
53 # becomes faster on processors with Enhanced REP STOSB. Since the
54 # stored value is fixed, larger register size has minimal impact
62 x86_shared_cache_size {