|
Packit |
6c4009 |
# x86 specific tunables.
|
|
Packit |
6c4009 |
# Copyright (C) 2017-2018 Free Software Foundation, Inc.
|
|
Packit |
6c4009 |
# This file is part of the GNU C Library.
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
# The GNU C Library is free software; you can redistribute it and/or
|
|
Packit |
6c4009 |
# modify it under the terms of the GNU Lesser General Public
|
|
Packit |
6c4009 |
# License as published by the Free Software Foundation; either
|
|
Packit |
6c4009 |
# version 2.1 of the License, or (at your option) any later version.
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
# The GNU C Library is distributed in the hope that it will be useful,
|
|
Packit |
6c4009 |
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit |
6c4009 |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Packit |
6c4009 |
# Lesser General Public License for more details.
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
# You should have received a copy of the GNU Lesser General Public
|
|
Packit |
6c4009 |
# License along with the GNU C Library; if not, see
|
|
Packit |
6c4009 |
# <http://www.gnu.org/licenses/>.
|
|
Packit |
6c4009 |
|
|
Packit |
6c4009 |
glibc {
|
|
Packit Service |
ef7c50 |
cpu {
|
|
Packit |
6c4009 |
hwcaps {
|
|
Packit |
6c4009 |
type: STRING
|
|
Packit |
6c4009 |
}
|
|
Packit |
6c4009 |
x86_ibt {
|
|
Packit |
6c4009 |
type: STRING
|
|
Packit |
6c4009 |
}
|
|
Packit |
6c4009 |
x86_shstk {
|
|
Packit |
6c4009 |
type: STRING
|
|
Packit |
6c4009 |
}
|
|
Packit |
6c4009 |
x86_non_temporal_threshold {
|
|
Packit |
6c4009 |
type: SIZE_T
|
|
Packit |
6c4009 |
}
|
|
Packit Service |
30f484 |
x86_rep_movsb_threshold {
|
|
Packit Service |
30f484 |
type: SIZE_T
|
|
Packit Service |
30f484 |
# Since there is overhead to set up REP MOVSB operation, REP MOVSB
|
|
Packit Service |
30f484 |
# isn't faster on short data. The memcpy micro benchmark in glibc
|
|
Packit Service |
30f484 |
# shows that 2KB is the approximate value above which REP MOVSB
|
|
Packit Service |
30f484 |
# becomes faster than SSE2 optimization on processors with Enhanced
|
|
Packit Service |
30f484 |
# REP MOVSB. Since larger register size can move more data with a
|
|
Packit Service |
30f484 |
# single load and store, the threshold is higher with larger register
|
|
Packit Service |
30f484 |
# size. Note: Since the REP MOVSB threshold must be greater than 8
|
|
Packit Service |
30f484 |
# times of vector size, the minium value must be updated at run-time.
|
|
Packit Service |
30f484 |
minval: 1
|
|
Packit Service |
30f484 |
default: 2048
|
|
Packit Service |
30f484 |
}
|
|
Packit Service |
30f484 |
x86_rep_stosb_threshold {
|
|
Packit Service |
30f484 |
type: SIZE_T
|
|
Packit Service |
30f484 |
# Since there is overhead to set up REP STOSB operation, REP STOSB
|
|
Packit Service |
30f484 |
# isn't faster on short data. The memset micro benchmark in glibc
|
|
Packit Service |
30f484 |
# shows that 2KB is the approximate value above which REP STOSB
|
|
Packit Service |
30f484 |
# becomes faster on processors with Enhanced REP STOSB. Since the
|
|
Packit Service |
30f484 |
# stored value is fixed, larger register size has minimal impact
|
|
Packit Service |
30f484 |
# on threshold.
|
|
Packit Service |
30f484 |
minval: 1
|
|
Packit Service |
30f484 |
default: 2048
|
|
Packit Service |
30f484 |
}
|
|
Packit |
6c4009 |
x86_data_cache_size {
|
|
Packit |
6c4009 |
type: SIZE_T
|
|
Packit |
6c4009 |
}
|
|
Packit |
6c4009 |
x86_shared_cache_size {
|
|
Packit |
6c4009 |
type: SIZE_T
|
|
Packit |
6c4009 |
}
|
|
Packit |
6c4009 |
}
|
|
Packit |
6c4009 |
}
|