On Tue, 2009-08-11 at 14:47 +0200, Heiko Carstens wrote: > This patch set allows to have inlined spinlocks again. > > V2: rewritten from scratch - now with readable code > > The rationale behind this is that function calls on at least s390 are > expensive. > > If one considers that server kernels are usually compiled with > !CONFIG_PREEMPT a simple spin_lock is just a compare and swap loop. > The extra overhead for a function call is significant. > With inlined spinlocks overall cpu usage gets reduced by 1%-5% on s390. > These numbers were taken with some network benchmarks. However I expect > any workload that calls frequently into the kernel and which grabs a few > locks to perform better. > > The implementation is straight forward: move the function bodies of the > locking functions to static inline functions and place them in a header > file. > Dependent on CONFIG_SPINLOCK_INLINE generate out-of-line or inlined > locking functions. > > The patches should be self explaining. These look lots better than the previous series ;-) Given that you've got a significant performance gain from this and it doesn't look too horrible anymore, Acked-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> IIRC sparc64 also has a funny calling convention, so it might be of interest to DaveM as well. -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html