traffic shaping and queues inside a network driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



In Linux, traffic shaping happens in the kernel, which is good when CPU is the bottleneck.
However, if network media become a bottleneck, if have to implement traffic shaping
(mostly QoS) in the driver. Synchronizing these two can become an issue.


Question - suppose one has DiffServ enabled and also has a number of queues in the driver
to implement QoS on the media (I'm actually talking about real life example from 802.11).
If one of the queues inside a driver becomes full, the driver has to call netif_queue_stop,
effectively stopping all the queues, which is terribly inefficient. It would be much better
if there was a way to stop just one queue in DiffServ, which corresponds to that particular
queue in a driver. But then again, the driver would have to know about DiffServ, which
it should not.


Is there any good solution for that problem ? I can't seem to find any, except for dropping
packets in the driver...


--
Alexander Sirotkin
SW Engineer

Texas Instruments
Broadband Communications Israel (BCIL)
Tel: +972-9-9706587
________________________________________________________________________
"Those who do not understand Unix are condemned to reinvent it, poorly."
-- Henry Spencer



- : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux