Messages in this thread | | | From | NeilBrown <> | Date | Fri, 04 Mar 2016 21:14:24 +1100 | 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 [unhandled content-type:application/pgp-signature] | |