Re: [patch 04/15] Generic Mutex Subsystem, add-atomic-call-func-x86_64.patch
From: Nick Piggin
Date: Tue Dec 20 2005 - 10:05:06 EST
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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/