linux-xiaomi-chiron/tools/testing/selftests
Michal Hocko eea274d64e selftests: vm: drop dependencies on page flags from mlock2 tests
It was noticed that mlock2 tests are failing after 9c4e6b1a70 ("mm,
mlock, vmscan: no more skipping pagevecs") because the patch has changed
the timing on when the page is added to the unevictable LRU list and thus
gains the unevictable page flag.

The test was just too dependent on the implementation details which were
true at the time when it was introduced.  Page flags and the timing when
they are set is something no userspace should ever depend on.  The test
should be testing only for the user observable contract of the tested
syscalls.  Those are defined pretty well for the mlock and there are other
means for testing them.  In fact this is already done and testing for page
flags can be safely dropped to achieve the aimed purpose.  Present bits
can be checked by /proc/<pid>/smaps RSS field and the locking state by
VmFlags although I would argue that Locked: field would be more
appropriate.

Drop all the page flag machinery and considerably simplify the test.  This
should be more robust for future kernel changes while checking the
promised contract is still valid.

Fixes: 9c4e6b1a70 ("mm, mlock, vmscan: no more skipping pagevecs")
Reported-by: Rafael Aquini <aquini@redhat.com>
Signed-off-by: Michal Hocko <mhocko@suse.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Acked-by: Rafael Aquini <aquini@redhat.com>
Cc: Shakeel Butt <shakeelb@google.com>
Cc: Eric B Munson <emunson@akamai.com>
Cc: Shuah Khan <shuah@kernel.org>
Cc: <stable@vger.kernel.org>
Link: http://lkml.kernel.org/r/20200324154218.GS19542@dhcp22.suse.cz
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-04-02 09:35:31 -07:00
..
android treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
arm64 kselftest: arm64: fix spelling mistake "contiguos" -> "contiguous" 2019-11-11 18:25:24 +00:00
bpf Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2020-03-30 19:52:37 -07:00
breakpoints selftests: breakpoints: Fix a typo of function name 2019-11-07 14:27:26 -07:00
capabilities selftests: Add test plan API to kselftest.h and adjust callers 2019-04-25 13:15:46 -06:00
cgroup selftests: Uninitialized variable in test_cgcore_proc_migration() 2020-01-09 16:21:23 -07:00
clone3 selftests/clone3: skip if clone3() is ENOSYS 2019-11-18 08:59:03 +01:00
cpu-hotplug
cpufreq
dmabuf-heaps dma-buf: heaps: Use _IOCTL_ for userspace IOCTL identifier 2019-12-17 21:37:40 +05:30
drivers selftests: mlxsw: Add test cases for devlink-trap policers 2020-03-30 17:54:59 -07:00
efivarfs treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
exec treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 166 2019-05-30 11:26:39 -07:00
filesystems selftests: filesystems/epoll: fix build error 2019-12-23 10:52:40 -07:00
firmware selftests: firmware: Add firmware_request_platform tests 2020-03-20 14:54:04 +01:00
ftrace selftests: Install settings files to fix TIMEOUT failures 2020-02-20 08:56:42 -07:00
futex selftests: use LDLIBS for libraries instead of LDFLAGS 2020-02-13 13:14:34 -07:00
gpio treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
ia64 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
intel_pstate
ipc selftests/ipc: Fix msgque compiler warnings 2019-04-19 17:18:00 -06:00
ir media: selftests: ir: fix ir_loopback test failure 2019-08-14 05:06:25 -03:00
kcmp treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
kexec sefltest/ima: support appended signatures (modsig) 2019-08-29 12:45:30 -04:00
kmod selftests: kmod: Fix typo in kmod.sh 2019-07-23 10:45:06 -06:00
kselftest selftests: settings: tests can be in subsubdirs 2020-01-27 10:49:52 -07:00
kvm selftests: KVM: Remove unused x86_register enum 2020-02-12 20:09:45 +01:00
lib selftests: Move kselftest_module.sh into kselftest/ 2019-11-07 14:46:08 -07:00
livepatch selftests: Install settings files to fix TIMEOUT failures 2020-02-20 08:56:42 -07:00
lkdtm selftest/lkdtm: Use local .gitignore 2020-03-02 08:39:39 -07:00
locking
media_tests media: selftests: media_dev_allocator api test 2019-04-22 11:23:14 -04:00
membarrier selftests, sched/membarrier: Add multi-threaded test 2019-09-25 17:42:31 +02:00
memfd memfd: add test for COW on MAP_PRIVATE and F_SEAL_FUTURE_WRITE mappings 2019-12-01 12:59:03 -08:00
memory-hotplug
mount
mqueue
net selftests: mlxsw: Add test cases for devlink-trap policers 2020-03-30 17:54:59 -07:00
netfilter selftests: netfilter: add nfqueue test case 2020-03-24 20:00:12 +01:00
nsfs treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
ntb New feature to add support for NTB virtual MSI interrupts, the ability 2019-07-21 09:46:59 -07:00
openat2 selftests: openat2: fix build error on newer glibc 2020-02-13 13:15:45 -07:00
pidfd selftests: pidfd: Add pidfd_fdinfo_test in .gitignore 2020-02-28 13:35:05 +01:00
powerpc selftests/eeh: Bump EEH wait time to 60s 2020-01-26 00:11:37 +11:00
prctl
proc selftests: proc: Make va_max 1MB 2019-11-07 14:52:57 -07:00
pstore treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 472 2019-06-19 17:09:11 +02:00
ptp ptp: Extend the test program to check the external time stamp flags. 2019-11-15 12:48:33 -08:00
ptrace selftests/ptrace: add a test case for PTRACE_GET_SYSCALL_INFO 2019-07-16 19:23:24 -07:00
rcutorture Merge branches 'doc.2020.02.27a', 'fixes.2020.03.21a', 'kfree_rcu.2020.02.20a', 'locktorture.2020.02.20a', 'ovld.2020.02.20a', 'rcu-tasks.2020.02.20a', 'srcu.2020.02.20a' and 'torture.2020.02.20a' into HEAD 2020-03-21 17:15:11 -07:00
rseq selftests/rseq: Fix out-of-tree compilation 2020-02-20 08:57:12 -07:00
rtc selftests: Install settings files to fix TIMEOUT failures 2020-02-20 08:56:42 -07:00
safesetid selftests: safesetid: Fix Makefile to set correct test program 2019-12-09 10:53:04 -07:00
seccomp seccomp: allow TSYNC and USER_NOTIF together 2020-03-04 14:48:54 -08:00
sigaltstack treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
size kselftest: Minimise dependency of get_size on C library interfaces 2020-01-16 13:08:26 -07:00
sparc64
splice
static_keys treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
sync selftests: sync: Fix cast warnings on arm 2019-11-07 14:54:37 -07:00
sysctl treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
tc-testing selftests: qdiscs: RED: Add nodrop tests 2020-03-14 21:03:46 -07:00
timens selftests: use LDLIBS for libraries instead of LDFLAGS 2020-02-13 13:14:34 -07:00
timers kselftests: timers: freq-step: Update maximum acceptable precision and errors 2019-06-22 11:28:53 +02:00
tmpfs treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
tpm2 Kernel selftests: tpm2: check for tpm support 2020-02-10 18:00:40 -07:00
uevent
user treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
vDSO treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 180 2019-05-30 11:29:20 -07:00
vm selftests: vm: drop dependencies on page flags from mlock2 tests 2020-04-02 09:35:31 -07:00
watchdog selftests: watchdog: Add command line option to show watchdog_info 2019-10-02 13:44:43 -06:00
wireguard wireguard: noise: error out precomputed DH during handshake rather than config 2020-03-18 18:51:43 -07:00
x86 selftests/x86/ptrace_syscall_32: Fix no-vDSO segfault 2020-03-20 11:28:47 +01:00
zram docs: blockdev: add it to the admin-guide 2019-07-15 11:03:01 -03:00
.gitignore selftests/bpf: Add test for "bpftool feature" command 2020-02-26 18:34:34 +01:00
gen_kselftest_tar.sh selftests: gen_kselftest_tar.sh: Do not clobber kselftest/ 2019-11-07 14:43:27 -07:00
kselftest.h kselftest: save-and-restore errno to allow for %m formatting 2019-07-30 15:46:48 -06:00
kselftest_harness.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 481 2019-06-19 17:09:51 +02:00
kselftest_install.sh selftests: gen_kselftest_tar.sh: Do not clobber kselftest/ 2019-11-07 14:43:27 -07:00
kselftest_module.h kselftest: Add test module framework header 2019-04-08 16:44:20 -06:00
lib.mk selftests: fix too long argument 2020-02-10 18:01:55 -07:00
Makefile selftests: move timestamping selftests to net folder 2020-03-29 21:48:30 -07:00