From: Ingo Molnar <mingo@elte.hu>
To: Andi Kleen <ak@suse.de>
Cc: linux-kernel@vger.kernel.org, Linus Torvalds <torvalds@osdl.org>,
Andrew Morton <akpm@osdl.org>,
Arjan van de Ven <arjanv@infradead.org>,
Steven Rostedt <rostedt@goodmis.org>,
Alan Cox <alan@lxorguk.ukuu.org.uk>,
Christoph Hellwig <hch@infradead.org>,
David Howells <dhowells@redhat.com>,
Alexander Viro <viro@parcelfarce.linux.theplanet.co.uk>,
Oleg Nesterov <oleg@tv-sign.ru>
Subject: Re: [patch 00/15] Generic Mutex Subsystem
Date: Mon, 19 Dec 2005 17:22:04 +0100 [thread overview]
Message-ID: <20051219162204.GA8160@elte.hu> (raw)
In-Reply-To: <20051219042248.GG23384@wotan.suse.de>
* Andi Kleen <ak@suse.de> wrote:
> > $ ./test-mutex V 16 10 $ ./test-mutex V 16 10
> > 8 CPUs, running 16 tasks. 8 CPUs, running 16 tasks.
> > checking VFS performance. checking VFS performance.
> > avg loops/sec: 34713 avg loops/sec: 84153
> > CPU utilization: 63% CPU utilization: 22%
> >
> > i.e. in this workload, the mutex based kernel was 2.4 times faster
> > than the semaphore based kernel, _and_ it also had 2.8 times less CPU
> > utilization. (In terms of 'ops per CPU cycle', the semaphore kernel
> > performed 551 ops/sec per 1% of CPU time used, while the mutex kernel
> > performed 3825 ops/sec per 1% of CPU time used - it was 6.9 times
> > more efficient.)
>
> Do you have an idea where this big difference comes from? It doesn't
> look it's from the fast path which is essentially the same. Do the
> mutexes have that much better scheduling behaviour than semaphores? It
> is a bit hard to believe.
yes, generic mutexes have that much better scheduling in this workload.
[ And no, there's no secret speedup magic hidden in the scheduler ;) ]
See my other reply to Linus about why there's such a difference.
> I would perhaps understand your numbers if you used adaptive mutexes
> or similar that spin for a bit, but just for pure sleeping locks it
> seems weird. After all the scheduler should work in the same way for
> both.
hm, i'm not so sure about adaptive mutexes - i'm a bit uneasy about
wasting cycles on spinning, it will inevitably cause wasted resources in
some workloads. I think the right approach is to make scheduling fast
and cheap, and to improve the queueing/wakeup logic of kernel code.
but by all means feel free to experiment with adaptive mutexes, all the
mutex logic is located in kernel/mutex.c, and it is well-suited for
rapid prototyping of new locking logic.
Ingo
prev parent reply other threads:[~2005-12-19 16:22 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-12-19 1:34 [patch 00/15] Generic Mutex Subsystem Ingo Molnar
2005-12-19 4:22 ` Andi Kleen
2005-12-19 4:28 ` Steven Rostedt
2005-12-19 4:31 ` Andi Kleen
2005-12-19 6:24 ` Linus Torvalds
2005-12-19 12:56 ` Steven Rostedt
2005-12-19 16:55 ` Ingo Molnar
2005-12-19 15:50 ` Ingo Molnar
2005-12-19 19:11 ` Linus Torvalds
2005-12-19 19:25 ` Benjamin LaHaise
2005-12-19 19:55 ` Linus Torvalds
2005-12-21 16:42 ` Oleg Nesterov
2006-01-10 10:28 ` Balbir Singh
2006-01-10 18:03 ` Oleg Nesterov
2006-01-11 6:33 ` Balbir Singh
2006-01-11 9:22 ` Oleg Nesterov
2005-12-19 20:11 ` Ingo Molnar
2005-12-19 20:19 ` Benjamin LaHaise
2005-12-19 20:32 ` Russell King
2005-12-19 20:57 ` Ingo Molnar
2005-12-19 19:55 ` Ingo Molnar
2005-12-19 20:12 ` Linus Torvalds
2005-12-19 23:37 ` Christoph Hellwig
2005-12-20 8:03 ` Nick Piggin
2005-12-20 8:06 ` Arjan van de Ven
2005-12-20 8:21 ` Nick Piggin
2005-12-20 8:36 ` Arjan van de Ven
2005-12-20 8:48 ` Nick Piggin
2005-12-19 16:22 ` Ingo Molnar [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20051219162204.GA8160@elte.hu \
--to=mingo@elte.hu \
--cc=ak@suse.de \
--cc=akpm@osdl.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=arjanv@infradead.org \
--cc=dhowells@redhat.com \
--cc=hch@infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=oleg@tv-sign.ru \
--cc=rostedt@goodmis.org \
--cc=torvalds@osdl.org \
--cc=viro@parcelfarce.linux.theplanet.co.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.