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
signature.asc
Description: PGP signature

