diff options
| author | Dev Jain <dev.jain@arm.com> | 2025-12-10 14:50:44 +0000 |
|---|---|---|
| committer | Wilco Dijkstra <wilco.dijkstra@arm.com> | 2025-12-10 14:51:49 +0000 |
| commit | 7cee1b4b40c6b0d6498a92decbfb397ef6ffe96a (patch) | |
| tree | 76b31df70323abc06f180c0656429462c870f780 | |
| parent | 321e1fc73f53081d92ba357cdd48c56b79292020 (diff) | |
| download | glibc-master.zip glibc-master.tar.gz glibc-master.tar.bz2 | |
Add missing files from previous commit.
| -rw-r--r-- | sysdeps/generic/malloc-hugepages.h | 4 | ||||
| -rw-r--r-- | sysdeps/unix/sysv/linux/aarch64/malloc-hugepages.h | 21 | ||||
| -rw-r--r-- | sysdeps/unix/sysv/linux/malloc-hugepages.c | 3 |
3 files changed, 28 insertions, 0 deletions
diff --git a/sysdeps/generic/malloc-hugepages.h b/sysdeps/generic/malloc-hugepages.h index 076f03d..9c034e8 100644 --- a/sysdeps/generic/malloc-hugepages.h +++ b/sysdeps/generic/malloc-hugepages.h @@ -41,4 +41,8 @@ enum malloc_thp_mode_t __malloc_thp_mode (void) attribute_hidden; void __malloc_hugepage_config (size_t requested, size_t *pagesize, int *flags) attribute_hidden; +#ifndef DEFAULT_THP_PAGESIZE +# define DEFAULT_THP_PAGESIZE 0 +#endif + #endif /* _MALLOC_HUGEPAGES_H */ diff --git a/sysdeps/unix/sysv/linux/aarch64/malloc-hugepages.h b/sysdeps/unix/sysv/linux/aarch64/malloc-hugepages.h new file mode 100644 index 0000000..f432ff7 --- /dev/null +++ b/sysdeps/unix/sysv/linux/aarch64/malloc-hugepages.h @@ -0,0 +1,21 @@ +/* Huge Page support. Aarch64 Linux implementation. + Copyright (C) 2021-2025 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; see the file COPYING.LIB. If + not, see <https://www.gnu.org/licenses/>. */ + +# define DEFAULT_THP_PAGESIZE 1UL << 21 + +#include_next <malloc-hugepages.h> diff --git a/sysdeps/unix/sysv/linux/malloc-hugepages.c b/sysdeps/unix/sysv/linux/malloc-hugepages.c index e23cdfb..9776ba4 100644 --- a/sysdeps/unix/sysv/linux/malloc-hugepages.c +++ b/sysdeps/unix/sysv/linux/malloc-hugepages.c @@ -25,6 +25,9 @@ unsigned long int __malloc_default_thp_pagesize (void) { + if (DEFAULT_THP_PAGESIZE != 0) + return DEFAULT_THP_PAGESIZE; + int fd = __open64_nocancel ( "/sys/kernel/mm/transparent_hugepage/hpage_pmd_size", O_RDONLY); if (fd == -1) |
