On Wed, Jul 21, 2004 at 11:08:32PM +0200, Ingo Molnar wrote:
did you get my other mail in which i explained how
e.g. the networking
code _relies_ on the softirq semantics?
Yes, but not until after I sent that e-mail.
Do you also
add preemption checks in all of the various loops that can
be run from within a single softirq instance?
no, that's the next step, if those loops turn out to be problematic.
E.g. network device backlogs default to a value of 100 or so which
shouldnt generate too bad latencies. If it does it's easy to break out
of those loops, they are already breakout-aware.
I suppose it depends on what sort of latencies you're trying to
achieve, and how fast the hardware you're running on is. In our 2.4
kernel we typically achieved worst case latencies of 50us or so on PC
hardware, and a few hundred us on slower embedded hardware. Packet
processing would have to be awfully fast to cram 100 packets in that
time...
-Scott