From: Alex Shi <alex.shi@linaro.org>
To: Mike Galbraith <efault@gmx.de>, Peter Zijlstra <peterz@infradead.org>
Cc: LKML <linux-kernel@vger.kernel.org>
Subject: Re: 9908859acaa9 cpuidle/menu: add per CPU PM QoS resume latency consideration
Date: Wed, 22 Feb 2017 22:31:26 +0800 [thread overview]
Message-ID: <ac73da0c-4a0d-c36b-9d5a-fe88de3a1acf@linaro.org> (raw)
In-Reply-To: <1487769542.4487.2.camel@gmx.de>
On 02/22/2017 09:19 PM, Mike Galbraith wrote:
> On Wed, 2017-02-22 at 14:12 +0100, Peter Zijlstra wrote:
>> On Wed, Feb 22, 2017 at 01:56:37PM +0100, Mike Galbraith wrote:
>>> Hi,
>>>
>>> Do we really need a spinlock for that in the idle loop?
>>
>> Urgh, that's broken on RT, you cannot schedule the idle loop.
>
> That's what made me notice the obnoxious little bugger.
Hi Mike,
Sorry for this bug. Guess the rt_spin_lock call some function in
rtmutex.c:995. Could you like to show me how to reproduce this bug?
>
> [ 77.608340] BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:995
> [ 77.608342] in_atomic(): 1, irqs_disabled(): 1, pid: 0, name: swapper/1
> [ 77.608343] INFO: lockdep is turned off.
> [ 77.608344] irq event stamp: 59222
> [ 77.608353] hardirqs last enabled at (59221): [<ffffffff81105a1f>] rcu_idle_exit+0x2f/0x50
> [ 77.608362] hardirqs last disabled at (59222): [<ffffffff810d4f1a>] do_idle+0x9a/0x290
> [ 77.608372] softirqs last enabled at (0): [<ffffffff8107b8f1>] copy_process.part.34+0x5f1/0x22a0
> [ 77.608374] softirqs last disabled at (0): [< (null)>] (null)
> [ 77.608374] Preemption disabled at:
> [ 77.608383] [<ffffffff817282b2>] schedule_preempt_disabled+0x22/0x30
> [ 77.608387] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G W E 4.11.0-rt9-rt #163
> [ 77.608389] Hardware name: Intel Corporation BRICKLAND/BRICKLAND, BIOS BRHSXSD1.86B.0056.R01.1409242327 09/24/2014
> [ 77.608390] Call Trace:
> [ 77.608399] dump_stack+0x85/0xc8
> [ 77.608405] ___might_sleep+0x15d/0x260
> [ 77.608409] rt_spin_lock+0x24/0x80
> [ 77.608419] dev_pm_qos_read_value+0x1e/0x40
> [ 77.608424] menu_select+0x56/0x3e0
> [ 77.608426] ? rcu_eqs_enter_common.isra.40+0x9d/0x160
> [ 77.608435] cpuidle_select+0x13/0x20
> [ 77.608438] do_idle+0x182/0x290
> [ 77.608445] cpu_startup_entry+0x48/0x50
> [ 77.608450] start_secondary+0x133/0x160
> [ 77.608453] start_cpu+0x14/0x14
>
next prev parent reply other threads:[~2017-02-22 14:31 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-22 12:56 Mike Galbraith
2017-02-22 13:12 ` Peter Zijlstra
2017-02-22 13:19 ` Mike Galbraith
2017-02-22 14:31 ` Alex Shi [this message]
2017-02-22 14:39 ` Peter Zijlstra
2017-02-22 14:55 ` Alex Shi
2017-02-23 12:15 ` Rafael J. Wysocki
2017-02-23 13:08 ` Mike Galbraith
2017-02-23 13:58 ` Alex Shi
2017-02-23 13:55 ` Alex Shi
2017-02-23 22:34 ` Rafael J. Wysocki
2017-02-24 1:49 ` Alex Shi
2017-02-24 12:25 ` [PATCH] cpuidle: menu: Avoid taking spinlock for accessing QoS values Rafael J. Wysocki
2017-02-22 14:46 ` 9908859acaa9 cpuidle/menu: add per CPU PM QoS resume latency consideration Mike Galbraith
2017-02-22 14:53 ` Alex Shi
2017-02-22 15:03 ` Mike Galbraith
2017-02-22 15:36 ` Alex Shi
2017-02-22 15:46 ` Mike Galbraith
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=ac73da0c-4a0d-c36b-9d5a-fe88de3a1acf@linaro.org \
--to=alex.shi@linaro.org \
--cc=efault@gmx.de \
--cc=linux-kernel@vger.kernel.org \
--cc=peterz@infradead.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
all inboxes | Powered by JetHome®