Messages in this thread | | | Date | Tue, 11 Jun 2013 10:17:52 -0700 | Subject | Re: [PATCH RFC ticketlock] Auto-queued ticketlock | From | Linus Torvalds <> |
| |
On Tue, Jun 11, 2013 at 9:48 AM, Paul E. McKenney <paulmck@linux.vnet.ibm.com> wrote: > > Another approach is to permanently associate queues with each lock, > but that increases the size of the lock -- something that has raised > concerns in the past. But if adding 32 bytes to each ticketlock was OK, > this simplifies things quite a bit.
Yeah, no. The spinlocks need to be small. We have them in size-conscious data structures like "struct dentry" and "struct page", and they really must not be bigger than an "int" in the non-debug case.
In fact, I've occasionally thought about combining a spinlock with a refcounter if that could make things fit in 32 bits on smaller machines, because we also have ops like "atomic_dec_and_lock()" that could possibly be optimized if they fit in one word. That is probably not worth it, but spinlocks do need to remain small.
Linus
| |