pkey01, futex_wake04 and memfd_create03 from ubuntu_ltp_syscalls failed with kvm kernel (Fail to open /proc/sys/vm/compact_memory for writing)

Bug #2046148 reported by Po-Hsu Lin
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ubuntu-kernel-tests
New
Undecided
Unassigned

Bug Description

This issue pops up after updating to the latest tip of LTP test suite (commit 776b57984 "rwtest: Remove df symlink check")

These failures are limited to kvm kernels and they're all failing with the same error message. memfd_create03 failure can only be found on newer kernels as it requires 4.14+.
Bisect shows this issue is caused by acf46111b5 "hugetlb: compacting memory to reduce fragmental pages" [1]

Test log for pkey01:
<<<test_start>>>
tag=pkey01 stime=1702291503
cmdline="pkey01"
contacts=""
analysis=exit
<<<test_output>>>
incrementing stop
tst_hugepage.c:50: TBROK: Failed to open FILE '/proc/sys/vm/compact_memory' for writing: ENOENT (2)
<<<execution_status>>>
initiation_status="ok"
duration=0 termination_type=exited termination_id=2 corefile=no
cutime=0 cstime=24
<<<test_end>>>

Test log for futex_wake04:
<<<test_start>>>
tag=futex_wake04 stime=1702291801
cmdline="futex_wake04"
contacts=""
analysis=exit
<<<test_output>>>
incrementing stop
tst_hugepage.c:50: TBROK: Failed to open FILE '/proc/sys/vm/compact_memory' for writing: ENOENT (2)
<<<execution_status>>>
initiation_status="ok"
duration=0 termination_type=exited termination_id=2 corefile=no
cutime=0 cstime=0
<<<test_end>>>

Test log for memfd_create03:
INFO: Test start time: Wed Dec 13 12:08:19 UTC 2023
COMMAND: /opt/ltp/bin/ltp-pan -q -e -S -a 869738 -n 869738 -f /tmp/ltp-fjHcQSE5qj/alltests -l /dev/null -C /dev/null -T /dev/null
LOG File: /dev/null
FAILED COMMAND File: /dev/null
TCONF COMMAND File: /dev/null
Running tests.......
tst_hugepage.c:50: TBROK: Failed to open FILE '/proc/sys/vm/compact_memory' for writing: ENOENT (2)
INFO: ltp-pan reported some tests FAIL
LTP Version: 20230929
INFO: Test end time: Wed Dec 13 12:08:19 UTC 2023

Before this change the pkey01 test will be skipped with:
<<<test_start>>>
tag=pkey01 stime=1702290779
cmdline="pkey01"
contacts=""
analysis=exit
<<<test_output>>>
incrementing stop
tst_hugepage.c:83: TINFO: 1 hugepage(s) reserved
tst_test.c:1560: TINFO: Timeout per run is 0h 00m 30s
pkey.h:27: TCONF: syscall(330) __NR_pkey_alloc not supported on your arch

Summary:
passed 0
failed 0
broken 0
skipped 1
warnings 0
<<<execution_status>>>
initiation_status="ok"
duration=0 termination_type=exited termination_id=32 corefile=no
cutime=0 cstime=0
<<<test_end>>>

The futex_wake04 test will pass with:
<<<test_start>>>
tag=futex_wake04 stime=1702292456
cmdline="futex_wake04"
contacts=""
analysis=exit
<<<test_output>>>
incrementing stop
tst_hugepage.c:83: TINFO: 1 hugepage(s) reserved
tst_test.c:1560: TINFO: Timeout per run is 0h 00m 30s
futex_wake04.c:52: TINFO: Testing variant: syscall with old kernel spec
futex_wake04.c:90: TINFO: Hugepagesize 2097152
futex_utils.h:59: TINFO: Thread 17485 not sleeping yet
futex_wake04.c:75: TPASS: Hi hydra, thread2 awake!

Summary:
passed 1
failed 0
broken 0
skipped 0
warnings 0
<<<execution_status>>>

The memfd_create03 test will pass with:
INFO: Test start time: Sat Oct 21 02:09:35 UTC 2023
COMMAND: /opt/ltp/bin/ltp-pan -q -e -S -a 868820 -n 868820 -f /tmp/ltp-a3y6bz0RdQ/alltests -l /dev/null -C /dev/null -T /dev/null
LOG File: /dev/null
FAILED COMMAND File: /dev/null
TCONF COMMAND File: /dev/null
Running tests.......
tst_hugepage.c:83: TINFO: 1 hugepage(s) reserved
tst_test.c:1558: TINFO: Timeout per run is 0h 00m 30s
memfd_create03.c:171: TINFO: --TESTING WRITE CALL IN HUGEPAGES--
memfd_create03.c:176: TINFO: memfd_create() succeeded
memfd_create03.c:70: TPASS: write(3, "LTP", 3) failed as expected

memfd_create03.c:171: TINFO: --TESTING PAGE SIZE OF CREATED FILE--
memfd_create03.c:176: TINFO: memfd_create() succeeded
memfd_create03.c:43: TINFO: mmap((nil), 2097152, 2, 2, 3, 0) succeeded
memfd_create03.c:92: TINFO: munmap(0x7fd6d3600000, 512kB) failed as expected
memfd_create03.c:92: TINFO: munmap(0x7fd6d3600000, 1024kB) failed as expected
memfd_create03.c:92: TINFO: munmap(0x7fd6d3600000, 1536kB) failed as expected
memfd_create03.c:111: TPASS: munmap() fails for page sizes less than 2048kB

memfd_create03.c:171: TINFO: --TESTING HUGEPAGE ALLOCATION LIMIT--
memfd_create03.c:176: TINFO: memfd_create() succeeded
memfd_create03.c:43: TINFO: mmap((nil), 2097152, 2, 2, 3, 0) succeeded
memfd_create03.c:131: TINFO: memfd_create() succeeded
memfd_create03.c:136: TPASS: mmap((nil), 2097152, 0, 2, 4, 0) failed as expected

Summary:
passed 3
failed 0
broken 0
skipped 0
warnings 0
INFO: ltp-pan reported all tests PASS
LTP Version: 20230516
INFO: Test end time: Sat Oct 21 02:09:35 UTC 2023

[1] https://github.com/linux-test-project/ltp/commit/acf46111b5cc0f4bfb2309a797f5b1a937e47ff8

Po-Hsu Lin (cypressyew)
summary: - pkey01 from ubuntu_ltp_syscalls failed with X-kvm (Fail to open
- /proc/sys/vm/compact_memory for writing)
+ pkey01 and futex_wake04 from ubuntu_ltp_syscalls failed with X-kvm (Fail
+ to open /proc/sys/vm/compact_memory for writing)
description: updated
Po-Hsu Lin (cypressyew)
description: updated
Revision history for this message
Po-Hsu Lin (cypressyew) wrote : Re: pkey01 and futex_wake04 from ubuntu_ltp_syscalls failed with X-kvm (Fail to open /proc/sys/vm/compact_memory for writing)

memfd_create03 can be found failing with the same error message (this test requires 4.14+), I will update the bug title and description.

summary: - pkey01 and futex_wake04 from ubuntu_ltp_syscalls failed with X-kvm (Fail
- to open /proc/sys/vm/compact_memory for writing)
+ pkey01, futex_wake04 and memfd_create03 from ubuntu_ltp_syscalls failed
+ with X-kvm (Fail to open /proc/sys/vm/compact_memory for writing)
Po-Hsu Lin (cypressyew)
description: updated
summary: pkey01, futex_wake04 and memfd_create03 from ubuntu_ltp_syscalls failed
- with X-kvm (Fail to open /proc/sys/vm/compact_memory for writing)
+ with kvm kernel (Fail to open /proc/sys/vm/compact_memory for writing)
Po-Hsu Lin (cypressyew)
tags: added: 4.15 bionic
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.