meta-openembedded/meta-oe/recipes-benchmark/libhugetlbfs/files/0007-Mark-glibc-specific-code-so.patch
Yi Zhao 47ee82f084
libhugetlbfs: upgrade 2.23 -> 2.24
ChangeLog:
https://github.com/libhugetlbfs/libhugetlbfs/blob/2.24/NEWS

* Refresh patches
* Drop backport patches
* Inherit autotools-brokensep since it has switched to automake
* Add a patch to fix build on musl

Test Results:
$ mkdir -p /mnt/hugetlbfs
$ mount -t hugetlbfs none /mnt/hugetlbfs

$ hugeadm --pool-pages-min 2MB:64
$ hugeadm --pool-pages-max 2MB:256

$ cd /usr/lib/libhugetlbfs/tests/
$ ./run_tests.py
PASS
zero_filesize_segment (2M: 64): PASS
test_root (2M: 64):     PASS
meminfo_nohuge (2M: 64):        PASS
gethugepagesize (2M: 64):       PASS
gethugepagesizes (2M: 64):      PASS
HUGETLB_VERBOSE=1 empty_mounts (2M: 64):        PASS
HUGETLB_VERBOSE=1 large_mounts (2M: 64):        PASS
find_path (2M: 64):     PASS
unlinked_fd (2M: 64):   PASS
readback (2M: 64):      PASS
truncate (2M: 64):      PASS
shared (2M: 64):        PASS
mprotect (2M: 64):      PASS
mlock (2M: 64): PASS
misalign (2M: 64):      PASS
fallocate_basic.sh (2M: 64):    PASS
fallocate_align.sh (2M: 64):    PASS
ptrace-write-hugepage (2M: 64): PASS
icache-hygiene (2M: 64):        PASS
slbpacaflush (2M: 64):  PASS (inconclusive)
straddle_4GB_static (2M: 64):   PASS
huge_at_4GB_normal_below_static (2M: 64):       PASS
huge_below_4GB_normal_above_static (2M: 64):    PASS
map_high_truncate_2 (2M: 64):   PASS
misaligned_offset (2M: 64):     PASS (inconclusive)
truncate_above_4GB (2M: 64):    PASS
brk_near_huge (2M: 64): Fatal glibc error: malloc.c:2599 (sysmalloc): assertion failed: (old_top == initial_top (av) && old_size = = 0) || ((unsigned long) (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) old_end & (pagesize - 1)) == 0)
task-size-overrun (2M: 64):     PASS
stack_grow_into_huge (2M: 64):  PASS
corrupt-by-cow-opt (2M: 64):    PASS
noresv-preserve-resv-page (2M: 64):     PASS
noresv-regarded-as-resv (2M: 64):       PASS
readahead_reserve.sh (2M: 64):  PASS
madvise_reserve.sh (2M: 64):    PASS
fadvise_reserve.sh (2M: 64):    PASS
mremap-expand-slice-collision.sh (2M: 64):      PASS
mremap-fixed-normal-near-huge.sh (2M: 64):      PASS
mremap-fixed-huge-near-normal.sh (2M: 64):      PASS
set shmmax limit to 67108864
shm-perms (2M: 64):     PASS
private (2M: 64):       PASS
fork-cow (2M: 64):      PASS
direct (2M: 64):        PASS
malloc (2M: 64):        PASS
LD_PRELOAD=libhugetlbfs.so HUGETLB_MORECORE=yes malloc (2M: 64):        SKIPPED
LD_PRELOAD=libhugetlbfs.so HUGETLB_MORECORE=yes HUGETLB_RESTRICT_EXE=unknown:none malloc (2M: 64):      SKIPPED
LD_PRELOAD=libhugetlbfs.so HUGETLB_MORECORE=yes HUGETLB_RESTRICT_EXE=unknown:malloc malloc (2M: 64):    SKIPPED
malloc_manysmall (2M: 64):      PASS
LD_PRELOAD=libhugetlbfs.so HUGETLB_MORECORE=yes malloc_manysmall (2M: 64):      SKIPPED
GLIBC_TUNABLES=glibc.malloc.tcache_count=0 heapshrink (2M: 64): PASS
GLIBC_TUNABLES=glibc.malloc.tcache_count=0 LD_PRELOAD=libheapshrink.so heapshrink (2M: 64):     PASS
GLIBC_TUNABLES=glibc.malloc.tcache_count=0 LD_PRELOAD=libhugetlbfs.so HUGETLB_MORECORE=yes heapshrink (2M: 64): SKIPPED
GLIBC_TUNABLES=glibc.malloc.tcache_count=0 LD_PRELOAD=libhugetlbfs.so libheapshrink.so HUGETLB_MORECORE=yes heapshrink (2M: 64): SKIPPED
GLIBC_TUNABLES=glibc.malloc.tcache_count=0 LD_PRELOAD=libheapshrink.so HUGETLB_MORECORE=yes HUGETLB_MORECORE_SHRINK=yes heapshrink (2M: 64):      SKIPPED
GLIBC_TUNABLES=glibc.malloc.tcache_count=0 LD_PRELOAD=libhugetlbfs.so libheapshrink.so HUGETLB_MORECORE=yes HUGETLB_MORECORE_SHRINK=yes heapshrink (2M: 64):      SKIPPED
HUGETLB_VERBOSE=1 HUGETLB_MORECORE=yes heap-overflow (2M: 64):  SKIPPED
HUGETLB_VERBOSE=0 linkhuge_nofd (2M: 64):       PASS
LD_PRELOAD=libhugetlbfs.so HUGETLB_VERBOSE=0 linkhuge_nofd (2M: 64):    PASS
linkhuge (2M: 64):      PASS
LD_PRELOAD=libhugetlbfs.so linkhuge (2M: 64):   PASS
linkhuge_rw (2M: 64):   PASS
HUGETLB_ELFMAP=R linkhuge_rw (2M: 64):  PASS
HUGETLB_ELFMAP=W linkhuge_rw (2M: 64):  PASS
HUGETLB_ELFMAP=RW linkhuge_rw (2M: 64): PASS
HUGETLB_ELFMAP=no linkhuge_rw (2M: 64): PASS
HUGETLB_MINIMAL_COPY=no HUGETLB_ELFMAP=R linkhuge_rw (2M: 64):  PASS
HUGETLB_MINIMAL_COPY=no HUGETLB_ELFMAP=W linkhuge_rw (2M: 64):  PASS
HUGETLB_MINIMAL_COPY=no HUGETLB_ELFMAP=RW linkhuge_rw (2M: 64): PASS
HUGETLB_ELFMAP=R HUGETLB_SHARE=0 linkhuge_rw (2M: 64):  PASS
HUGETLB_ELFMAP=R HUGETLB_SHARE=1 linkhuge_rw (2M: 64):  PASS
HUGETLB_ELFMAP=W HUGETLB_SHARE=0 linkhuge_rw (2M: 64):  PASS
HUGETLB_ELFMAP=W HUGETLB_SHARE=1 linkhuge_rw (2M: 64):  PASS
HUGETLB_ELFMAP=RW HUGETLB_SHARE=0 linkhuge_rw (2M: 64): PASS
HUGETLB_ELFMAP=RW HUGETLB_SHARE=1 linkhuge_rw (2M: 64): PASS
chunk-overcommit (2M: 64):      PASS
alloc-instantiate-race shared (2M: 64): PASS
alloc-instantiate-race private (2M: 64):        PASS
truncate_reserve_wraparound (2M: 64):   PASS
truncate_sigbus_versus_oom (2M: 64):    PASS
get_huge_pages (2M: 64):        PASS
shmoverride_linked (2M: 64):    PASS
HUGETLB_SHM=yes shmoverride_linked (2M: 64):    PASS
LD_PRELOAD=libhugetlbfs.so shmoverride_unlinked (2M: 64):       PASS
LD_PRELOAD=libhugetlbfs.so HUGETLB_SHM=yes shmoverride_unlinked (2M: 64):       PASS
quota.sh (2M: 64):      PASS
counters.sh (2M: 64):   PASS
mmap-gettest 10 64 (2M: 64):    PASS
mmap-cow 63 64 (2M: 64):        PASS
set shmmax limit to 134217728
shm-fork 10 32 (2M: 64):        PASS
set shmmax limit to 134217728
shm-fork 10 64 (2M: 64):        PASS
set shmmax limit to 134217728
shm-getraw 64 /dev/full (2M: 64):       PASS
fallocate_stress.sh (2M: 64):   PASS
********** TEST SUMMARY
*                      2M
*                      32-bit 64-bit
*     Total testcases:     0     91
*             Skipped:     0      9
*                PASS:     0     81
*                FAIL:     0      0
*    Killed by signal:     0      1
*   Bad configuration:     0      0
*       Expected FAIL:     0      0
*     Unexpected PASS:     0      0
*    Test not present:     0      0
* Strange test result:     0      0
**********

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-10-07 23:18:54 -07:00

43 lines
1.2 KiB
Diff

From c98e64c56d0118a2d5f950eaceaed0e85eaa2543 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 21 Jun 2018 19:32:59 -0700
Subject: [PATCH] Mark glibc specific code so
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
morecore.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/morecore.c b/morecore.c
index 0edccd2..db22216 100644
--- a/morecore.c
+++ b/morecore.c
@@ -371,6 +371,7 @@ void hugetlbfs_setup_morecore(void)
INFO("setup_morecore(): heapaddr = 0x%lx\n", heapaddr);
+#ifdef __GLIBC__
heaptop = heapbase = (void *)heapaddr;
if (__hugetlb_opts.thp_morecore)
__morecore = &thp_morecore;
@@ -378,7 +379,6 @@ void hugetlbfs_setup_morecore(void)
__morecore = &hugetlbfs_morecore;
/* Set some allocator options more appropriate for hugepages */
-
if (__hugetlb_opts.shrink_ok)
mallopt(M_TRIM_THRESHOLD, hpage_size + hpage_size / 2);
else
@@ -388,5 +388,6 @@ void hugetlbfs_setup_morecore(void)
* This doesn't appear to prohibit malloc() from falling back
* to mmap() if we run out of hugepages. */
mallopt(M_MMAP_MAX, 0);
+#endif
}
#endif /* HAS_MORECORE */
--
2.25.1