Hi Jonathan,

On Mar 22, 2015, at 11:43 , Jonathan Morton <[email protected]> wrote:

> 
>> On 22 Mar, 2015, at 11:39, Sebastian Moeller <[email protected]> wrote:
>> 
>> I could be out to lunch here, as usual,;but I argue the byte limit should 
>> include the kernel overhead (could this be based on skb->truesize) as this 
>> is what counts against real memory. My assumption here is that in normal 
>> operation we rarely/never get queues to fill up to the limit anyways
> 
> Such an argument could certainly be made.  Does skb->truesize include the skb 
> header, as well as the buffer space allocated?

        According to http://vger.kernel.org/~davem/skb_sk.html (“We keep track 
of how many bytes of system memory are consumed by a packet in 'skb->truesize'. 
This is the total of how large a data buffer we allocated for the packet, plus 
the size of 'struct sk_buff' itself.") it looks like this should be the right 
number, but I am not well versed in reading kernel code, so there might be some 
caveats I am not aware of.

> 
>> (as tho would turn the queue into tail-drop effectively)
> 
> But fq_codel (and cake) are a little cleverer than that, even when they hit 
> the hard limit.  They still drop from the head, and they shoot the longest 
> flow-queue first.

        Excellent, learned something new today; in fq_codel does this come from 
the per-codel instance 1000 packet limit or from the default fq_codel 102400? 
packet limit (just in case someone knows off hand, I can try to understand the 
kernel code myself, given enough time ;) )?

Best Regards
        Sebastian

> 
> - Jonathan Morton
> 

_______________________________________________
Codel mailing list
[email protected]
https://lists.bufferbloat.net/listinfo/codel

Reply via email to