mirror of
https://github.com/torvalds/linux.git
synced 2026-09-26 01:52:03 +02:00
There are timing issues in the use of threads in some selftests for futexes as the tests rely on timed waits to ensure that the other test thread[s] reached the lock wait function in the kernel. That "works" on halfways idle systems, but fails under load which results in tests failing. Provide a set of helper functions to create test threads and to wait for them to reach the lock wait by monitoring /proc/$PID/wchan. [ tglx: Fixup coding style, move the timeout into the helper, adapt to test harness changes and massage change log ] Signed-off-by: Yuwen Chen <ywen.chen@foxmail.com> Signed-off-by: Thomas Gleixner <tglx@kernel.org> Link: https://patch.msgid.link/tencent_4C90BE98BBC48B38B9FBC6A95C45CF49F309@qq.com
38 lines
1014 B
Makefile
38 lines
1014 B
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
PKG_CONFIG ?= pkg-config
|
|
LIBNUMA_TEST = $(shell sh -c "$(PKG_CONFIG) numa --atleast-version 2.0.18 > /dev/null 2>&1 && echo SUFFICIENT || echo NO")
|
|
|
|
INCLUDES := -I../include -I../../ $(KHDR_INCLUDES)
|
|
CFLAGS := $(CFLAGS) -g -O2 -Wall -pthread -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 $(INCLUDES) $(KHDR_INCLUDES) -DLIBNUMA_VER_$(LIBNUMA_TEST)=1
|
|
LDLIBS := -lpthread -lrt
|
|
ifeq ($(LIBNUMA_TEST),SUFFICIENT)
|
|
LDLIBS += -lnuma
|
|
endif
|
|
|
|
LOCAL_HDRS := \
|
|
../include/futextest.h \
|
|
../include/atomic.h \
|
|
../include/futex_thread.h
|
|
TEST_GEN_PROGS := \
|
|
futex_wait_timeout \
|
|
futex_wait_wouldblock \
|
|
futex_requeue_pi \
|
|
futex_requeue_pi_signal_restart \
|
|
futex_requeue_pi_mismatched_ops \
|
|
futex_wait_uninitialized_heap \
|
|
futex_wait_private_mapped_file \
|
|
futex_wait \
|
|
futex_requeue \
|
|
futex_priv_hash \
|
|
futex_numa_mpol \
|
|
futex_waitv \
|
|
futex_numa \
|
|
robust_list \
|
|
futex_lock_pi_exiting
|
|
|
|
TEST_PROGS := run.sh
|
|
|
|
top_srcdir = ../../../../..
|
|
DEFAULT_INSTALL_HDR_PATH := 1
|
|
include ../../lib.mk
|