TX Multiqueue?

Jack Vogel jfvogel at gmail.com
Mon Sep 24 10:28:02 PDT 2007

On 9/23/07, Kip Macy <kip.macy at gmail.com> wrote:
> On 9/23/07, Darren Reed <darrenr at freebsd.org> wrote:
> > Kip Macy wrote:
> > > My ethng branch supports multiple rx and tx queues.
> > >
> > >  -Kip
> > >
> >
> > What are your plans for how we use/manage/interact with the mutiple
> > rx/tx queues?
> The rx hardware queue is determined by the hardware. Different
> hardware allows for different policies. I just use the stock rss_hash
> of a crc32 of the 4-tuple in cxgb. I've added a field to the pkthdr
> which cxgb uses the least significant bits of to determine which
> outbound queue to use. Its up to the upper layers to determine how to
> set those bits. One of the changes that is required to take advantaged
> of this is moving the queues into the driver. I've added a new
> if_start function to ifnet to take advantage of this. I also have a
> normal if_start function for backward compatibility.

Yes, the queues in Oplin and Zoar are also a hardware feature, not
just some software infrastructure. There are a number of different
ways that it can be configured. I did not have some settled notion
of how things should be managed but I would rather not have it
be something done under the covers in the driver, a configurable
stack option seems better to me. This needs to be done right or
it will just be a hack, I don't know who the right parties are, it should
not be just a one-person decision, those with a stake in this sort
of thing should all be involved.



More information about the freebsd-net mailing list