* André Almeida: > With FUTEX2_SPIN flag set during a futex_wait(), the futex value is > expected to be the PID of the lock owner. Then, the kernel gets the > task_struct of the corresponding PID, and checks if it's running. It > spins until the futex is awaken, the task is scheduled out or if a > timeout happens. If the lock owner is scheduled out at any time, then > the syscall follows the normal path of sleeping as usual. PID or TID? I think we'd like to have at least one, possibly more, bits for free use, so the kernel ID comparison should at least mask off the MSB, possibly more. I haven't really thought about the proposed locking protocol, sorry. Thanks, Florian