Messages in this thread | | | Date | Wed, 21 Dec 2005 02:05:56 +1100 | From | Nick Piggin <> | Subject | Re: [patch 04/15] Generic Mutex Subsystem, add-atomic-call-func-x86_64.patch |
| |
Nicolas Pitre wrote: > On Wed, 21 Dec 2005, Nick Piggin wrote: > > >>Nicolas Pitre wrote: >> >>>On Tue, 20 Dec 2005, Nick Piggin wrote: >> >>>>Considering that on UP, the arm should not need to disable interrupts >>>>for this function (or has someone refuted Linus?), how about: >>> >>> >>>Kernel preemption. >>> >> >>preempt_disable() ? > > > Sure, and we're now more costly than the current implementation with irq > disabling. >
Why? It is just a plain increment of a location that will almost certainly be in cache. I can't see how it would be more than half the cost of the irq implementation (based on looking at your measurements). How do you figure?
Also, preempt_disable is a very frequent operation on preempt kernels so if you have CONFIG_PREEMPT then you don't care about preempt_disable in down() (and if you do then you are calling down too often).
> If we go with simple mutexes that's because there is a gain, even a huge > one on ARM, especially for the fast uncontended case. If you guys > insist on making things so generic and rigid then there is no gain > anymore worth the bother. >
I guess there is no bother for you, but maintaining code for 1 generic platform versus two dozen architectures is a huge win for many.
-- SUSE Labs, Novell Inc.
Send instant messages to your online friends http://au.messenger.yahoo.com
- 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/
| |