At this point I am only aware of one place in the kernel where timers and
other BH code interact, that being deliver_to_old_ones() in net/core/dev.c.
Even there, it appears that the interaction is not with another BH but with
code that at one time was BH code. As I understand it, BH and all of its
support stuff is being removed from the kernel. That is why I was asked to
submit this patch. So far, this is the only area that has come up as a
locking or serialization problem.
As to this bit of code, it appears that changing it to do much the same as
it did to the timer_bh to the new timer softirq should resolve the issue.
If you have additional input on this or other problems that need to be addressed,
I welcome it.
Correct me if I am wrong, but it looks like the network code has already left
the BH playing field.
>
~snip
>
> > Not really. One REALLY expects timers to expire in timed order :) Using
> > a separate procedure to deliver a timer just because it is of a different
> > resolution opens one up to a world of pathology.
>
> Are you going to mix use of hires and lores timers for one task?
Of course. Why use high-res when you don't need it? There is additional
overhead for high-res. To require all timers to be high-res when only one
is needed is a waste.
-- George Anzinger george@mvista.com High-res-timers: http://sourceforge.net/projects/high-res-timers/ Real time sched: http://sourceforge.net/projects/rtsched/ Preemption patch: http://www.kernel.org/pub/linux/kernel/people/rml - 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/