On Sun, 2008-20-07 at 10:25 -0700, David Miller wrote:pfifo_fast would be a bad choice in that case, but even a pfifo cannot guarantee proper RR because it would present packets in a FIFO order (and example the first 10 could go to hardware queue1 and the next to hardware queue2). My view: i think you need a software queue per hardware queue. Maybe even these queues residing in the driver; that way you take care of congestion and it doesnt matter if the hardware is RR or strict prio (and you dont need the pfifo or pfifo_fast anymore). The use case would be something along: packets comes in, you classify find its for queue1, grab the per-hardware-queue1 lock, find the hardware queue1 is overloaded and stash it instead in s/ware queue1. If it wasnt congested, it would go on hardware queue1. When hardware queue1 becomes available and netif-woken, you pick first from s/ware queue1 (and batching could apply cleanly here) and send them to hardware queue. I am suprised prioritization is not an issue. [My understanding of the intel/cisco datacentre cabal is they serve virtual machines using virtual wires; i would think in such scenarios youd have some customers who pay more than others]. Total parallelization happens in the ideal case. If X cpus classify packets going to X different hardware queueus each CPU grabs only locks for that hardware queue. In virtualization, where only one customer's traffic is going to a specific hardware queue, things would work well. Non-virtualization scenario may result in collision in which two or more CPUs may contend for the same hardware queue (either transmitting or netif-waking etc). 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
| david | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Bart Van Assche | Integration of SCST in the mainstream Linux kernel |
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| Heiko Carstens | Re: -mm merge plans for 2.6.23 -- sys_fallocate |
git: | |
| David Miller | Re: [GIT]: Networking |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Gerrit Renker | [PATCH 05/37] dccp: Cleanup routines for feature negotiation |
| Lennert Buytenhek | [PATCH 16/39] mv643xx_eth: get rid of ETH_/ethernet_/eth_ prefixes |
