mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-21 01:12:26 +08:00
d5c3fafc43
* config.make.in: Enable experimental malloc option. * configure.ac: Likewise. * configure: Regenerate. * manual/install.texi: Document it. * INSTALL: Regenerate. * malloc/Makefile: Likewise. * malloc/malloc.c: Add per-thread cache (tcache). (tcache_put): New. (tcache_get): New. (tcache_thread_freeres): New. (tcache_init): New. (__libc_malloc): Use cached chunks if available. (__libc_free): Initialize tcache if needed. (__libc_realloc): Likewise. (__libc_calloc): Likewise. (_int_malloc): Prefill tcache when appropriate. (_int_free): Likewise. (do_set_tcache_max): New. (do_set_tcache_count): New. (do_set_tcache_unsorted_limit): New. * manual/probes.texi: Document new probes. * malloc/arena.c: Add new tcache tunables. * elf/dl-tunables.list: Likewise. * manual/tunables.texi: Document them. * NEWS: Mention the per-thread cache.
100 lines
2.6 KiB
Plaintext
100 lines
2.6 KiB
Plaintext
# Copyright (C) 2016-2017 Free Software Foundation, Inc.
|
|
# This file is part of the GNU C Library.
|
|
|
|
# The GNU C Library is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU Lesser General Public
|
|
# License as published by the Free Software Foundation; either
|
|
# version 2.1 of the License, or (at your option) any later version.
|
|
|
|
# The GNU C Library is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
# Lesser General Public License for more details.
|
|
|
|
# You should have received a copy of the GNU Lesser General Public
|
|
# License along with the GNU C Library; if not, see
|
|
# <http://www.gnu.org/licenses/>.
|
|
|
|
# Allowed attributes for tunables:
|
|
#
|
|
# type: Defaults to STRING
|
|
# minval: Optional minimum acceptable value
|
|
# maxval: Optional maximum acceptable value
|
|
# env_alias: An alias environment variable
|
|
# security_level: Specify security level of the tunable. Valid values are:
|
|
#
|
|
# SXID_ERASE: (default) Don't read for AT_SECURE binaries and
|
|
# removed so that child processes can't read it.
|
|
# SXID_IGNORE: Don't read for AT_SECURE binaries, but retained for
|
|
# non-AT_SECURE subprocesses.
|
|
# NONE: Read all the time.
|
|
|
|
glibc {
|
|
malloc {
|
|
check {
|
|
type: INT_32
|
|
minval: 0
|
|
maxval: 3
|
|
env_alias: MALLOC_CHECK_
|
|
}
|
|
top_pad {
|
|
type: SIZE_T
|
|
env_alias: MALLOC_TOP_PAD_
|
|
security_level: SXID_IGNORE
|
|
}
|
|
perturb {
|
|
type: INT_32
|
|
minval: 0
|
|
maxval: 0xff
|
|
env_alias: MALLOC_PERTURB_
|
|
security_level: SXID_IGNORE
|
|
}
|
|
mmap_threshold {
|
|
type: SIZE_T
|
|
env_alias: MALLOC_MMAP_THRESHOLD_
|
|
security_level: SXID_IGNORE
|
|
}
|
|
trim_threshold {
|
|
type: SIZE_T
|
|
env_alias: MALLOC_TRIM_THRESHOLD_
|
|
security_level: SXID_IGNORE
|
|
}
|
|
mmap_max {
|
|
type: INT_32
|
|
env_alias: MALLOC_MMAP_MAX_
|
|
security_level: SXID_IGNORE
|
|
}
|
|
arena_max {
|
|
type: SIZE_T
|
|
env_alias: MALLOC_ARENA_MAX
|
|
minval: 1
|
|
security_level: SXID_IGNORE
|
|
}
|
|
arena_test {
|
|
type: SIZE_T
|
|
env_alias: MALLOC_ARENA_TEST
|
|
minval: 1
|
|
security_level: SXID_IGNORE
|
|
}
|
|
tcache_max {
|
|
type: SIZE_T
|
|
security_level: SXID_ERASE
|
|
}
|
|
tcache_count {
|
|
type: SIZE_T
|
|
security_level: SXID_ERASE
|
|
}
|
|
tcache_unsorted_limit {
|
|
type: SIZE_T
|
|
security_level: SXID_ERASE
|
|
}
|
|
}
|
|
tune {
|
|
hwcap_mask {
|
|
type: UINT_64
|
|
env_alias: LD_HWCAP_MASK
|
|
default: HWCAP_IMPORTANT
|
|
}
|
|
}
|
|
}
|