Hello,
Please consider the following:
__do_softirq could be run from several checkpoints in kernel and even can employ userspace process context.
For example, under heavy network traffic such process could be blocked for a relatively large period until ksoftirqd wakes up and takes control for Rx/Tx.
In the case of regular userspace process the ksoftirqd solves the kernel/user trade-off problem pretty well.
However, in the case of _real-time_ process, such behavior may yield severe outcomes. Real-time (e.g. NTPL FIFO thread) might require short responses and low latency.
The proposal is that __do_softirq should not run its pending tasks in the context of RT process. Just check has_rt_policy() and immediately wake up ksoftirqd.
Regards,
- Kostya
_________________________________________________________________
Invite your mail contacts to join your friends list with Windows Live Spaces. It's easy!
http://spaces.live.com/spacesapi.aspx?wx_action=create&wx_url=/friends.aspx&mkt=en-us
--