Re: [LARTC] CBQ and WRR

Linux Advanced Routing and Traffic Control

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

 



Hi,

> > Hmm... Maybe you talk about how WRR/DRR is implemented in CBQ?
> > A pure WRR scheduler works perfect no matter what size the packets have.
> > If, of course, the scheduler takes packet sizes into account.
> > What exactly is the problem with a WRR scheduler?
> 
> There are other minor details (hence my suggestion to read the paper
> because i cant remember details),

Maybe I will read it some day ;-)

> but fixing the deficit such that you
> take into consideration 'byte credit' a queue has when you preempt it
> makes a WRR implementation closer to DRR.

Well, the WRR qdisc essentially works this way:

* For each band (=class) there is a byte counter
* When a band transfers a packet the byte counter is increased by the packet size divided with the weight (which is a number between 0 and 1)
* The next band that can transfer a packet is always the one with the lowest byte counter.

It also does some additional things to make sure that when a new band has something to send it can send it immedialty. I don't see any way this scheme can be improved.

> > What I really need is a paper describing CBQ in Linux - the original
> > article desribing CBQ is very generel. And when I experimented with CBQ
> > the last time I did not see the behaviour I would exepect from the
> > article assuming that the generel scehudler was a WRR scheduler.
> 
> The original CBQ implementation is the classical WRR;

But it did not take the packet size into account?

> Note there have been attempts to document Linux CBQ; search the mailing
> list.

Hmm, interesseting, maybe I should subscribe to the linux-diffserv mailing list. 


Christian




[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux