twx-linux/tools/testing/selftests
Peter Xu 7eaa8c969e userfaultfd: selftest: recycle lock threads first
Now we recycle the uffd servicing threads earlier than the lock threads.
It might happen that when the lock thread is still blocked at a pthread
mutex lock while the servicing thread has already quitted for the cpu so
the lock thread will be blocked forever and hang the test program.  To fix
the possible race, recycle the lock threads first.

This never happens with current missing-only tests, but when I start to
run the write-protection tests (the feature is not yet posted upstream) it
happens every time of the run possibly because in that new test we'll need
to service two page faults for each lock operation.

Link: http://lkml.kernel.org/r/20180930074259.18229-4-peterx@redhat.com
Signed-off-by: Peter Xu <peterx@redhat.com>
Acked-by: Mike Rapoport <rppt@linux.vnet.ibm.com>
Cc: Shuah Khan <shuah@kernel.org>
Cc: Mike Kravetz <mike.kravetz@oracle.com>
Cc: Jerome Glisse <jglisse@redhat.com>
Cc: Zi Yan <zi.yan@cs.rutgers.edu>
Cc: "Kirill A . Shutemov" <kirill@shutemov.name>
Cc: Shaohua Li <shli@fb.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Cc: "Dr . David Alan Gilbert" <dgilbert@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-10-26 16:26:35 -07:00
..
android selftests: add headers_install to lib.mk 2018-09-05 08:12:09 -06:00
bpf selftests/bpf: fix return value comparison for tests in test_libbpf.sh 2018-10-20 23:17:43 -07:00
breakpoints
capabilities
cgroup Add tests for memory.oom.group 2018-09-07 16:36:01 -06:00
cpu-hotplug
cpufreq
drivers Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-10-21 11:54:28 -07:00
efivarfs selftests/efivarfs: add required kernel configs 2018-09-05 10:58:07 -06:00
exec
filesystems
firmware
ftrace selftests: ftrace: Add synthetic event syntax testcase 2018-10-19 17:25:12 -04:00
futex selftests: add headers_install to lib.mk 2018-09-05 08:12:09 -06:00
gpio selftests: add headers_install to lib.mk 2018-09-05 08:12:09 -06:00
ia64
intel_pstate
ipc
kcmp
kmod
kvm selftests/kvm: add missing executables to .gitignore 2018-10-19 18:14:26 +02:00
lib
locking
media_tests
membarrier
memfd
memory-hotplug selftests: memory-hotplug: add required configs 2018-09-05 10:58:31 -06:00
mount selftests: mount: remove no longer needed config option 2018-08-09 11:26:07 -06:00
mqueue
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-10-19 11:03:06 -07:00
networking/timestamping selftests: add headers_install to lib.mk 2018-09-05 08:12:09 -06:00
nsfs
ntb
powerpc selftests/powerpc: Fix Makefiles for headers_install change 2018-09-28 15:07:45 +10:00
prctl
proc proc: test /proc/thread-self symlink 2018-08-22 10:52:45 -07:00
pstore
ptp
ptrace
rcutorture Merge branches 'doc.2018.08.30a', 'dynticks.2018.08.30b', 'srcu.2018.08.30b' and 'torture.2018.08.29a' into HEAD 2018-08-30 16:12:53 -07:00
rseq rseq/selftests: fix parametrized test with -fpie 2018-09-27 12:59:19 -06:00
rtc
seccomp
sigaltstack
size
sparc64
splice
static_keys
sync
sysctl
tc-testing tc-tests: test denial of 'goto chain' for exceed traffic in police.json 2018-10-22 19:42:50 -07:00
timers
uevent
user
vDSO
vm userfaultfd: selftest: recycle lock threads first 2018-10-26 16:26:35 -07:00
watchdog
x86 x86/vdso: Fix vDSO syscall fallback asm constraint regression 2018-10-04 08:17:50 +02:00
zram
.gitignore
gen_kselftest_tar.sh
kselftest_harness.h
kselftest_install.sh
kselftest.h selftests: kselftest: Remove outdated comment 2018-08-27 14:07:46 -06:00
lib.mk selftests: add headers_install to lib.mk 2018-09-05 08:12:09 -06:00
Makefile