Re: [PATCH] locking/rtmutex: drop usage of __HAVE_ARCH_CMPXCHG

From: Sebastian Andrzej Siewior
Date: Wed Feb 25 2015 - 12:58:34 EST


* Sebastian Andrzej Siewior | 2015-02-25 18:56:13 [+0100]:

>To put some numbers on it: preempt -RT, am335x, 10 loops of
>100000 invocations of rt_spin_lock() + rt_spin_unlock() (time "total" is
>the average of the 10 loops for the 100000 invocations, "loop" is
>"total / 100000 * 1000"):

This is the test code I was running.

diff --git a/init/main.c b/init/main.c
index e7cb76c079d4..e74523feeddb 100644
--- a/init/main.c
+++ b/init/main.c
@@ -1004,6 +1004,29 @@ static noinline void __init kernel_init_freeable(void)

do_basic_setup();

+ {
+ spinlock_t main_l;
+ int loops;
+
+ spin_lock_init(&main_l);
+
+ for (loops = 0; loops < 10; loops++) {
+ ktime_t start, end;
+ int i;
+
+ local_irq_disable();
+ start = ktime_get();
+ for (i = 0; i <= 100000; i++) {
+ rt_spin_lock(&main_l);
+ rt_spin_unlock(&main_l);
+ }
+ end = ktime_get();
+ local_irq_enable();
+ pr_err("%s(%d) %lld\n", __func__, __LINE__,
+ ktime_to_us(ktime_sub(end, start)));
+ }
+ }
+
/* Open the /dev/console on the rootfs, this should never fail */
if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
pr_err("Warning: unable to open an initial console.\n");
--
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/