Messages in this thread | | | Date | Fri, 8 Mar 2002 11:22:20 -0800 (PST) | From | Linus Torvalds <> | Subject | Re: [PATCH] Futexes IV (Fast Lightweight Userspace Semaphores) |
| |
On Fri, 8 Mar 2002, Hubertus Franke wrote: > > Could you also comment on the functionality that has been discussed.
First off, I have to say that I really like the current patch by Rusty. The hashing approach is very clean, and it all seems quite good. As to specific points:
> (I) the fairness issues that have been raised. > do you support two wakeup mechanism: FUTEX_UP and FUTEX_UP_FAIR > or you don't care about fairness and starvation
I don't think fairness and starvation is that big of a deal for semaphores, usually being unfair in these things tends to just improve performance through better cache locality with no real downside. That said, I think the option should be open (which it does seem to be).
For rwlocks, my personal preference is the fifo-fair-preference (unlike semaphore fairness, I have actually seen loads where read- vs write-preference really is unacceptable). This might be a point where we give users the choice.
I do think we should make the lock bigger - I worry that atomic_t simply won't be enough for things like fair rwlocks, which might want a "cmpxchg8b" on x86.
So I would suggest making the size (and thus alignment check) of locks at least 8 bytes (and preferably 16). That makes it slightly harder to put locks on the stack, but gcc does support stack alignment, even if the code sucks right now.
Linus
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |