Re: [PATCH 1/2] NET: Multiple queue network device support

From: David Miller
Date: Mon Feb 26 2007 - 20:03:36 EST


From: "Kok, Auke" <auke-jan.h.kok@xxxxxxxxx>
Date: Thu, 08 Feb 2007 16:09:50 -0800

> From: Peter Waskiewicz Jr <peter.p.waskiewicz.jr@xxxxxxxxx>
>
> Added an API and associated supporting routines for multiqueue network
> devices. This allows network devices supporting multiple TX queues to
> configure each queue within the netdevice and manage each queue
> independantly. Changes to the PRIO Qdisc also allow a user to map
> multiple flows to individual TX queues, taking advantage of each queue
> on the device.
>
> Signed-off-by: Peter Waskiewicz Jr <peter.p.waskiewicz.jr@xxxxxxxxx>
> Signed-off-by: Auke Kok <auke-jan.h.kok@xxxxxxxxx>

Thanks for posting this.

I was wonding if it would be better to have the ->enqueue() perform
the mapping operation, store the queue index selected inside of the
skb, and just use the normal ->hard_start_xmit() to send the packet
out?

The only thing to take care of is the per-queue locking, but that
should be easily doable.

We might be able to do this even without making sk_buff any larger.
For example, I suppose skb->priority might be deducable down to
a u16. After a quick audit I really cannot see any legitimate use
of anything larger than 16-bit values, but a more thorough audit
would be necessary to validate this.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/