[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150225175816.GF6823@linutronix.de>
Date: Wed, 25 Feb 2015 18:58:16 +0100
From: Sebastian Andrzej Siewior <bigeasy@...utronix.de>
To: linux-arch@...r.kernel.org, linux-kernel@...r.kernel.org
Cc: Arnd Bergmann <arnd@...db.de>,
Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...hat.com>, linux-rt-users@...r.kernel.org,
will.deacon@....com, linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH] locking/rtmutex: drop usage of __HAVE_ARCH_CMPXCHG
* 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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists