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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]