Michel Lespinasse <walken@xxxxxxxxxx> wrote: > I only said it was doable :) Not done with the implementation yet, but I can > describe the general idea if that helps. The high part of the rwsem is > decremented by two for each thread holding or trying to acquire a write > lock; That would mean you're reducing the capacity of the upper counter by one since the high part must remain negative if we're to be able to check it for non-zeroness by checking the sign flag. That means a maximum of 2^14-1 writers queued on a 32-bit box (16384), but we can have more threads than that (up to ~32767). Currently, we can have a maximum of 32767 writers+readers queued as we only decrement the upper counter by 1 each time. On a 64-bit box, the limitations go away for all practical purposes. David -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>