]> git.ipfire.org Git - thirdparty/glibc.git/blob - sysdeps/x86/dl-tunables.list
Update copyright dates with scripts/update-copyrights
[thirdparty/glibc.git] / sysdeps / x86 / dl-tunables.list
1 # x86 specific tunables.
2 # Copyright (C) 2017-2022 Free Software Foundation, Inc.
3 # This file is part of the GNU C Library.
4
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.
9
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.
14
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/>.
18
19 glibc {
20 cpu {
21 hwcaps {
22 type: STRING
23 }
24 x86_ibt {
25 type: STRING
26 }
27 x86_shstk {
28 type: STRING
29 }
30 x86_non_temporal_threshold {
31 type: SIZE_T
32 }
33 x86_rep_movsb_threshold {
34 type: SIZE_T
35 # Since there is overhead to set up REP MOVSB operation, REP
36 # MOVSB isn't faster on short data. The memcpy micro benchmark
37 # in glibc shows that 2KB is the approximate value above which
38 # REP MOVSB becomes faster than SSE2 optimization on processors
39 # with Enhanced REP MOVSB. Since larger register size can move
40 # more data with a single load and store, the threshold is
41 # higher with larger register size. Micro benchmarks show AVX
42 # REP MOVSB becomes faster apprximately at 8KB. The AVX512
43 # threshold is extrapolated to 16KB. For machines with FSRM the
44 # threshold is universally set at 2112 bytes. Note: Since the
45 # REP MOVSB threshold must be greater than 8 times of vector
46 # size and the default value is 4096 * (vector size / 16), the
47 # default value and the minimum value must be updated at
48 # run-time. NB: Don't set the default value since we can't tell
49 # if the tunable value is set by user or not [BZ #27069].
50 minval: 1
51 }
52 x86_rep_stosb_threshold {
53 type: SIZE_T
54 # Since there is overhead to set up REP STOSB operation, REP STOSB
55 # isn't faster on short data. The memset micro benchmark in glibc
56 # shows that 2KB is the approximate value above which REP STOSB
57 # becomes faster on processors with Enhanced REP STOSB. Since the
58 # stored value is fixed, larger register size has minimal impact
59 # on threshold.
60 minval: 1
61 default: 2048
62 }
63 x86_data_cache_size {
64 type: SIZE_T
65 }
66 x86_shared_cache_size {
67 type: SIZE_T
68 }
69 }
70 }