On Fri, 2008-18-07 at 14:05 -0700, David Miller wrote:In the simple case of a single hardware queue/ring, the mapping between a hardware queue and "physical wire" is one-to-one. So in that case one could argue the root qdiscs are scheduling a device. IMO, in the case of multiple hardware queues per physical wire, and such a netdevice already has a built-in hardware scheduler (they all seem to have this feature) then if we can feed the hardware queues directly, theres no need for any intermediate buffer(s). In such a case, to compare with qdisc arch, its like the root qdisc is in hardware. The only need for intermediate s/ware queues is for cases of congestion. If you could have a single software queue for each hardware queue, then you still have the obligation of correctness to make sure higher prio hardware rings get fed with packets first (depending on the hardwares scheduling capability). sure; i think you could achieve the goals by using the single queue with a software pfifo_fast which maps skb->prio to hardware queues. such a pfifo_fast may even sit in the driver. This queue will always be empty unless you have congestion. The other thing is to make sure there is an upper bound to the size of this queue; otherwise a remote bug could cause it to grow infinitely and consume all memory. cheers, jamal -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
| Andrew Morton | Re: -mm merge plans for 2.6.23 -- sys_fallocate |
| david | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Linus Torvalds | Linux 2.6.27-rc5 |
| David Miller | Re: [PATCH] net: Fix the prototype of call_netdevice_notifiers |
git: | |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| David Miller | Re: [GIT]: Networking |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
