From: Ingo Molnar <mingo@elte.hu>
To: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
Gregory Haskins <ghaskins@novell.com>,
Matthew Wilcox <matthew@wil.cx>, Andi Kleen <andi@firstfloor.org>,
Chris Mason <chris.mason@oracle.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
linux-fsdevel <linux-fsdevel@vger.kernel.org>,
linux-btrfs <linux-btrfs@vger.kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
Nick Piggin <npiggin@suse.de>,
Peter Morreale <pmorreale@novell.com>,
Sven Dietrich <SDietrich@novell.com>,
Dmitry Adamushko <dmitry.adamushko@gmail.com>,
Johannes Weiner <hannes@cmpxchg.org>
Subject: Re: [GIT PULL] adaptive spinning mutexes
Date: Wed, 14 Jan 2009 20:33:17 +0100 [thread overview]
Message-ID: <20090114193317.GA23227@elte.hu> (raw)
In-Reply-To: <1231960986.14825.45.camel@laptop>
* Peter Zijlstra <a.p.zijlstra@chello.nl> wrote:
> On Wed, 2009-01-14 at 10:53 -0800, Andrew Morton wrote:
> > On Wed, 14 Jan 2009 19:33:19 +0100 Ingo Molnar <mingo@elte.hu> wrote:
> >
> > > Please pull the adaptive-mutexes-for-linus git tree
> >
> > <fear>
> >
> > - It seems a major shortcoming that the feature is disabled if
> > CONFIG_DEBUG_MUTEXES=y. It means that lots of people won't test it.
>
> Yes, that's a bit unfortunate, a simple patch to enable that is:
>
> I must admit I'm a bit stumped on why that debug check triggers, I
> couldn't reproduce today, but Ingo ran into it quite quickly :/
Yes, the debug patch caused this false positive warning on one of my
test-systems:
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 255762
------------[ cut here ]------------
WARNING: at kernel/mutex-debug.c:77 debug_mutex_unlock+0x94/0xde()
Hardware name:
Modules linked in:
Pid: 0, comm: swapper Not tainted 2.6.29-rc1-tip-00983-ge1af3bd-dirty #1
Call Trace:
[<ffffffff8024f2f7>] warn_slowpath+0xd8/0xf7
[<ffffffff8024f5ec>] ? wake_up_klogd+0x9/0x2f
[<ffffffff80270fd1>] ? graph_lock+0x27/0x66
[<ffffffff80275329>] ? validate_chain+0xd4d/0xd9f
[<ffffffff802714c4>] ? save_trace+0x3f/0xb2
[<ffffffff80275b4f>] ? __lock_acquire+0x7d4/0x832
[<ffffffff80275c5f>] ? lock_acquire+0xb2/0xc2
[<ffffffff8025091c>] ? cpu_maps_update_begin+0x17/0x19
[<ffffffff80271d21>] ? trace_hardirqs_off+0xd/0xf
[<ffffffff80270a8e>] debug_mutex_unlock+0x94/0xde
[<ffffffff80906d71>] __mutex_unlock_slowpath+0xdd/0x152
[<ffffffff80906df4>] mutex_unlock+0xe/0x10
[<ffffffff80250955>] cpu_maps_update_done+0x15/0x17
[<ffffffff808ce8b5>] register_cpu_notifier+0x2c/0x32
[<ffffffff80d7683e>] page_alloc_init+0x10/0x12
[<ffffffff80d5ac45>] start_kernel+0x1ba/0x422
[<ffffffff80d5a140>] ? early_idt_handler+0x0/0x73
[<ffffffff80d5a2c3>] x86_64_start_reservations+0xae/0xb2
[<ffffffff80d5a421>] x86_64_start_kernel+0x137/0x146
---[ end trace a7919e7f17c0a725 ]---
Kernel command line: root=/dev/sda1 earlyprintk=serial,ttyS0,115200 console=ttyS0,115200 console=tty 5 profile=0 debug initcall_debug apic=debug apic=verbose ignore_loglevel sysrq_always_enabled pci=nomsi
kernel profiling enabled (shift: 0)
debug: sysrq always enabled.
Initializing CPU#0
So we left that change out from this pull request. It's not a big deal i
think - mutex debugging always had a different fast-path from no-debug
mutexes anyway (or a lack of fast-path to begin with). So the performance
characteristics were always subtly different. Now they might be more
different - but we'll fix that too.
Ingo
next prev parent reply other threads:[~2009-01-14 19:33 UTC|newest]
Thread overview: 92+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-12 15:37 [PATCH -v8][RFC] mutex: implement adaptive spinning Peter Zijlstra
2009-01-12 16:04 ` Linus Torvalds
2009-01-12 16:20 ` Linus Torvalds
2009-01-12 16:45 ` Chris Mason
2009-01-12 16:50 ` Peter Zijlstra
2009-01-12 17:14 ` Chris Mason
2009-01-12 17:24 ` Peter Zijlstra
2009-01-12 17:30 ` Chris Mason
2009-01-12 17:16 ` Peter Zijlstra
2009-01-12 17:33 ` Boaz Harrosh
2009-01-12 18:07 ` Peter Zijlstra
2009-01-12 16:13 ` Avi Kivity
2009-01-12 17:13 ` Peter Zijlstra
2009-01-12 17:23 ` Avi Kivity
2009-01-12 17:32 ` Avi Kivity
2009-01-14 16:46 ` Peter Zijlstra
2009-01-14 17:04 ` Nick Piggin
2009-01-14 17:23 ` Avi Kivity
2009-01-15 0:50 ` Nick Piggin
2009-01-13 15:15 ` [PATCH -v9][RFC] " Peter Zijlstra
2009-01-13 16:16 ` Linus Torvalds
2009-01-13 16:21 ` Peter Zijlstra
2009-01-13 16:39 ` Ingo Molnar
2009-01-13 16:40 ` Peter Zijlstra
2009-01-13 16:49 ` Linus Torvalds
2009-01-13 17:21 ` Peter Zijlstra
2009-01-13 18:33 ` Ingo Molnar
2009-01-13 18:40 ` Linus Torvalds
2009-01-13 19:01 ` Ingo Molnar
2009-01-14 2:58 ` Chris Mason
2009-01-14 11:18 ` Dmitry Adamushko
2009-01-14 16:47 ` Chris Mason
2009-01-14 17:32 ` Dmitry Adamushko
2009-01-14 11:21 ` Ingo Molnar
2009-01-14 15:43 ` Linus Torvalds
2009-01-14 16:23 ` Chris Mason
2009-01-14 17:06 ` [PATCH -v11 delta] " Ingo Molnar
2009-01-14 17:00 ` [PATCH -v11][RFC] " Peter Zijlstra
2009-01-14 17:18 ` Nick Piggin
2009-01-14 17:22 ` Peter Zijlstra
2009-01-15 0:46 ` Nick Piggin
2009-01-15 7:44 ` Peter Zijlstra
2009-01-15 7:52 ` Nick Piggin
2009-01-14 18:33 ` [GIT PULL] adaptive spinning mutexes Ingo Molnar
2009-01-14 18:40 ` Chris Mason
2009-01-15 9:53 ` Ingo Molnar
2009-01-14 18:47 ` Ingo Molnar
2009-01-14 19:28 ` Ingo Molnar
2009-01-15 17:44 ` Matthew Wilcox
2009-01-15 18:05 ` Linus Torvalds
2009-01-15 18:08 ` Ingo Molnar
2009-01-15 18:16 ` Linus Torvalds
2009-01-15 19:26 ` Chris Mason
2009-01-15 20:13 ` Linus Torvalds
2009-01-15 21:04 ` Chris Mason
2009-01-15 22:03 ` Ingo Molnar
2009-01-16 13:32 ` Folkert van Heusden
2009-01-16 13:57 ` Folkert van Heusden
2009-01-16 18:37 ` Bill Davidsen
2009-01-16 0:53 ` Paul E. McKenney
2009-01-16 1:01 ` Linus Torvalds
2009-01-16 1:34 ` Paul E. McKenney
2009-01-16 14:07 ` Folkert van Heusden
2009-01-16 3:03 ` Nick Piggin
2009-01-15 18:06 ` Ingo Molnar
2009-01-14 18:53 ` Andrew Morton
2009-01-14 19:00 ` Ingo Molnar
2009-01-14 19:36 ` Andrew Morton
2009-01-14 19:50 ` Peter Zijlstra
2009-01-14 20:21 ` Andrew Morton
2009-01-14 20:27 ` Ingo Molnar
2009-01-14 20:44 ` Andrew Morton
2009-01-14 20:14 ` Ingo Molnar
2009-01-14 20:30 ` Andrew Morton
2009-01-14 20:51 ` Ingo Molnar
2009-01-14 21:06 ` Andrew Morton
2009-01-14 21:14 ` Ingo Molnar
2009-01-14 21:35 ` Andrew Morton
2009-01-14 23:23 ` Ingo Molnar
2009-01-15 0:55 ` Nick Piggin
2009-01-14 21:41 ` Ingo Molnar
2009-01-14 21:50 ` Kay Sievers
2009-01-14 22:34 ` Ingo Molnar
2009-01-15 11:45 ` Folkert van Heusden
2009-01-15 12:53 ` Chris Samuel
2009-01-14 19:23 ` Peter Zijlstra
2009-01-14 19:33 ` Ingo Molnar [this message]
2009-01-15 8:41 ` [PATCH] mutex: set owner only once on acquisition Johannes Weiner
2009-01-15 8:56 ` Johannes Weiner
2009-01-13 18:12 ` [PATCH -v9][RFC] mutex: implement adaptive spinning Ingo Molnar
2009-01-13 18:21 ` Linus Torvalds
2009-01-13 18:24 ` Ingo Molnar
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=20090114193317.GA23227@elte.hu \
--to=mingo@elte.hu \
--cc=SDietrich@novell.com \
--cc=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=andi@firstfloor.org \
--cc=chris.mason@oracle.com \
--cc=dmitry.adamushko@gmail.com \
--cc=ghaskins@novell.com \
--cc=hannes@cmpxchg.org \
--cc=linux-btrfs@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=matthew@wil.cx \
--cc=npiggin@suse.de \
--cc=paulmck@linux.vnet.ibm.com \
--cc=pmorreale@novell.com \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox