[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)?

thanks,
-serge


More information about the Containers mailing list