On 10/16/24 2:05 PM, Matthew Wilcox wrote:
On Wed, Oct 16, 2024 at 10:23:14AM -0400, Waiman Long wrote:
Another alternative that I have been thinking about is a down_read() variant
with intention to upgrade later. This will ensure that only one active
reader is allowed to upgrade later. With this, upgrade_read() will always
succeed, maybe with some sleeping, as long as the correct down_read() is
used.
How is that different from Kent's SIX locks other than you can take an
rwsem for write immediately (SIX locks have to be taken for Intent and
then Upgraded)?

Yes, it is modeled after Kent's SIX locks. The goal is to eventually eliminate the need of a separate SIX lock.

Cheers,
Longman