What's the status of parallel netisr?

Jian Qiu swordqiu at gmail.com
Sat Sep 20 15:36:42 UTC 2008


Hi, Kevin,
>
> Did you try locking down the CPUs used with cpuset (FreeBSD) or taskset
> (Linux)? This can make a very substantial difference. Something like a
> UDP canon will run far more efficiently if locked to a single CPU and
> will run best if that CPU is not processing the interrupts.


As far as I know, on the sending path, a UDP packet will be directly
put on the sending queue of the relevant NIC. The UDP stack codes are
executed on the CPU where the sending application is running. On the
receiving path, iIf the packet is received from a loopback interface,
the UDP stack codes are executed in the context of netisr softirq.

Did you mean I should bind the sending application to one CPU and
netsir softirq to another CPU?

Thanks.

Jian


More information about the freebsd-net mailing list