[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080328140924.GC29218@elte.hu>
Date: Fri, 28 Mar 2008 15:09:24 +0100
From: Ingo Molnar <mingo@...e.hu>
To: Herbert Xu <herbert@...dor.apana.org.au>
Cc: David Miller <davem@...emloft.net>, Matheos.Worku@....COM,
jesse.brandeburg@...el.com, jarkao2@...il.com,
netdev@...r.kernel.org, hadi@...erus.ca
Subject: Re: 2.6.24 BUG: soft lockup - CPU#X
* Herbert Xu <herbert@...dor.apana.org.au> wrote:
> On Fri, Mar 28, 2008 at 11:56:29AM +0100, Ingo Molnar wrote:
> >
> > hm, what's the context of this discussion? The call chain looks ok,
> > that's how we preempt tasks from the timer tick. But other code besides
> > the scheduler shouldnt do this.
>
> The code under discussion is __qdisc_run from net/sched/sch_generic.c.
>
> It runs with BH off from either process context or softirq context. As
> it is it can keep running forever. We were discussing adding a
> need_resched check in there. So the question is would need_resched
> ever get updated while BH is disabled?
yes, certainly - as long as the timer irq is allowed. (i.e. hardirqs are
not disabled) The scheduler tick runs from hardirq context, not from
softirq context. (that's how we can preempt softirq threads on the -rt
kernel for example)
Ingo
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists