linux/tools/testing/selftests/rseq
Linus Torvalds b844715e8a Futex updates:
- A set of improvements to various futex self tests
 
     - Conversion to the selftest harness
 
     - Provide and use thread creation and synchronization helpers to reduce
       the dependency on delays, which tend to fail on loaded test systems
 
     - New tests for validating owner exit scenarios for robust and PI futexes
 
     - Runtime detect supported features and skip the tests if the kernel
       has no support
 
     - A few minor fixes
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEEQp8+kY+LLUocC4bMphj1TA10mKEFAmqC2iUQHHRnbHhAa2Vy
 bmVsLm9yZwAKCRCmGPVMDXSYoTPBD/4sMc+o2TiWn4bf7vcoln3XlVA8oWkiJCIB
 UUIW1n77CTK9jF50/xb77uvDvSHYr7Zx/Gm1QOvz/xdMvbgqUtPCExBoQXEz/1VV
 y+s7x3K4pwI7BLzEPNsvC2kN0+cVisMXdCi5C5ot7xo3AilfcxxSIwauGyEdQuqZ
 ArvVJjaBCXjRE1EtaVTeiGSINeR4kWPohOkH7dou/OISSd+EcA1kOsTrWlgVa2AA
 o7Vy4u5VsYK7m+UVZUYmwf7+pU91iDj0FZ9fMYYskOw5F+Xax4seNO4bozre80LJ
 3LE2aB8Rg5qGYCTL3D54O1c/2wczJueqGPHy+bF9SOOdlzo0N4Ro8wYUa3MmQuY5
 8+JyfFOsFcqflCYFK/ketzu3JrlZdu8DV9pJ67+RIKpHIXG5VRZHBDDrkL60PF7x
 TQoaZ57sOP7e5GJ+ByxxkltPuXGsIILcPytZoTtm6NwQIh2eSOtPSEPh9VprSChn
 vhY50WJuZ6L//Z7YQfXPQ9B7Xe+39OIWgY1GnUKF09BNVx6V4/As7Nc8llH+7cR7
 eyiVqs0uRDlnpe5zQkAj0hdYR9WK/XVAQ26rsHZDJnSnoalJbl2AjdH1FIg8xm7n
 0PPKqr3hZC4lilpwoBXXPQLIOBKNAUXZpVWxEopGSFIZ5tdrcnNcxgYFMuKiN5cQ
 glxSVQVl0g==
 =6VmJ
 -----END PGP SIGNATURE-----

Merge tag 'locking-futex-2026-08-17' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull futex updates from Thomas Gleixner:

 - Improvements to various futex self tests:

    - Conversion to the selftest harness

    - Provide and use thread creation and synchronization helpers to
      reduce the dependency on delays, which tend to fail on loaded test
      systems

    - New tests for validating owner exit scenarios for robust and PI
      futexes

    - Runtime detect supported features and skip the tests if the kernel
      has no support

 - A few minor fixes

* tag 'locking-futex-2026-08-17' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  selftests/futex: Give circular-list nodes static storage
  selftests/futex: Use thread synchronization helpers instead of usleep()
  selftests/futex: Provide thread creation and synchronization helpers
  selftests/futex: Dynamically skip unsupported tests
  selftests/futex: Add FUTEX_LOCK_PI owner-exiting coverage
  selftests/futex: Migrate robust_list to harness
  selftests/futex: Migrate futex_priv_hash to harness
  selftests/futex: Migrate futex_numa_mpol to harness
  selftests/futex: Migrate futex_requeue_pi_signal_restart to harness
  selftests/futex: Migrate futex_requeue_pi_mismatched_ops to harness
  selftests/futex: Migrate futex_requeue_pi to harness
  selftests/futex: Migrate futex_requeue to harness
  selftests/futex: Migrate futex_wait_uninitialized_heap to harness
  selftests/futex: Migrate futex_wait_private_mapped_file to harness
  selftests/futex: Migrate futex_wait to harness
  selftests/futex: Correct validation logic in waitv
  selftests/futex: Migrate functional tests to harness
  selftests/futex: Remove static keyword from 'head'
  futex: Remove unnecessary NULL check before kvfree()
  selftests/rseq: Replace glibc-specific __GNUC_PREREQ with portable check
2026-08-18 15:26:35 -07:00
..
.gitignore selftests/rseq: Add missing test binaries to .gitignore 2026-07-20 20:43:30 +02:00
basic_percpu_ops_test.c selftests: complete kselftest include centralization 2025-11-27 14:24:31 -08:00
basic_test.c selftests/rseq: Implement rseq numa node id field selftest 2022-12-27 12:52:11 +01:00
check_optimized.c selftests/rseq: Expand for optimized RSEQ ABI v2 2026-05-06 17:41:08 +02:00
compiler.h selftests/rseq: Implement rseq_unqual_scalar_typeof 2023-08-08 14:42:01 -06:00
config selftests/rseq: Add config fragment 2026-06-02 23:20:57 +02:00
legacy_check.c selftests/rseq: Validate legacy behavior 2026-05-06 17:39:01 +02:00
Makefile selftests/rseq: Fix a building error for riscv arch 2026-07-08 10:59:14 -06:00
param_test.c selftests/rseq: Expand for optimized RSEQ ABI v2 2026-05-06 17:41:08 +02:00
rseq-abi.h selftests/rseq: Make registration flexible for legacy and optimized mode 2026-05-05 16:03:11 +02:00
rseq-arm-bits.h selftests/rseq: arm: Template memory ordering and percpu access mode 2022-12-27 12:52:13 +01:00
rseq-arm.h selftests/rseq: Use rseq_unqual_scalar_typeof in macros 2023-08-08 14:42:12 -06:00
rseq-arm64-bits.h selftests/rseq: arm64: Template memory ordering and percpu access mode 2022-12-27 12:52:13 +01:00
rseq-arm64.h selftests/rseq: Fix arm64 buggy load-acquire/store-release macros 2023-08-08 14:42:06 -06:00
rseq-bits-reset.h selftests/rseq: x86: Template memory ordering and percpu access mode 2022-12-27 12:52:12 +01:00
rseq-bits-template.h selftests/rseq: x86: Template memory ordering and percpu access mode 2022-12-27 12:52:12 +01:00
rseq-generic-thread-pointer.h selftests/rseq: Introduce thread pointer getters 2022-02-02 13:11:35 +01:00
rseq-mips-bits.h selftests/rseq: mips: Template memory ordering and percpu access mode 2022-12-27 12:52:13 +01:00
rseq-mips.h selftests/rseq: Use rseq_unqual_scalar_typeof in macros 2023-08-08 14:42:12 -06:00
rseq-or1k-bits.h rseq/selftests: Add support for OpenRISC 2025-01-14 17:17:16 +00:00
rseq-or1k-thread-pointer.h rseq/selftests: Add support for OpenRISC 2025-01-14 17:17:16 +00:00
rseq-or1k.h rseq/selftests: Add support for OpenRISC 2025-01-14 17:17:16 +00:00
rseq-ppc-bits.h selftests/rseq: ppc: Template memory ordering and percpu access mode 2022-12-27 12:52:14 +01:00
rseq-ppc-thread-pointer.h selftests/rseq: Introduce thread pointer getters 2022-02-02 13:11:35 +01:00
rseq-ppc.h selftests/rseq: Use rseq_unqual_scalar_typeof in macros 2023-08-08 14:42:12 -06:00
rseq-riscv-bits.h rseq/selftests: Fix riscv rseq_offset_deref_addv inline asm 2025-02-14 13:06:36 -08:00
rseq-riscv.h KVM: riscv: selftests: Use the existing RISCV_FENCE macro in rseq-riscv.h 2025-09-16 10:53:52 +05:30
rseq-s390-bits.h selftests/rseq: s390: Template memory ordering and percpu access mode 2022-12-27 12:52:14 +01:00
rseq-s390.h tools: Remove s390 compat support 2025-11-17 11:10:38 +01:00
rseq-slice-hist.py selftests/rseq: Add rseq slice histogram script 2026-01-22 11:11:20 +01:00
rseq-thread-pointer.h rseq/selftests: Add support for OpenRISC 2025-01-14 17:17:16 +00:00
rseq-x86-bits.h selftests/rseq: x86: Template memory ordering and percpu access mode 2022-12-27 12:52:12 +01:00
rseq-x86-thread-pointer.h selftests/rseq: Replace glibc-specific __GNUC_PREREQ with portable check 2026-07-03 00:15:01 +02:00
rseq-x86.h selftests/rseq: Use rseq_unqual_scalar_typeof in macros 2023-08-08 14:42:12 -06:00
rseq.c selftests/rseq: Fix spelling of accommodate 2026-07-05 22:13:53 +02:00
rseq.h selftests/rseq: Make registration flexible for legacy and optimized mode 2026-05-05 16:03:11 +02:00
run_legacy_check.sh selftests/rseq: Validate legacy behavior 2026-05-06 17:39:01 +02:00
run_param_test.sh selftests/rseq: Expand for optimized RSEQ ABI v2 2026-05-06 17:41:08 +02:00
run_syscall_errors_test.sh selftests/rseq: Add rseq syscall errors test 2025-02-22 14:13:45 +01:00
run_timeslice_test.sh selftests/rseq: Expand for optimized RSEQ ABI v2 2026-05-06 17:41:08 +02:00
settings rseq/selftests: Turn off timeout setting 2019-12-23 10:52:41 -07:00
slice_test.c selftests/rseq: Expand for optimized RSEQ ABI v2 2026-05-06 17:41:08 +02:00
syscall_errors_test.c selftests/rseq: Add rseq syscall errors test 2025-02-22 14:13:45 +01:00