tech-net archive

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

Re: Lockless IP input queue, the pktqueue interface



Hi rmind,

maxlen of ip{,6}_pktq cannot be updated via sysctl.
It seems that we need to do it in sysctl_pktq_count
somehow.

Thanks,
  ozaki-r


On Tue, May 27, 2014 at 11:52 AM, Mindaugas Rasiukevicius
<rmind%netbsd.org@localhost> wrote:
> 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