LWN.net Logo

Interrupt Latencies?

Interrupt Latencies?

Posted Feb 3, 2006 0:34 UTC (Fri) by xoddam (subscriber, #2322)
In reply to: Interrupt Latencies? by simlo
Parent article: Van Jacobson's network channels

> This way work is moved from kernel threads into userspace and
> into the interrupt handler.

Packet handling isn't currently done in kernel threads, it's done in
tasklets (OK, tasklets do run in a softirqd thread with the RT patch).
That's a great way to hog a CPU, and the channel implementation fixes the
problem by passing work to a thread, just as you suggest! In the slides
you'll see that the example channel 'producer' code wakes the listening
thread, so the 'consumer' is necessarily a task (but not necessarily a
userspace one).

An O(log n) search algorithm in the isr would indeed have high latency
with a very large number of channels to choose from -- but there is no
reason why the isr would have to select the final target amongst millions
of user sockets; channels are just as good for intermediate queueing
within the kernel as they are for delivery to userspace.


(Log in to post comments)

Copyright © 2012, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds