FYI, we noticed the following commit: commit: 0d708eaade1be6e0e6da453f5ddde178143b8fa1 ("x86/mm: introduce mmap_compat_base for 32-bit mmap()") url: https://github.com/0day-ci/linux/commits/Dmitry-Safonov/Fix-compatible-mmap-return-pointer-over-4Gb/20170307-183052 in testcase: libhugetlbfs with following parameters: pagesize: 2MB pagenum: 25 cpufreq_governor: performance on test machine: 48 threads 2 sockets Intel(R) Xeon(R) CPU E5-2697 v2 @ 2.70GHz with 64G memory caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace): 2017-03-08 09:13:02 obj/hugeadm --add-temp-swap=25 --pool-pages-min 2MB:25 --hard Setting up swapspace version 1, size = 50 MiB (52424704 bytes) no label, UUID=295fdfb1-1054-4692-9512-3d2e4236627f 2017-03-08 09:13:02 make check zero_filesize_segment (2M: 32): PASS zero_filesize_segment (2M: 64): PASS test_root (2M: 32): PASS test_root (2M: 64): PASS meminfo_nohuge (2M: 32): PASS meminfo_nohuge (2M: 64): PASS gethugepagesize (2M: 32): PASS gethugepagesize (2M: 64): PASS gethugepagesizes (2M: 32): PASS gethugepagesizes (2M: 64): PASS HUGETLB_VERBOSE=1 empty_mounts (2M: 32): PASS HUGETLB_VERBOSE=1 empty_mounts (2M: 64): PASS HUGETLB_VERBOSE=1 large_mounts (2M: 32): PASS HUGETLB_VERBOSE=1 large_mounts (2M: 64): PASS find_path (2M: 32): PASS find_path (2M: 64): PASS unlinked_fd (2M: 32): FAIL mmap(): Cannot allocate memory unlinked_fd (2M: 64): PASS readback (2M: 32): FAIL mmap(): Cannot allocate memory readback (2M: 64): PASS truncate (2M: 32): FAIL mmap(): Cannot allocate memory truncate (2M: 64): PASS shared (2M: 32): FAIL mmap() 1: Cannot allocate memory shared (2M: 64): PASS mprotect (2M: 32): FAIL mmap(): Cannot allocate memory mprotect (2M: 64): PASS mlock (2M: 32): FAIL mmap() failed (flags=2): Cannot allocate memory mlock (2M: 64): PASS misalign (2M: 32): FAIL mmap() without hint failed: Cannot allocate memory misalign (2M: 64): PASS fallocate_basic.sh (2M: 32): PASS fallocate_basic.sh (2M: 64): PASS fallocate_align.sh (2M: 32): PASS fallocate_align.sh (2M: 64): PASS ptrace-write-hugepage (2M: 32): FAIL mmap(): Cannot allocate memory ptrace-write-hugepage (2M: 64): PASS icache-hygiene (2M: 32): FAIL mmap() 1: Cannot allocate memory icache-hygiene (2M: 64): PASS slbpacaflush (2M: 32): FAIL mmap(): Cannot allocate memory 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: 32): FAIL mmap() 1: Cannot allocate memory map_high_truncate_2 (2M: 64): PASS misaligned_offset (2M: 32): FAIL mmap() offset 4GB: Cannot allocate memory misaligned_offset (2M: 64): PASS (inconclusive) truncate_above_4GB (2M: 32): FAIL mmap() offset 4GB: Cannot allocate memory truncate_above_4GB (2M: 64): PASS brk_near_huge (2M: 32): brk_near_huge (2M: 64): task-size-overrun (2M: 32): PASS task-size-overrun (2M: 64): PASS stack_grow_into_huge (2M: 32): PASS stack_grow_into_huge (2M: 64): PASS corrupt-by-cow-opt (2M: 32): FAIL mmap() 1: Cannot allocate memory corrupt-by-cow-opt (2M: 64): PASS noresv-preserve-resv-page (2M: 32): FAIL mmap() 1: Cannot allocate memory noresv-preserve-resv-page (2M: 64): PASS noresv-regarded-as-resv (2M: 32): FAIL mmap() 1: Cannot allocate memory noresv-regarded-as-resv (2M: 64): PASS readahead_reserve.sh (2M: 32): FAIL mmap(): Cannot allocate memory readahead_reserve.sh (2M: 64): PASS madvise_reserve.sh (2M: 32): FAIL mmap(): Cannot allocate memory madvise_reserve.sh (2M: 64): PASS fadvise_reserve.sh (2M: 32): FAIL mmap(): Cannot allocate memory fadvise_reserve.sh (2M: 64): PASS mremap-expand-slice-collision.sh (2M: 32): PASS mremap-expand-slice-collision.sh (2M: 64): PASS mremap-fixed-normal-near-huge.sh (2M: 32): FAIL mmap(): Cannot allocate memory mremap-fixed-normal-near-huge.sh (2M: 64): PASS mremap-fixed-huge-near-normal.sh (2M: 32): FAIL mmap(huge page): Cannot allocate memory mremap-fixed-huge-near-normal.sh (2M: 64): PASS set shmmax limit to 67108864 shm-perms (2M: 32): Bad configuration: Must have at least 32 free hugepages shm-perms (2M: 64): Bad configuration: Must have at least 32 free hugepages private (2M: 32): FAIL mmap() SHARED: Cannot allocate memory private (2M: 64): PASS fork-cow (2M: 32): FAIL mmap(): Cannot allocate memory fork-cow (2M: 64): PASS direct (2M: 32): Bad configuration: Failed to open direct-IO file: Invalid argument direct (2M: 64): Bad configuration: Failed to open direct-IO file: File exists malloc (2M: 32): PASS malloc (2M: 64): PASS LD_PRELOAD=libhugetlbfs.so HUGETLB_MORECORE=yes malloc (2M: 32): PASS LD_PRELOAD=libhugetlbfs.so HUGETLB_MORECORE=yes malloc (2M: 64): PASS LD_PRELOAD=libhugetlbfs.so HUGETLB_RESTRICT_EXE=unknown:none HUGETLB_MORECORE=yes malloc (2M: 32): PASS LD_PRELOAD=libhugetlbfs.so HUGETLB_RESTRICT_EXE=unknown:none HUGETLB_MORECORE=yes malloc (2M: 64): PASS LD_PRELOAD=libhugetlbfs.so HUGETLB_RESTRICT_EXE=unknown:malloc HUGETLB_MORECORE=yes malloc (2M: 32): PASS LD_PRELOAD=libhugetlbfs.so HUGETLB_RESTRICT_EXE=unknown:malloc HUGETLB_MORECORE=yes malloc (2M: 64): PASS malloc_manysmall (2M: 32): PASS malloc_manysmall (2M: 64): PASS LD_PRELOAD=libhugetlbfs.so HUGETLB_MORECORE=yes malloc_manysmall (2M: 32): PASS LD_PRELOAD=libhugetlbfs.so HUGETLB_MORECORE=yes malloc_manysmall (2M: 64): PASS heapshrink (2M: 32): PASS heapshrink (2M: 64): PASS LD_PRELOAD=libheapshrink.so heapshrink (2M: 32): PASS LD_PRELOAD=libheapshrink.so heapshrink (2M: 64): PASS LD_PRELOAD=libhugetlbfs.so HUGETLB_MORECORE=yes heapshrink (2M: 32): PASS LD_PRELOAD=libhugetlbfs.so HUGETLB_MORECORE=yes heapshrink (2M: 64): PASS LD_PRELOAD=libhugetlbfs.so libheapshrink.so HUGETLB_MORECORE=yes heapshrink (2M: 32): PASS LD_PRELOAD=libhugetlbfs.so libheapshrink.so HUGETLB_MORECORE=yes heapshrink (2M: 64): PASS LD_PRELOAD=libheapshrink.so HUGETLB_MORECORE_SHRINK=yes HUGETLB_MORECORE=yes heapshrink (2M: 32): PASS (inconclusive) LD_PRELOAD=libheapshrink.so HUGETLB_MORECORE_SHRINK=yes HUGETLB_MORECORE=yes heapshrink (2M: 64): PASS (inconclusive) LD_PRELOAD=libhugetlbfs.so libheapshrink.so HUGETLB_MORECORE_SHRINK=yes HUGETLB_MORECORE=yes heapshrink (2M: 32): PASS LD_PRELOAD=libhugetlbfs.so libheapshrink.so HUGETLB_MORECORE_SHRINK=yes HUGETLB_MORECORE=yes heapshrink (2M: 64): PASS HUGETLB_VERBOSE=1 HUGETLB_MORECORE=yes heap-overflow (2M: 32): PASS HUGETLB_VERBOSE=1 HUGETLB_MORECORE=yes heap-overflow (2M: 64): PASS HUGETLB_VERBOSE=0 linkhuge_nofd (2M: 32): PASS HUGETLB_VERBOSE=0 linkhuge_nofd (2M: 64): PASS LD_PRELOAD=libhugetlbfs.so HUGETLB_VERBOSE=0 linkhuge_nofd (2M: 32): PASS LD_PRELOAD=libhugetlbfs.so HUGETLB_VERBOSE=0 linkhuge_nofd (2M: 64): PASS HUGETLB_VERBOSE=0 xB.linkhuge_nofd (2M: 32): HUGETLB_VERBOSE=0 xB.linkhuge_nofd (2M: 64): PASS HUGETLB_VERBOSE=0 xBDT.linkhuge_nofd (2M: 32): PASS HUGETLB_VERBOSE=0 xBDT.linkhuge_nofd (2M: 64): PASS HUGETLB_VERBOSE=0 HUGETLB_MINIMAL_COPY=no xB.linkhuge_nofd (2M: 32): HUGETLB_VERBOSE=0 HUGETLB_MINIMAL_COPY=no xB.linkhuge_nofd (2M: 64): PASS HUGETLB_VERBOSE=0 HUGETLB_MINIMAL_COPY=no xBDT.linkhuge_nofd (2M: 32): PASS HUGETLB_VERBOSE=0 HUGETLB_MINIMAL_COPY=no xBDT.linkhuge_nofd (2M: 64): PASS HUGETLB_VERBOSE=0 HUGETLB_ELFMAP=no xB.linkhuge_nofd (2M: 32): HUGETLB_VERBOSE=0 HUGETLB_ELFMAP=no xB.linkhuge_nofd (2M: 64): PASS HUGETLB_VERBOSE=0 HUGETLB_ELFMAP=no xBDT.linkhuge_nofd (2M: 32): PASS HUGETLB_VERBOSE=0 HUGETLB_ELFMAP=no xBDT.linkhuge_nofd (2M: 64): PASS linkhuge (2M: 32): PASS linkhuge (2M: 64): PASS LD_PRELOAD=libhugetlbfs.so linkhuge (2M: 32): PASS LD_PRELOAD=libhugetlbfs.so linkhuge (2M: 64): PASS xB.linkhuge (2M: 32): FAIL small_bss is not hugepage xB.linkhuge (2M: 64): PASS xBDT.linkhuge (2M: 32): FAIL small_data is not hugepage xBDT.linkhuge (2M: 64): PASS HUGETLB_MINIMAL_COPY=no xB.linkhuge (2M: 32): FAIL small_bss is not hugepage HUGETLB_MINIMAL_COPY=no xB.linkhuge (2M: 64): PASS HUGETLB_MINIMAL_COPY=no xBDT.linkhuge (2M: 32): FAIL small_data is not hugepage HUGETLB_MINIMAL_COPY=no xBDT.linkhuge (2M: 64): PASS HUGETLB_ELFMAP=no xB.linkhuge (2M: 32): PASS HUGETLB_ELFMAP=no xB.linkhuge (2M: 64): PASS HUGETLB_ELFMAP=no xBDT.linkhuge (2M: 32): PASS HUGETLB_ELFMAP=no xBDT.linkhuge (2M: 64): PASS HUGETLB_SHARE=1 xB.linkshare (2M: 32): PASS HUGETLB_SHARE=1 xB.linkshare (2M: 64): PASS HUGETLB_SHARE=1 xBDT.linkshare (2M: 32): PASS HUGETLB_SHARE=1 xBDT.linkshare (2M: 64): PASS HUGETLB_SHARE=1 xB.linkshare (2M: 32): PASS HUGETLB_SHARE=1 xB.linkshare (2M: 64): PASS HUGETLB_SHARE=1 xBDT.linkshare (2M: 32): PASS HUGETLB_SHARE=1 xBDT.linkshare (2M: 64): PASS HUGETLB_SHARE=0 xB.linkhuge (2M: 32): FAIL small_bss is not hugepage HUGETLB_SHARE=0 xB.linkhuge (2M: 64): PASS HUGETLB_SHARE=1 xB.linkhuge (2M: 32): FAIL small_bss is not hugepage HUGETLB_SHARE=1 xB.linkhuge (2M: 64): PASS HUGETLB_SHARE=0 xBDT.linkhuge (2M: 32): FAIL small_data is not hugepage HUGETLB_SHARE=0 xBDT.linkhuge (2M: 64): PASS HUGETLB_SHARE=1 xBDT.linkhuge (2M: 32): FAIL small_data is not hugepage HUGETLB_SHARE=1 xBDT.linkhuge (2M: 64): PASS linkhuge_rw (2M: 32): PASS linkhuge_rw (2M: 64): PASS HUGETLB_ELFMAP=R linkhuge_rw (2M: 32): FAIL small_const is not hugepage HUGETLB_ELFMAP=R linkhuge_rw (2M: 64): FAIL small_const is not hugepage HUGETLB_ELFMAP=W linkhuge_rw (2M: 32): HUGETLB_ELFMAP=W linkhuge_rw (2M: 64): HUGETLB_ELFMAP=RW linkhuge_rw (2M: 32): HUGETLB_ELFMAP=RW linkhuge_rw (2M: 64): HUGETLB_ELFMAP=no linkhuge_rw (2M: 32): PASS HUGETLB_ELFMAP=no linkhuge_rw (2M: 64): PASS HUGETLB_ELFMAP= HUGETLB_MINIMAL_COPY=no linkhuge_rw (2M: 32): PASS HUGETLB_ELFMAP= HUGETLB_MINIMAL_COPY=no linkhuge_rw (2M: 64): PASS HUGETLB_ELFMAP=W HUGETLB_MINIMAL_COPY=no linkhuge_rw (2M: 32): FAIL small_data is not hugepage HUGETLB_ELFMAP=W HUGETLB_MINIMAL_COPY=no linkhuge_rw (2M: 64): FAIL small_data is not hugepage HUGETLB_ELFMAP=RW HUGETLB_MINIMAL_COPY=no linkhuge_rw (2M: 32): FAIL small_data is not hugepage HUGETLB_ELFMAP=RW HUGETLB_MINIMAL_COPY=no linkhuge_rw (2M: 64): FAIL small_data is not hugepage HUGETLB_SHARE=0 HUGETLB_ELFMAP=R linkhuge_rw (2M: 32): FAIL small_const is not hugepage HUGETLB_SHARE=0 HUGETLB_ELFMAP=R linkhuge_rw (2M: 64): FAIL small_const is not hugepage HUGETLB_SHARE=1 HUGETLB_ELFMAP=R linkhuge_rw (2M: 32): FAIL small_const is not hugepage HUGETLB_SHARE=1 HUGETLB_ELFMAP=R linkhuge_rw (2M: 64): FAIL small_const is not hugepage HUGETLB_SHARE=0 HUGETLB_ELFMAP=W linkhuge_rw (2M: 32): HUGETLB_SHARE=0 HUGETLB_ELFMAP=W linkhuge_rw (2M: 64): HUGETLB_SHARE=1 HUGETLB_ELFMAP=W linkhuge_rw (2M: 32): HUGETLB_SHARE=1 HUGETLB_ELFMAP=W linkhuge_rw (2M: 64): HUGETLB_SHARE=0 HUGETLB_ELFMAP=RW linkhuge_rw (2M: 32): HUGETLB_SHARE=0 HUGETLB_ELFMAP=RW linkhuge_rw (2M: 64): HUGETLB_SHARE=1 HUGETLB_ELFMAP=RW linkhuge_rw (2M: 32): HUGETLB_SHARE=1 HUGETLB_ELFMAP=RW linkhuge_rw (2M: 64): chunk-overcommit (2M: 32): FAIL mmap() chunk1: Cannot allocate memory chunk-overcommit (2M: 64): PASS alloc-instantiate-race shared (2M: 32): FAIL mmap() 1: Cannot allocate memory alloc-instantiate-race shared (2M: 64): PASS alloc-instantiate-race private (2M: 32): FAIL mmap() 1: Cannot allocate memory alloc-instantiate-race private (2M: 64): PASS truncate_reserve_wraparound (2M: 32): FAIL mmap(): Cannot allocate memory truncate_reserve_wraparound (2M: 64): PASS truncate_sigbus_versus_oom (2M: 32): FAIL mmap(): Cannot allocate memory truncate_sigbus_versus_oom (2M: 64): PASS get_huge_pages (2M: 32): FAIL get_huge_pages() for 1 hugepages get_huge_pages (2M: 64): PASS shmoverride_linked (2M: 32): PASS shmoverride_linked (2M: 64): PASS HUGETLB_SHM=yes shmoverride_linked (2M: 32): FAIL shmmat failed from line 176: Cannot allocate memory HUGETLB_SHM=yes shmoverride_linked (2M: 64): PASS shmoverride_linked_static (2M: 32): PASS shmoverride_linked_static (2M: 64): PASS HUGETLB_SHM=yes shmoverride_linked_static (2M: 32): FAIL shmmat failed from line 176: Cannot allocate memory HUGETLB_SHM=yes shmoverride_linked_static (2M: 64): PASS LD_PRELOAD=libhugetlbfs.so shmoverride_unlinked (2M: 32): PASS LD_PRELOAD=libhugetlbfs.so shmoverride_unlinked (2M: 64): PASS LD_PRELOAD=libhugetlbfs.so HUGETLB_SHM=yes shmoverride_unlinked (2M: 32): FAIL shmmat failed from line 176: Cannot allocate memory LD_PRELOAD=libhugetlbfs.so HUGETLB_SHM=yes shmoverride_unlinked (2M: 64): PASS quota.sh (2M: 32): FAIL kernel_has_private_reservations() failed quota.sh (2M: 64): PASS counters.sh (2M: 32): FAIL kernel_has_private_reservations() failed counters.sh (2M: 64): PASS mmap-gettest 10 25 (2M: 32): FAIL Failed to mmap the hugetlb file: Cannot allocate memory mmap-gettest 10 25 (2M: 64): PASS mmap-cow 24 25 (2M: 32): FAIL Failed to create shared mapping: Cannot allocate memory mmap-cow 24 25 (2M: 64): PASS set shmmax limit to 52428800 shm-fork 10 12 (2M: 32): FAIL Thread 0 (pid=4492) failed shm-fork 10 12 (2M: 64): PASS set shmmax limit to 52428800 shm-fork 10 25 (2M: 32): FAIL Thread 0 (pid=4535) failed shm-fork 10 25 (2M: 64): PASS set shmmax limit to 52428800 shm-getraw 25 /dev/full (2M: 32): FAIL shmat() failed: Cannot allocate memory shm-getraw 25 /dev/full (2M: 64): PASS fallocate_stress.sh (2M: 32): FAIL mmap(): Cannot allocate memory FAIL mmap(): FAIL mmap(): Cannot allocate memory FAIL mmap(): Cannot allocate memory fallocate_stress.sh (2M: 64): PASS ********** TEST SUMMARY * 2M * 32-bit 64-bit * Total testcases: 110 113 * Skipped: 0 0 * PASS: 45 99 * FAIL: 53 5 * Killed by signal: 10 7 * Bad configuration: 2 2 * Expected FAIL: 0 0 * Unexpected PASS: 0 0 * Strange test result: 0 0 ********** To reproduce: git clone https://github.com/01org/lkp-tests.git cd lkp-tests bin/lkp install job.yaml # job file is attached in this email bin/lkp run job.yaml Thanks, Xiaolong