All of lore.kernel.org
 help / color / mirror / Atom feed
From: Frank Rowand <frank.rowand@am.sony.com>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: "Rowand, Frank" <Frank_Rowand@sonyusa.com>,
	"tglx@linutronix.de" <tglx@linutronix.de>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-rt-users@vger.kernel.org" <linux-rt-users@vger.kernel.org>
Subject: Re: 3.0.23-rt39 BUG: scheduling while atomic, _cpu_down()
Date: Fri, 9 Mar 2012 18:12:43 -0800	[thread overview]
Message-ID: <4F5AB89B.9080001@am.sony.com> (raw)
In-Reply-To: <1331344992.25686.612.camel@gandalf.stny.rr.com>

On 03/09/12 18:03, Steven Rostedt wrote:
> On Fri, 2012-03-09 at 17:51 -0800, Frank Rowand wrote:
>> Hi Thomas,
>> (and Steve, since you've been mucking about in the hotplug code,)
>>
>> Yet another bit of fallout related to hotplug.
>>
>> This appears to affect 3.0-rt1, 3.0.23-rt29, and 3.2.9-rt17.
>> (Thus probably all 3.x versions, but I haven't been masochistic
>> enough to check.)
>>
>> If not defined CONFIG_PREEMPT_RT_FULL then
> 
> So you're saying that there's a bug with PREEMPT_RT off?

Yes, that is the problem.  But it is due to the RT patches,
not present in mainline.


>>   - hotplug_lock() is a mutex_lock()
>>   - cpu_hotplug_begin() calls hotplug_lock()
>>   - _cpu_down() calls cpu_hotplug_begin() with preemption
>>     disabled (disabled by the migrate_disable())
>>
>> The call to cpu_hotplug_begin() is not in a preempt disabled
>> region until hotplug-use-migrate-disable.patch.  This patch
>> moves the preempt_enable() (aka migrate_enable()) from just
>> before calling cpu_hotplug_begin() to after "out_cancel:".
>>
>> The BUG can be triggered by:
>>
>>    echo 0 > /sys/devices/system/cpu/cpu1/online 
> 
> Note, there's a lot more wrong with hotplug in rt than this. The hotplug
> code really needs a total rewrite for RT to work with it. It probably
> should have a total rewrite in mainline anyway.

Yep, I've been watching all the hotplug related conversations with interest...

-Frank


      reply	other threads:[~2012-03-10  2:13 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-10  1:51 3.0.23-rt39 BUG: scheduling while atomic, _cpu_down() Frank Rowand
2012-03-10  2:03 ` Steven Rostedt
2012-03-10  2:12   ` Frank Rowand [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=4F5AB89B.9080001@am.sony.com \
    --to=frank.rowand@am.sony.com \
    --cc=Frank_Rowand@sonyusa.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rt-users@vger.kernel.org \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    /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.