[PATCH] c/r tests: Add futex c/r tests
Serge E. Hallyn
serue at us.ibm.com
Mon Jul 6 16:11:11 PDT 2009
Quoting Matt Helsley (matthltc at us.ibm.com):
> Add tests for plain, robust, and pi futexes. Each test sets up a
> typical contended futex scenario and then awaits checkpoint. We only test
> the contended case since the uncontended cases are entirely based on the
> state of userspace memory. After checkpoint each test verifies that the
> critical semantics of the futex still works.
Thanks, Matt, these now compile and run on s390.
> For plain futexes we ensure that the same number of tasks that
> were asleep on the futex are woken up.
But plain always returns 0 (success)?
> For robust futexes we set the robust list head of each process
> and wait for checkpoint. After checkpoint we verify that the kernel
> still knows about the robust list head then each child exits without
> releasing the futex. Since the child still holds the futex at exit the
> kernel wakes another waiting child.
run.sh doesn't check for the return value. (trivially fixed as bash
wait returns its return value)
I think you also have several places where you log a FAIL when you should
probably log BROK. But I've applied this to cr_tests plus a fix
for run.sh to check return values. Can you send me a fix to have plain.c
log failures (unless I'm misreading and its all fine)?
More information about the Containers