A strictly monotonically increasing sequence is normally used in
numbered lists as they provide an intuitive ordering of the
elements.
However, in situations where race conditions can appear, this
assumption breaks down and you can end up with unpredictable
results, leading to a rather confusing list :-)
This changes the numbered list 1,2,2,2 to the more intuitive
1,2,3,4.
Introduced in:
2eec9ad91f71 [PATCH] lightweight robust futexes: docs
Signed-off-by: Henrik Austad <henrik@austad.us>
Link: http://lkml.kernel.org/r/1385590680-8110-1-git-send-email-henrik@austad.us
Signed-off-by: Ingo Molnar <mingo@kernel.org>
1) set the 'list_op_pending' word to the address of the 'lock entry'
to be removed,
2) remove the lock entry for this lock from the 'head' list,
- 2) release the futex lock, and
- 2) clear the 'lock_op_pending' word.
+ 3) release the futex lock, and
+ 4) clear the 'lock_op_pending' word.
On exit, the kernel will consider the address stored in
'list_op_pending' and the address of each 'lock word' found by walking