[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a094f899-018c-4eb7-9bee-46f102a33b8e@redhat.com>
Date: Thu, 17 Oct 2024 13:36:41 -0400
From: Waiman Long <llong@...hat.com>
To: Christoph Hellwig <hch@...radead.org>, Waiman Long <llong@...hat.com>
Cc: lizhe.67@...edance.com, peterz@...radead.org, mingo@...hat.com,
will@...nel.org, boqun.feng@...il.com, akpm@...ux-foundation.org,
linux-kernel@...r.kernel.org, linux-mm@...ck.org
Subject: Re: [RFC 1/2] rwsem: introduce upgrade_read interface
On 10/17/24 11:05 AM, Christoph Hellwig 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.
> At least for the XFS use case where direct I/O takes a share lock
> that needs to be replaced with an exclusive one for certain kinds of
> I/O would be useless. But then again we've survived without this
> operation for a long time, despite the initial port bringing one over
> from IRIX.
That means XFS only needs to upgrade to a write lock in certain cases
only, not all of them. Right? In that case, read_try_upgrade() that
attempts to upgrade to a write lock will be useful.
Cheers,
Longman
Powered by blists - more mailing lists