RE: [PATCH] NET: [UPDATED] Multiqueue network device support implementation.

2007-04-11 Thread Waskiewicz Jr, Peter P
+ skb-queue_mapping = + q-prio2band[q-band2queue[bandTC_PRIO_MAX]]; Does this needs to be cleared at some point again? TC actions might redirect or mirror packets to other (multiqueue) devices. If an skb is redirected to another device,

RE: [PATCH] NET: [UPDATED] Multiqueue network device support implementation.

2007-04-11 Thread Waskiewicz Jr, Peter P
Thanks. However, the PRIO qdisc still uses the priority in the bands for dequeueing priority, and will feed the queues on the NIC. The e1000, and any other multiqueue NIC, will schedule Tx based on how the PRIO qdisc feeds the queues. So the only priority here is the dequeuing

Re: [PATCH] NET: [UPDATED] Multiqueue network device support implementation.

2007-04-11 Thread Patrick McHardy
Waskiewicz Jr, Peter P wrote: Packets will only be dequeued from a band if the associated subqueue is active, which moves the decision from prio to the driver, no? What policy does e1000 use for scheduling its internal queues? E1000 is handed the skb's from PRIO to whichever queue the PRIO

Re: [PATCH] NET: [UPDATED] Multiqueue network device support implementation.

2007-04-11 Thread Zhu Yi
On Wed, 2007-04-11 at 19:03 +0200, Patrick McHardy wrote: You bring up a good point, it would be good to hear the opinion from one of the wireless people on this since they have their own multiqueue scheduler in the wireless-dev tree. The one in the wireless-dev is pretty much like this

Re: [PATCH] NET: [UPDATED] Multiqueue network device support implementation.

2007-04-10 Thread Patrick McHardy
Waskiewicz Jr, Peter P wrote: Thanks Pat for the initial feedback. I can post a set of patches to e1000 using the new API; I'll try to get them out asap (need to apply to this kernel tree). Thanks. However, the PRIO qdisc still uses the priority in the bands for dequeueing priority, and

Re: [PATCH] NET: [UPDATED] Multiqueue network device support implementation.

2007-04-10 Thread Patrick McHardy
Peter P Waskiewicz Jr wrote: + /* To retrieve statistics per subqueue - FOR FUTURE USE */ + struct net_device_stats* (*get_subqueue_stats)(struct net_device *dev, + int queue_index); Please no future use stuff, just add it when you

RE: [PATCH] NET: [UPDATED] Multiqueue network device support implementation.

2007-04-10 Thread Waskiewicz Jr, Peter P
Peter P Waskiewicz Jr wrote: + /* To retrieve statistics per subqueue - FOR FUTURE USE */ + struct net_device_stats* (*get_subqueue_stats)(struct net_device *dev, + int queue_index); Please no future use stuff, just add it when

Re: [PATCH] NET: [UPDATED] Multiqueue network device support implementation.

2007-04-10 Thread Patrick McHardy
Waskiewicz Jr, Peter P wrote: This leaks the device. You treat every single-queue device as having a single subqueue. If it doesn't get too ugly it would be nice to avoid this and only allocate the subqueue states for real multiqueue devices. We went back and forth on this. The reason we

Re: [PATCH] NET: [UPDATED] Multiqueue network device support implementation.

2007-04-09 Thread Patrick McHardy
Peter P Waskiewicz Jr wrote: From: Peter P Waskiewicz Jr [EMAIL PROTECTED] Update: Fixed a typecast in free_netdev() for the egress_subqueue list. Added an API and associated supporting routines for multiqueue network devices. This allows network devices supporting multiple TX queues to

RE: [PATCH] NET: [UPDATED] Multiqueue network device support implementation.

2007-04-09 Thread Waskiewicz Jr, Peter P
This indeed looks a lot better than the first patch. I'm too tired to fully review this now, but could you please post the corresponding e1000 patch? From a quick look I'm guessing that this patch changes the behaviour of the prio qdisc from strict priority to whatever scheduling