On the Android arm32 platform, when performing the futex_requeue test, it will most likely return a failure. The specific reason is detailed in a commit[1] previously submitted by Edward Liaw. However, this commit cannot perfectly solve the problem. This is because using a barrier does not guarantee that the child thread will wait on futex_wait.
This series of patches attempts to solve this problem by checking whether the child thread is in a sleeping state. This is because when the child thread goes to sleep, it indicates that it is waiting for the futex lock.
v1->v2: - Solve the compilation problems found by the kernel test robot - Cleanup the atomic library code for futex test
Link: https://lore.kernel.org/all/20240918231102.234253-1-edliaw@google.com/