From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oi0-x22d.google.com (mail-oi0-x22d.google.com [IPv6:2607:f8b0:4003:c06::22d]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by huchra.bufferbloat.net (Postfix) with ESMTPS id CD92821F2E0 for ; Wed, 22 Apr 2015 09:29:56 -0700 (PDT) Received: by oiko83 with SMTP id o83so183697001oik.1 for ; Wed, 22 Apr 2015 09:29:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=EGsLSdP2/D+uB6mKWASoynPxNqMqfKi5m8KzIKzD+NA=; b=ltmZ92nz9BaDu306+vxF9+tmO2znsKrXbVTieewN6aDpAxalu0f367OKNLaprFp+3c Mr6T9jMDv9+hJxSYjnF0mvfjMfLzu4y7eoY4COb9owue0oxmGeS+DWmJt0C204Z/Zly5 +JWbnaRczJ39REemtnq3QHcBuhdPTSZi85+kNqkraVvXe4QE+Henv01JaWagoBFbOhGc swBppGT5Gah7bxrx/xbsZzMqy4XU2p2VMZD/ds+ox1gGPBMef1KMAdcTLNid5JLI5lPh lgNW54NPCwE/8JZUQ6mp32Voy7UFUsxbQUo0cFtXLbl07bjH43AgAGm5ZugzvzhvTBkT s0ZQ== MIME-Version: 1.0 X-Received: by 10.60.103.234 with SMTP id fz10mr24234127oeb.11.1429720195731; Wed, 22 Apr 2015 09:29:55 -0700 (PDT) Received: by 10.202.71.139 with HTTP; Wed, 22 Apr 2015 09:29:55 -0700 (PDT) Date: Wed, 22 Apr 2015 09:29:55 -0700 Message-ID: From: Dave Taht To: cake@lists.bufferbloat.net Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Cake] [PATCH] - I dont know when reciprocal_scale entered the kernel however X-BeenThere: cake@lists.bufferbloat.net X-Mailman-Version: 2.1.13 Precedence: list List-Id: Cake - FQ_codel the next generation List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Apr 2015 16:30:25 -0000 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 <=3D 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 <=3D 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 wrote: > jonathon: please do try to meet kernel coding standards.... > > > ---------- Forwarded message ---------- > From: Stephen Hemminger > Date: Wed, Apr 22, 2015 at 8:50 AM > Subject: Re: [Cake] out of tree "cake" now buildable on multiple linux ve= rsions > To: Dave Taht > > > Run checkpatch and scream. > > On Wed, Apr 22, 2015 at 8:49 AM, Stephen Hemminger > wrote: >> >> You do know the sch_cake source needs a pass through the indentor to kee= p the style gods at bay. >> >> On Wed, Apr 22, 2015 at 1:16 AM, Dave Taht wrote: >>> >>> Do a: >>> >>> git clone https://github.com/dtaht/sch_cake.git >>> >>> # IF you have kernel source installed to leverage, adding cake is as e= asy 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@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 reque= ues 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=C3=A4ht >>> Open Networking needs **Open Source Hardware** >>> >>> https://plus.google.com/u/0/+EricRaymond/posts/JqxCe2pFr67 >>> _______________________________________________ >>> Cake mailing list >>> Cake@lists.bufferbloat.net >>> https://lists.bufferbloat.net/listinfo/cake >> >> > > > > -- > Dave T=C3=A4ht > Open Networking needs **Open Source Hardware** > > https://plus.google.com/u/0/+EricRaymond/posts/JqxCe2pFr67 --=20 Dave T=C3=A4ht Open Networking needs **Open Source Hardware** https://plus.google.com/u/0/+EricRaymond/posts/JqxCe2pFr67