po/*: regenerate (only line number changes)
[glibc.git] / sysdeps / x86 / dl-tunables.list
bloba0a12995927dc4f1bd8b9bc52f634c3b82b67d09
1 # x86 specific tunables.
2 # Copyright (C) 2017-2024 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/>.
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_memset_non_temporal_threshold {
34       type: SIZE_T
35     }
36     x86_rep_movsb_threshold {
37       type: SIZE_T
38       # Since there is overhead to set up REP MOVSB operation, REP
39       # MOVSB isn't faster on short data.  The memcpy micro benchmark
40       # in glibc shows that 2KB is the approximate value above which
41       # REP MOVSB becomes faster than SSE2 optimization on processors
42       # with Enhanced REP MOVSB.  Since larger register size can move
43       # more data with a single load and store, the threshold is
44       # higher with larger register size.  Micro benchmarks show AVX
45       # REP MOVSB becomes faster apprximately at 8KB.  The AVX512
46       # threshold is extrapolated to 16KB.  For machines with FSRM the
47       # threshold is universally set at 2112 bytes.  Note: Since the
48       # REP MOVSB threshold must be greater than 8 times of vector
49       # size and the default value is 4096 * (vector size / 16), the
50       # default value and the minimum value must be updated at
51       # run-time.  NB: Don't set the default value since we can't tell
52       # if the tunable value is set by user or not [BZ #27069].
53       minval: 1
54     }
55     x86_rep_stosb_threshold {
56       type: SIZE_T
57       # Since there is overhead to set up REP STOSB operation, REP STOSB
58       # isn't faster on short data.  The memset micro benchmark in glibc
59       # shows that 2KB is the approximate value above which REP STOSB
60       # becomes faster on processors with Enhanced REP STOSB.  Since the
61       # stored value is fixed, larger register size has minimal impact
62       # on threshold.
63       minval: 1
64       default: 2048
65     }
66     x86_data_cache_size {
67       type: SIZE_T
68     }
69     x86_shared_cache_size {
70       type: SIZE_T
71     }
72     plt_rewrite {
73       type: INT_32
74       minval: 0
75       maxval: 2
76     }
77   }