[Cake] [PATCH] - I dont know when reciprocal_scale entered the kernel however
Dave Taht
dave.taht at gmail.com
Wed Apr 22 12:29:55 EDT 2015
diff --git a/codel5.h b/codel5.h
index 2ccc65a..a3876ca 100644
--- a/codel5.h
+++ b/codel5.h
@@ -60,6 +60,14 @@
/* Backport some stuff. FIXME: I dont know when these entered
the kernel exactly. */
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(3,14,0)
+
+static inline u32 reciprocal_scale(u32 val, u32 ep_ro)
+{
+ return (u32)(((u64) val * ep_ro) >> 32);
+}
+
+#endif
#if LINUX_VERSION_CODE <= KERNEL_VERSION(3,16,0)
static inline void qdisc_qstats_backlog_dec(struct Qdisc *sch,
--
1.9.1
On Wed, Apr 22, 2015 at 9:29 AM, Dave Taht <dave.taht at gmail.com> wrote:
> jonathon: please do try to meet kernel coding standards....
>
>
> ---------- Forwarded message ----------
> From: Stephen Hemminger <stephen at networkplumber.org>
> Date: Wed, Apr 22, 2015 at 8:50 AM
> Subject: Re: [Cake] out of tree "cake" now buildable on multiple linux versions
> To: Dave Taht <dave.taht at gmail.com>
>
>
> Run checkpatch and scream.
>
> On Wed, Apr 22, 2015 at 8:49 AM, Stephen Hemminger
> <stephen at networkplumber.org> wrote:
>>
>> You do know the sch_cake source needs a pass through the indentor to keep the style gods at bay.
>>
>> On Wed, Apr 22, 2015 at 1:16 AM, Dave Taht <dave.taht at gmail.com> wrote:
>>>
>>> Do a:
>>>
>>> git clone https://github.com/dtaht/sch_cake.git
>>>
>>> # IF you have kernel source installed to leverage, adding cake is as easy as:
>>>
>>> cd sch_cake
>>> make; sudo make install
>>>
>>> # How do you install kernel headers on various linuxes?
>>>
>>> NOTE: I did not take the time to get the linux version checks
>>> exactly correct, but did manage to get it to compile on linux
>>> 3.13 and linux 3.18 without error, on x86_64.
>>>
>>> To use it properly, you will also need to build and install the
>>> iproute with cake support:
>>>
>>> git clone git://kau.toke.dk/cake/iproute2/ iproute2-cake
>>> cd iproute2-cake
>>> #edit out the sfq_codel entry in tc/Makefile (for now)
>>> make
>>> make install
>>>
>>> #Then:
>>>
>>> tc qdisc add dev whatever root cake # and whatever options
>>>
>>> Some example results while a rrul test was running:
>>>
>>> d at nuc-client:~/git/iproute2-cake$ ./tc/tc -s qdisc show dev eth0
>>> qdisc cake 8002: root refcnt 2 unlimited diffserv4 flows
>>> Sent 13895939355 bytes 9605458 pkt (dropped 194, overlimits 0 requeues 0)
>>> backlog 318798b 26p requeues 0
>>> Class 0 Class 1 Class 2 Class 3
>>> rate 0bit 0bit 0bit 0bit
>>> target 5.0ms 5.0ms 5.0ms 5.0ms
>>> interval 105.0ms 105.0ms 105.0ms 105.0ms
>>> Pk delay 6.0ms 5.0ms 1us 2.3ms
>>> Av delay 1.5ms 1.4ms 0us 654us
>>> Sp delay 317us 201us 0us 141us
>>> pkts 128068 316663 56 236467
>>> way inds 0 0 0 0
>>> way miss 3 40 3 7
>>> way cols 0 0 0 0
>>> bytes 45317244 11531124242 5524 2320607748
>>> drops 173 21 0 0
>>> marks 0 0 0 0
>>>
>>> A problem I have is in reconciling the netperf-wrapper plots which hit
>>> a minimum of 2ms for sparse flows, where I typically see ~200us delay
>>> in the qdiscs themselves. I have generally not cared at all about
>>> about anything less than 3ms prior to now.
>>>
>>> qdisc cake 8003: root refcnt 2 bandwidth 920Mbit diffserv4 flows
>>> Sent 2298586363 bytes 1826648 pkt (dropped 45, overlimits 474931 requeues 0)
>>> backlog 468331b 25p requeues 0
>>> Class 0 Class 1 Class 2 Class 3
>>> rate 920Mbit 862500Kbit 690Mbit 230Mbit
>>> target 5.0ms 5.0ms 5.0ms 5.0ms
>>> interval 105.0ms 105.0ms 105.0ms 105.0ms
>>> Pk delay 4.6ms 3.2ms 0us 5.2ms
>>> Av delay 1.5ms 1.2ms 0us 1.6ms
>>> Sp delay 303us 290us 0us 191us
>>> pkts 110498 111953 0 181478
>>> way inds 0 0 0 0
>>> way miss 3 31 0 6
>>> way cols 0 0 0 0
>>> bytes 347279080 1377499174 0 574954712
>>> drops 14 0 0 31
>>> marks 0 0 0 0
>>>
>>> Have I mentioned how much I hate offloads? see the backlog relative to
>>> the number of "packets".
>>>
>>> Still, I do think developing this out of tree will help a lot, after
>>> we get kernel versions straightened out more. Next up is trying to get
>>> it to build on openwrt, also out of tree.
>>>
>>> --
>>> Dave Täht
>>> Open Networking needs **Open Source Hardware**
>>>
>>> https://plus.google.com/u/0/+EricRaymond/posts/JqxCe2pFr67
>>> _______________________________________________
>>> Cake mailing list
>>> Cake at lists.bufferbloat.net
>>> https://lists.bufferbloat.net/listinfo/cake
>>
>>
>
>
>
> --
> Dave Täht
> Open Networking needs **Open Source Hardware**
>
> https://plus.google.com/u/0/+EricRaymond/posts/JqxCe2pFr67
--
Dave Täht
Open Networking needs **Open Source Hardware**
https://plus.google.com/u/0/+EricRaymond/posts/JqxCe2pFr67
More information about the Cake
mailing list