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