tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Lockless IP input queue, the pktqueue interface



Hello,

As we are trying to bring more parallelism in our network stack, I would
like to make IPv4 and IPv6 input queues lockless.  This is implemented by
replacing struct ifqueue and macros around it with a pktqueue interface.
This interface also abstracts and handles network ISR scheduling and that
will allow us to easily add receiver-side packet steering later.

http://www.netbsd.org/~rmind/ip_pktq.diff

The patch makes the following changes:
- Implements pktqueue interface (see pktqueue.{c,h} files).
- Replaces ipintrq and ip6intrq with the pktqueue mechanism.
- Eliminates kernel-lock from ipintr() and ip6intr().
- Some preparation work to push softnet_lock out of ipintr().

Extra testing would be helpful.

Thanks.

-- 
Mindaugas


Home | Main Index | Thread Index | Old Index