[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Y/uN+89FlTw45uiA@hirez.programming.kicks-ass.net>
Date: Sun, 26 Feb 2023 17:51:07 +0100
From: Peter Zijlstra <peterz@...radead.org>
To: longman@...hat.com, mingo@...hat.com, will@...nel.org
Cc: linux-kernel@...r.kernel.org, boqun.feng@...il.com
Subject: Re: [PATCH 3/6] locking/rwsem: Rework writer wakeup
On Sun, Feb 26, 2023 at 04:04:35PM +0100, Peter Zijlstra wrote:
> On Thu, Feb 23, 2023 at 01:26:45PM +0100, Peter Zijlstra wrote:
> > @@ -1072,7 +1067,7 @@ rwsem_down_read_slowpath(struct rw_semap
> > for (;;) {
> > set_current_state(state);
> > if (!smp_load_acquire(&waiter.task)) {
> > - /* Matches rwsem_mark_wake()'s smp_store_release(). */
> > + /* Matches rwsem_waiter_wake()'s smp_store_release(). */
> > break;
> > }
> > if (signal_pending_state(state, current)) {
> > @@ -1143,54 +1138,36 @@ rwsem_down_write_slowpath(struct rw_sema
> > } else {
> > atomic_long_or(RWSEM_FLAG_WAITERS, &sem->count);
>
> Found it; if we remove the try_write_lock below, then at least this
> new-waiter path needs to still do a trylock.
>
> Let me go test the other patches on top of all this and push out a fresh
> set if that all still works.
queue.git locking/core
We'll see what the robots make of it.
Powered by blists - more mailing lists