[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87si06lfcv.fsf@notabene.neil.brown.name>
Date: Fri, 04 Mar 2016 21:14:24 +1100
From: NeilBrown <neilb@...e.com>
To: Jan Kara <jack@...e.cz>
Cc: Ross Zwisler <ross.zwisler@...ux.intel.com>,
Matthew Wilcox <matthew.r.wilcox@...el.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Jan Kara <jack@...e.cz>, linux-kernel@...r.kernel.org,
linux-fsdevel@...r.kernel.org, linux-mm@...ck.org
Subject: Re: [PATCH 3/3] radix-tree: support locking of individual exception entries.
On Fri, Mar 04 2016, NeilBrown wrote:
>
> By not layering on top of wait_bit_key, you've precluded the use of the
> current page wait_queues for these locks - you need to allocate new wait
> queue heads.
>
> If in
>
>> +struct wait_exceptional_entry_queue {
>> + wait_queue_t wait;
>> + struct exceptional_entry_key key;
>> +};
>
> you had the exceptional_entry_key first (like wait_bit_queue does) you
> would be closer to being able to re-use the queues.
Scratch that bit, I was confusing myself again. Sorry.
Each wait_queue_t has it's own function so one function will never be
called on other items in the queue - of course.
>
> Also I don't think it is safe to use an exclusive wait. When a slot is
> deleted, you need to wake up *all* the waiters.
I think this issue is still valid.
NeilBrown
Download attachment "signature.asc" of type "application/pgp-signature" (819 bytes)
Powered by blists - more mailing lists