All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sasha Levin <sasha.levin@oracle.com>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: Ingo Molnar <mingo@elte.hu>, Ingo Molnar <mingo@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Dave Jones <davej@redhat.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: sched: BUG in load_balance
Date: Mon, 18 Feb 2013 21:19:26 -0500	[thread overview]
Message-ID: <5122E12E.6000109@oracle.com> (raw)
In-Reply-To: <1361237185.23152.174.camel@gandalf.local.home>

On 02/18/2013 08:26 PM, Steven Rostedt wrote:
> On Mon, 2013-02-18 at 19:55 -0500, Sasha Levin wrote:
>> Hi all,
>>
>> While fuzzing with trinity inside a KVM tools guest, running today's -next,
>> I've stumbled on the following spew.
>>
>> I've cc'ed Steven Rostedt since the culprit looks like "sched: Enable
>> interrupts in idle_balance()".
> 
> You're correct. Interrupts are ok but softirqs must still be disabled.
> 
> The following patch should work.
> 
> -- Steve
> 
> Only compiled tested:
> 
> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
> index 0fcdbff..a31174c 100644
> --- a/kernel/sched/fair.c
> +++ b/kernel/sched/fair.c
> @@ -5222,9 +5222,9 @@ void idle_balance(int this_cpu, struct rq *this_rq)
>  	update_rq_runnable_avg(this_rq, 1);
>  
>  	/*
> -	 * Drop the rq->lock, but keep preempt disabled.
> +	 * Drop the rq->lock, but keep softirqs disabled.
>  	 */
> -	preempt_disable();
> +	local_bh_disable();
>  	raw_spin_unlock_irq(&this_rq->lock);
>  
>  	update_blocked_averages(this_cpu);
> @@ -5253,7 +5253,7 @@ void idle_balance(int this_cpu, struct rq *this_rq)
>  	rcu_read_unlock();
>  
>  	raw_spin_lock_irq(&this_rq->lock);
> -	preempt_enable();
> +	local_bh_enable();

I have to admit, I'm slightly confused with the patch: there's a raw_spin_lock_irq()
followed by local_bh_enable(). afaik it's illegal to call local_bh_enable() with
interrupts disabled.


Thanks,
Sasha


  reply	other threads:[~2013-02-19  2:20 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-19  0:55 sched: BUG in load_balance Sasha Levin
2013-02-19  1:26 ` Steven Rostedt
2013-02-19  2:19   ` Sasha Levin [this message]
2013-02-19  2:34     ` Steven Rostedt

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=5122E12E.6000109@oracle.com \
    --to=sasha.levin@oracle.com \
    --cc=davej@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=mingo@kernel.org \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.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 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.