Messages in this thread | | | Date | Fri, 12 May 2006 04:45:24 -0400 (EDT) | From | Steven Rostedt <> | Subject | Re: rt20 patch question |
| |
On Fri, 12 May 2006, Ingo Molnar wrote:
> > > So I guess we have a case that we can schedule, but while atomic and > > BUG when it's really not bad. Should we add something like this: > > that's not good enough, we must not schedule with the preempt_count() > set.
It gets even worse, with your new fix, the softirq will schedule with interrutps disabled, which would definitely BUG.
> > one solution would be to forbid disable_irq() from softirq contexts, and > to convert the vortex timeout function to a workqueue and use the > *_delayed_work() APIs to drive it - and cross fingers there's not many > places to fix.
I prefer the above. Maybe even add a WARN_ON(in_softirq()) in disable_irq.
But I must admit, I wouldn't know how to make that change without spending more time on it then I have for this.
> > another solution would be to make softirqs preemptible if they are > threaded. I'm a bit uneasy about that though. In that case we'd also > have to make HARDIRQ threading dependent on softirq threading, in the > Kconfig.
scary.
-- Steve
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |