[ltt-dev] Test module : benchmarking read-side locking speed

Steve Langstaff steve.langstaff at pebblebay.com
Fri May 22 10:53:38 EDT 2009


> From: Mathieu Desnoyers [mailto:compudj at krystal.dyndns.org]
> Sent: 21 May 2009 20:12


> I am trying to complete my numbers for performance impact of read-side
> locking primitives (on the fast path) for various architectures.

> Help with testing on a larger set of architectures would be more than
> welcome. Note that this module requires the kernel to be configured
> with
> CONFIG_PREEMPT=y. Some config option sanity checking is done at
> compile-time. Other requirement : disable invasive lockdep-style
> instrumentation.

Another requirement is that get_cycles() needs to return something
meaningful :)

This on a PXA255:

/lib/modules/2.6.29.2 # insmod ./ltt_test.ko
[   61.121372] test init
[   61.123690] Number of active CPUs : 1
[   61.127506] test results: time for baseline
[   61.131818] number of loops: 20000
[   61.135220] total time: 0
[   61.137842] -> baseline takes 0 cycles
[   61.141629] test end
[   61.144719] test results: time for spinlock
[   61.148909] number of loops: 20000
[   61.152325] total time: 0
[   61.154943] -> spinlock takes 0 cycles
[   61.158690] test end
[   61.161799] test results: time for read rwlock
[   61.166244] number of loops: 20000
[   61.169645] total time: 0
[   61.172284] -> read rwlock takes 0 cycles
[   61.176294] test end
[   61.179137] test results: time for seqlock
[   61.183255] number of loops: 20000
[   61.186660] total time: 0
[   61.189283] -> seqlock takes 0 cycles
[   61.192958] test end
[   61.195998] test results: time for preempt disable/enable pairs
[   61.201944] number of loops: 20000
[   61.205349] total time: 0
[   61.207973] -> preempt disable/enable pair takes 0 cycles
[   61.213508] test end
insmod: cannot insert './ltt_test.ko': Resource temporarily unavailable
(-1): Resource temporarily unavailable






More information about the lttng-dev mailing list