Community discussions

MikroTik App
 
dtaht
Member Candidate
Member Candidate
Topic Author
Posts: 209
Joined: Sat Aug 03, 2013 5:46 am

BQL and Default Queue lengths

Mon Jun 06, 2022 4:55 pm

Since linux 3.3, many ethernet drivers gained support for the BQL facility, which limits the amount of data in the ethernet tx ring enormously. Basically it stores up "just enough data" to smooth out an interrupt. At a 100Mbit that might be *2* large packets, or 30 small ones, and then punts the more complex queue management to the overlying qdisc, being fq_codel by default nowadays in mainline linux.

BQL was the first major step we made towards realizing that "bytes = time" and if we stopped using "packet limits" but byte limits,
we smoothed out latency on networks enormously.

For more info, see here: https://lwn.net/Articles/469652/

Why am I asking?

I don't know what size txring is configured to for any mikrotik device, nor how to find out or set it, nor if BQL is enabled for any routerOS 7.x version?

Mikrotik has defined (by default) a very short txqueue on top of that - 50 packets for a FIFO, or SFQ, which is (or was) a very good idea to keep latencies low in the pre-2012 era, especially on 100Mbit links or less. Even then the fairly default tx ring size of 256 was pretty darn large, 33.280 ms of induced latency lurking in the "100Mbit physical rate" just in the device rings, reduced to less than a ms by BQL.

It would be my hope BQL is enabled on at least some of the 7.2 or 7.3 gear...

Who is online

Users browsing this forum: GoogleOther [Bot] and 56 guests