CPU affinity with ULE scheduler
Ivan Voras
ivoras at freebsd.org
Mon Nov 17 05:18:02 PST 2008
Archimedes Gaviola wrote:
> With net.isr.direct=0, my IBM system lessens CPU utilization per
> interface (bce0 and bce1) but swi1:net increase its utilization.
> Can you explained what's happening here? What does net.isr.direct do
> with the decrease of CPU utilization on its interface?
The system has a choice between processing the packets in the interrupt
handler (the "irq:bce" process) or in a dedicated network process (the
"swi:net" process). This is about protocol handling not simply receiving
packets. With net.isr.direct you're toggling between those two options.
If "direct" is 1, the packets are processed in the interrupt handler; if
it's 0, the processing is delegated to swi. It's set to 1 by default
because this setting should yield best latency.
In both cases the code path a packet must go through is very similar: it
has to be received, then processed through firewalls and network stack
code, then delivered to application(s), so it's a serial process. There
are things that could be better parallelized in the stack and people are
working on them, but they will not be finished any time soon.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 252 bytes
Desc: OpenPGP digital signature
Url : http://lists.freebsd.org/pipermail/freebsd-smp/attachments/20081117/5c417e8c/signature.pgp
More information about the freebsd-smp
mailing list