From owner-freebsd-net@freebsd.org Wed Sep 25 21:23:51 2019 Return-Path: Delivered-To: freebsd-net@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B060F133A58 for ; Wed, 25 Sep 2019 21:23:51 +0000 (UTC) (envelope-from michael.tuexen@lurchi.franken.de) Received: from drew.franken.de (drew.ipv6.franken.de [IPv6:2001:638:a02:a001:20e:cff:fe4a:feaa]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.franken.de", Issuer "COMODO RSA Domain Validation Secure Server CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 46drdy6kT1z4Zlw for ; Wed, 25 Sep 2019 21:23:50 +0000 (UTC) (envelope-from michael.tuexen@lurchi.franken.de) Received: from [IPv6:2a02:8109:1140:c3d:ac80:6b31:226a:6919] (unknown [IPv6:2a02:8109:1140:c3d:ac80:6b31:226a:6919]) (Authenticated sender: lurchi) by drew.franken.de (Postfix) with ESMTPSA id E941072106C12; Wed, 25 Sep 2019 23:23:46 +0200 (CEST) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) Subject: Re: BBR patches? From: Michael Tuexen In-Reply-To: <79E10B99-7BD2-4D37-B1B3-49FB13923058@netflix.com> Date: Wed, 25 Sep 2019 23:23:46 +0200 Cc: vm finance , freebsd-net , Jamie Landeg-Jones , Ryan Stone Content-Transfer-Encoding: quoted-printable Message-Id: <5B730D8C-D0CB-4CCF-94F2-E70A09BA8188@lurchi.franken.de> References: <201909091232.x89CWl4b047025@donotpassgo.dyslexicfish.net> <27AD43DA-3237-490A-B3A6-C1792F9674E5@netflix.com> <5B630235-ABC7-4122-9082-F59BCCCDE14A@netflix.com> <84C20AED-44B1-4673-A29E-1A6FA61D8F27@netflix.com> <98E195A0-AFE2-4182-BE90-493E76A0DB1C@netflix.com> <9F3B0B5B-EF6A-42E1-99B8-9644DD0B39AB@netflix.com> <8474687C-8E5D-45F0-A3DE-0BF62ED2D28B@netflix.com> <79E10B99-7BD2-4D37-B1B3-49FB13923058@netflix.com> To: Randall Stewart X-Mailer: Apple Mail (2.3445.104.11) X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00 autolearn=disabled version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on mail-n.franken.de X-Rspamd-Queue-Id: 46drdy6kT1z4Zlw X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=none (mx1.freebsd.org: domain of michael.tuexen@lurchi.franken.de has no SPF policy when checking 2001:638:a02:a001:20e:cff:fe4a:feaa) smtp.mailfrom=michael.tuexen@lurchi.franken.de X-Spamd-Result: default: False [0.57 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; MV_CASE(0.50)[]; IP_SCORE(-0.53)[ip: (-5.07), ipnet: 2001:638::/32(2.34), asn: 680(0.07), country: DE(-0.01)]; MIME_GOOD(-0.10)[text/plain]; TAGGED_RCPT(0.00)[]; DMARC_NA(0.00)[franken.de]; AUTH_NA(1.00)[]; RCPT_COUNT_FIVE(0.00)[5]; NEURAL_HAM_LONG(-0.82)[-0.820,0]; MIME_TRACE(0.00)[0:+]; TO_DN_ALL(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; NEURAL_HAM_MEDIUM(-0.38)[-0.378,0]; R_SPF_NA(0.00)[]; RCVD_IN_DNSWL_LOW(-0.10)[a.a.e.f.a.4.e.f.f.f.c.0.e.0.2.0.1.0.0.a.2.0.a.0.8.3.6.0.1.0.0.2.list.dnswl.org : 127.0.5.1]; R_DKIM_NA(0.00)[]; SUBJECT_ENDS_QUESTION(1.00)[]; ASN(0.00)[asn:680, ipnet:2001:638::/32, country:DE]; FREEMAIL_CC(0.00)[gmail.com]; MID_RHS_MATCH_FROM(0.00)[]; FROM_EQ_ENVFROM(0.00)[] X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Sep 2019 21:23:51 -0000 > On 25. Sep 2019, at 22:41, Randall Stewart wrote: >=20 >=20 >=20 >> On Sep 25, 2019, at 10:22 AM, vm finance = wrote: >>=20 >> Hi Randall, Michael, >>=20 >> I'm trying to run some tests between FreeBSD BBR VM and another = CentOS VM but don't see BBR performing well. FreeBSD (iperf -c) is = transmitting to CentOS (iperf -s) >>=20 >> Enable BBR ( sysctl -w net.inet.tcp.functions_default=3Dbbr) =3D> = 213Mb/s >> [loaded tcp_bbr using "kldload tcp_bbr.ko"] >>=20 >> Enable FreeBSD ( sysctl -w net.inet.tcp.functions_default=3Dfreebsd) = =3D> 271Mb/s >>=20 >> Questions: >> 1. Is there a way to track BBR internals on a running system? >=20 > Yes, there is a tcp logging function that can be used to turn on = things. The other > relevant question in this are: >=20 > 1) What is the RTT=20 > 2) Do you know your bottleneck router buffer size > 3) What are the rwnd=E2=80=99s in play here. >=20 > There are known issues with BBR when it faces a high BDP (lots of = buffers), new-reno > or cubic will do better.=20 >=20 > One other thing is if you are running from a web browser (like we do = at NF) then simply > setting default sysctl works but you have to restart the web browser = if its running. >=20 > If its just a simpler=20 >=20 > set sysctl > start-perf=20 >=20 > Then that should work. >=20 >=20 >> 2. Is "sysctl -w net.inet.tcp.functions_default=3Dbbr" sufficient to = turn BBR on? >>=20 >=20 >=20 > See above. While the iperf is running you can do >=20 > sysctl net.inet.tcp.functions_available >=20 > and you should see a count by bbr showing its being used. .. and doing such measurements with VMs adds another set of variables... = I would do such measurements in non VM setups. Except you really want to study the = impact of running in VMs. But I think this is not what you want... Best regards Michael >=20 > R >=20 >> Any pointers highly appreciated. >>=20 >> Thanks a lot! >>=20 >> On Fri, Sep 20, 2019 at 2:42 AM Michael Tuexen = wrote: >>> On 20. Sep 2019, at 06:52, vm finance wrote: >>>=20 >>> Ok - kernel booted, I loaded the module and it loaded successfully = (kldstat shows tcp_bbr). >>>=20 >>> So if I want to compare results between bbr and default cc algo, I = just need to load/unload the bbr module - correct? >>> Or is there another way to achieve that? >> One option is that your test application supports choosing the TCP = stack and you compare "freebsd" with "bbr". >> One tools which supports this is uperf and here is an example how to = select the (not existing anymore) >> stack called "fastack"): = https://github.com/uperf/uperf/blob/master/workloads/tcp-freebsd-change-st= ack.xml >>=20 >> The other possibility is that you set your default TCP stack before = running your test app. You can so this >> by executing >> sudo sysctl -w net.inet.tcp.functions_default=3Dbbr >> or >> sudo sysctl -w net.inet.tcp.functions_default=3Dfreebsd >> Then you test application can be TCP stack agnostic. >>=20 >> Best regards >> Michael >>=20 >>>=20 >>> Please let me know. >>>=20 >>> Thanks for all your help. >>>=20 >>> On Fri, Sep 20, 2019 at 4:26 AM vm finance = wrote: >>> finally ;) I was able to build it after manually extracting Makefile = contents from patch. >>> rebooting now ;) >>>=20 >>> On Thu, Sep 19, 2019 at 8:12 PM Randall Stewart = wrote: >>> There should have been some in the patch. Tomorrow I can send you a = tar of the modules/tcp/bbr Dir.=20 >>>=20 >>> It=E2=80=99s similar to the rack setup if you can=E2=80=99t wait and = want to be adventurous=20 >>>=20 >>> R >>>=20 >>> Sent from my iPhone >>>=20 >>> On Sep 19, 2019, at 7:31 PM, vm finance = wrote: >>>=20 >>> Hi Randall, >>>=20 >>> I already have tcp_bbr.h and bbr.c at ~sys/netinet/tcp_stacks/ >>>=20 >>> However, there is no "bbr" under sys/modules/tcp/. I created this = directory manually. >>> Question: >>> Which Makefile do I need to copy/move under sys/modules/tcp/bbr?=20 >>> I see there are Makefile and Makefile.org under ~modules/tcp... >>>=20 >>> root@osboxes:/usr/src/sys/modules/tcp # ls -R >>> Makefile Makefile.orig bbr rack = tcpmd5 >>> ./bbr: >>>=20 >>> ./rack: >>> Makefile >>>=20 >>> ./tcpmd5: >>> Makefile >>>=20 >>> Please let me know. >>>=20 >>> Thanks for your help! >>>=20 >>> On Thu, Sep 19, 2019 at 11:05 AM Randall Stewart = wrote: >>> Ahh.. Look in your directory. >>>=20 >>> You did not create the sub=E2=80=99dirs or put rack.c or bbr.c into = the right places >>>=20 >>> When you load the patch (which was updated Sept 17th and should be = different slightly) >>> you will end up dropping a Makefile and bbr.c and tcp_bbr.h into the = local dir since >>> for what every reason patch cannot figure out how to place it. >>>=20 >>> You must move=20 >>>=20 >>> bbr.c/tcp_bbr.h to -> sys/netinet/tcp_stacks >>>=20 >>> You must create >>>=20 >>> sys/modules/tcp/bbr >>>=20 >>> and=20 >>>=20 >>> place the make file under there (just like rack=E2=80=99s). >>>=20 >>> Do that and I think you will finally have it.. not sure why patch is = not able to >>> put the new files in the right places :0 >>>=20 >>> R >>>=20 >>>> On Sep 19, 2019, at 10:42 AM, vm finance = wrote: >>>>=20 >>>> Hello Randall, >>>>=20 >>>> I just retried it with headvm config that you had shared but still = see error while doing >>>> "make cleandepend" >>>>=20 >>>> Any pointers highly appreciated. >>>>=20 >>>> Thanks >>>>=20 >>>> root@osboxes:/usr/src/sys/amd65/compile/headvm # make cleandepend=20= >>>> [...snip...] >>>>=20 >>>> =3D=3D=3D> sysvipc/sysvshm (obj) >>>> = /usr/src/sys/amd64/compile/headvm/modules/usr/src/sys/modules/sysvipc/sysv= shm created for /usr/src/sys/modules/sysvipc/sysvshm >>>> =3D=3D=3D> tcp (obj) >>>> =3D=3D=3D> tcp/bbr (obj) >>>> cd: /usr/src/sys/modules/tcp/bbr: No such file or directory >>>> *** Error code 2 >>>>=20 >>>> Stop. >>>> make[2]: stopped in /usr/src/sys/modules/tcp >>>> *** Error code 1 >>>>=20 >>>> Stop. >>>> make[1]: stopped in /usr/src/sys/modules >>>> *** Error code 1 >>>>=20 >>>> Stop. >>>> make: stopped in /usr/src/sys/amd64/compile/headvm >>>> root@osboxes:/usr/src/sys/amd64/compile/headvm #=20 >>>>=20 >>>>=20 >>>> On Wed, Sep 18, 2019 at 11:08 PM vm finance = wrote: >>>> Hi Randall, >>>>=20 >>>> I applied the patch available at:=20 >>>> https://reviews.freebsd.org/D21582?id=3D62213 >>>> NOTE: This raw patch seems to be exactly the same as the one I = downloaded on Sep10...hope I'm not missing anything here... >>>>=20 >>>> I clicked on "download raw diff" and saved it to bbr_patch.diff = file on my local machine >>>> Step 1: Apply PATCH: >>>> cd /usr/src/sys >>>> patch < bbr_patch.diff >>>> Patch was applied successfully - no errors seen there. >>>>=20 >>>> Step 2: Update kernel config: >>>> cp /usr/src/sys/amd64/conf/GENERIC /usr/src/sys/amd64/conf/MYKERNEL=20= >>>> Added three options to MYKERNEL (per ur email - I have also = attached the compile MYKERNEL file) >>>> cd /usr/src/sys/amd64/compile/MYKERNEL >>>> make cleandepend >>>> =3D>This fails due to missing "bbr" under /usr/src/sys/modules/tcp/ >>>> [pls find the attached log file for exact error] >>>>=20 >>>> make depend >>>> =3D> This also fails due to missing "/usr/src/sys/modules/tcp/bbr" >>>>=20 >>>> STEP 3: >>>> cd /usr/src/ >>>> make buildkernel KERNCONF=3DMYKERNEL >>>> This also fails due to prior errors in Step 2. >>>>=20 >>>> Please find MYKERNEL config file + error logs. >>>>=20 >>>> Many many thanks for taking time to help me through this! >>>>=20 >>>> PS: I did a make buildkernel without any KERNCONF=3DMYKERNEL, and = that successfully finished. >>>>=20 >>>>=20 >>>>=20 >>>> On Thu, Sep 19, 2019 at 12:19 PM Randall Stewart = wrote: >>>> You can look in the config I sent.. but here is what >>>> I have added to enable BBR and Rack to be built >>>> ***** >>>> makeoptions WITH_EXTRA_TCP_STACKS=3D1 >>>> options TCPHPTS=20 >>>> options RATELIMIT >>>> ****** >>>>=20 >>>> So you should >>>> 1) Apply the current patch in phabricator >>>> 2) edit your config and add the above three lines >>>> 3) go to the src dir and type >>>> make buildkernel KERNCONF=3Dmyconf >>>>=20 >>>> That should build and get you a kernel that will include bbr and = rack. You will >>>> need to, after it boots up type >>>>=20 >>>> kldload tcp_bbr >>>>=20 >>>> or >>>>=20 >>>> kldload tcp_rack >>>>=20 >>>> To get the modules loaded >>>>=20 >>>> R >>>>=20 >>>>=20 >>>>=20 >>>>> On Sep 18, 2019, at 2:31 PM, vm finance = wrote: >>>>>=20 >>>>> Hi Randall, Michael, >>>>>=20 >>>>> Build is done successfully. I would appreciate if you could share = config changes needed for BBR. >>>>>=20 >>>>> My svn revision is: 352483 >>>>>=20 >>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D >>>>> awk -f /usr/src/sys/conf/kmod_syms.awk zlib.ko.full export_syms | = xargs -J% objcopy % zlib.ko.full >>>>> objcopy --only-keep-debug zlib.ko.full zlib.ko.debug >>>>> objcopy --strip-debug --add-gnu-debuglink=3Dzlib.ko.debug = zlib.ko.full zlib.ko >>>>> -------------------------------------------------------------- >>>>>>>> Kernel build for GENERIC completed on Wed Sep 18 21:08:31 UTC = 2019 >>>>> -------------------------------------------------------------- >>>>>>>> Kernel(s) GENERIC built in 1972 seconds, ncpu: 4 >>>>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D >>>>>=20 >>>>> Thank you >>>>> Vishal. >>>>>=20 >>>>>=20 >>>>> On Wed, Sep 18, 2019 at 3:34 PM vm finance = wrote: >>>>> I'm using amd64. I'd get back as soon as base build is complete. >>>>>=20 >>>>> Thanks! >>>>>=20 >>>>> On Wed, Sep 18, 2019 at 7:09 AM Randall Stewart = wrote: >>>>> To get bbr running you will need to change your kernel config. >>>>>=20 >>>>> Are you building i386 or amd64? >>>>>=20 >>>>> After you have successfully did=20 >>>>>=20 >>>>> 1) buildworld >>>>> 2) buildkernel >>>>> 3) installkernel >>>>>=20 >>>>> (you can look in UPDATING for instructions .. though the file is = long :D) >>>>>=20 >>>>> successfully let me know.. and then I will give you the tweaks you = need to add >>>>> to the kerneconf. >>>>>=20 >>>>> It won=E2=80=99t take as long to build because at that point you = can add in the >>>>> NO_CLEAN NO_CLEANDIR options as well since you will have built = everything >>>>> the first time >>>>>=20 >>>>> R >>>>>=20 >>>>>> On Sep 18, 2019, at 7:06 AM, vm finance = wrote: >>>>>>=20 >>>>>> BTW, if you think I should be making any changes in configs, = please do let me know. >>>>>> My goal is to build a freebsd image with BBR patches on x86 VM.=20= >>>>>> Nothing fancy. >>>>>>=20 >>>>>> thanks! >>>>>>=20 >>>>>> On Wed, Sep 18, 2019 at 7:03 AM vm finance = wrote: >>>>>> Thanks Randall, Michael, >>>>>>=20 >>>>>> I did "svn svn://svn.freebsd.org/base/head /usr/src" >>>>>> and now doing "make buildworld buildkernel"=20 >>>>>> [I didn't change anything in configs - just whatever are the = defaults] >>>>>>=20 >>>>>> I would update as soon as its done. >>>>>>=20 >>>>>> Thanks again! >>>>>>=20 >>>>>> On Wed, Sep 18, 2019 at 6:53 AM Randall Stewart = wrote: >>>>>> One other note.. I notice his kernel conf he sent does not have >>>>>> the right things to get BBR even to attempt to build. >>>>>>=20 >>>>>> I would suggest using that config for the first steps.. then he = must add >>>>>> the additional tcp stacks and the hpts in order to get bbr/rack = and any other >>>>>> extra stack=E2=80=A6.=20 >>>>>>=20 >>>>>> But I would suggest to build with his current config first and = once he has >>>>>> that in place and building >>>>>>=20 >>>>>> a) apply the patch >>>>>> b) add the extra kernel options >>>>>>=20 >>>>>> R >>>>>>=20 >>>>>>> On Sep 18, 2019, at 6:50 AM, Randall Stewart = wrote: >>>>>>>=20 >>>>>>> Thats great idea Michael. >>>>>>>=20 >>>>>>> =46rom the look fo the build log I was sent, his blow-up has = nothing to do >>>>>>> with the patches. >>>>>>>=20 >>>>>>> He should probably >>>>>>>=20 >>>>>>> 1) Check out a fresh version of head. >>>>>>> 2) Follow the instructions in UPDATING to get a clean build. >>>>>>> =E2=80=94 make buildworld >>>>>>> =E2=80=94 make buildkernel KERNCONF=3Dhis-conf >>>>>>> =E2=80=94 make installkernel KERNCONF=3Dhis-conf >>>>>>>=20 >>>>>>> ** do the reboot and merge master ** >>>>>>>=20 >>>>>>> Then after that he could >>>>>>>=20 >>>>>>> 3) Apply the current patch in the review >>>>>>> 4) do build that >>>>>>> =E2=80=94 make buildkernel KERNCONF=3Dhis_conf -DNO_CLEAN = -DNO_CLEANDIR >>>>>>> =E2=80=94 make install kernel KERNCONF=3Dhis_conf >>>>>>>=20 >>>>>>> And he should have it all working :) >>>>>>>=20 >>>>>>> I have done multiple builds with the latest head from yesterday = both with and without >>>>>>> the extra stacks and hpts.. and I can=E2=80=99t get a build = failure.. this would verify he can >>>>>>> at least build head.. >>>>>>>=20 >>>>>>> R >>>>>>>=20 >>>>>>>> On Sep 18, 2019, at 12:10 AM, Michael Tuexen = wrote: >>>>>>>>=20 >>>>>>>>> On 18. Sep 2019, at 08:19, vm finance = wrote: >>>>>>>>>=20 >>>>>>>>> correcting a typo: >>>>>>>>>=20 >>>>>>>>> svn co svn://svn.freebsd.org/base/head /usr/src >>>>>>>>> current revision: 352434 >>>>>>>> I suggest to build/install head first without any patches. = After that has worked, >>>>>>>> apply the patches you are interested in. That way it is easy to = separate generic >>>>>>>> build issues and issue specific to a patch. >>>>>>>>=20 >>>>>>>> Best regards >>>>>>>> Michael >>>>>>>>>=20 >>>>>>>>> Thank you! >>>>>>>>>=20 >>>>>>>>> On Tue, Sep 17, 2019 at 10:11 PM vm finance = wrote: >>>>>>>>>=20 >>>>>>>>>> Actually I am on head already as mentioned previously. Pulled = it using >>>>>>>>>> yesterday: >>>>>>>>>>=20 >>>>>>>>>> svn co svn://svn.freebsd.org/base/head /use/src >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> If you could pls let me know the new patch, I can try that. >>>>>>>>>>=20 >>>>>>>>>> Thanks >>>>>>>>>>=20 >>>>>>>>>> Sent from my iPhone >>>>>>>>>>=20 >>>>>>>>>> On 18-Sep-2019, at 8:56 AM, Randall Stewart = wrote: >>>>>>>>>>=20 >>>>>>>>>> There have been several patches pre-this one that provide >>>>>>>>>> the infrastructure to support BBR. >>>>>>>>>>=20 >>>>>>>>>> Release 12.0 will *not* have these patches and will *not* = compile it. >>>>>>>>>>=20 >>>>>>>>>> I have no intention at this point in doing a MFC of this = work.. so if you >>>>>>>>>> want >>>>>>>>>> to run BBR you need to run Head >>>>>>>>>>=20 >>>>>>>>>> R >>>>>>>>>>=20 >>>>>>>>>> On Sep 17, 2019, at 7:26 PM, vm finance = wrote: >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> Hi Randall, >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> Could you please provide a pointer to the latest patch. I had = applied the >>>>>>>>>> one you published Sep-10. >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> Following is what I have done: >>>>>>>>>>=20 >>>>>>>>>> 1. Picked FreeBSD 12.0 RELEASE VM from osboxes.org >>>>>>>>>>=20 >>>>>>>>>> 2. Got VM up under VMPlayer on x86 laptop >>>>>>>>>>=20 >>>>>>>>>> 3. Checked out latest codebase from freebsd repo: >>>>>>>>>>=20 >>>>>>>>>> svn co svn://svn.freebsd.org/base/head /usr/src* >>>>>>>>>>=20 >>>>>>>>>> cd /usr/src; >>>>>>>>>>=20 >>>>>>>>>> make buildworld buildkernel >>>>>>>>>>=20 >>>>>>>>>> [this is where make fails when patch is applied] >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> I could try to build with your latest patch - please send me = a pointer. >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> Thanks for your help! >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> On Tue, Sep 17, 2019 at 1:33 PM Randall Stewart = wrote: >>>>>>>>>>=20 >>>>>>>>>> Looking at your make file log I can=E2=80=99t really tell = what you are doing. >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> Its not the BBR or Rack code that is blowing up=E2=80=A6 >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> Are you cross compiling? >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> I have done the old fashioned kernel make >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> i.e. >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> cd src/sys/amd64/config >>>>>>>>>>=20 >>>>>>>>>> config headvm >>>>>>>>>>=20 >>>>>>>>>> cd ../compile/headvm >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> make cleandepend ; make depend; make -j3 >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> I have done >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> cd src >>>>>>>>>>=20 >>>>>>>>>> make buildkernel KERNCONF=3Dheadvm >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> And even >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> make buildkernel KERNCONF=3DGENERIC >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> to make sure that the build works without bbr. >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> I attach my headvm config.. >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> What exactly are you building and how? kernel config too = please? >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> R >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> On Sep 17, 2019, at 1:11 PM, Randall Stewart = wrote: >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> looking >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> I was at 352408.. let me update and try it >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> R >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> On Sep 17, 2019, at 1:10 PM, Randall Stewart = wrote: >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> Hmm >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> Did you get the patch I updated too this am? >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> I have built it both with and without the bbr stack and had = no issue.. >>>>>>>>>> there was >>>>>>>>>>=20 >>>>>>>>>> an issue with KTLS before the update though. >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> I don=E2=80=99t recognize what you have below there though=E2=80= =A6 >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> R >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> On Sep 17, 2019, at 11:47 AM, vm finance = wrote: >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> Got it - thank you! >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> btw, I tried to build the patch but its giving an error. = Following is SVN >>>>>>>>>> info + make error mesg. >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> Please let me know what am I missing here? >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> Thanks! >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> #svnlite revision >>>>>>>>>>=20 >>>>>>>>>> Path: . >>>>>>>>>>=20 >>>>>>>>>> Working Copy Root Path: /usr/src >>>>>>>>>>=20 >>>>>>>>>> URL: svn://svn.freebsd.org/base/head >>>>>>>>>>=20 >>>>>>>>>> Relative URL: ^/head >>>>>>>>>>=20 >>>>>>>>>> Repository Root: svn://svn.freebsd.org/base >>>>>>>>>>=20 >>>>>>>>>> Repository UUID: ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f >>>>>>>>>>=20 >>>>>>>>>> Revision: 352436 >>>>>>>>>>=20 >>>>>>>>>> Node Kind: directory >>>>>>>>>>=20 >>>>>>>>>> Schedule: normal >>>>>>>>>>=20 >>>>>>>>>> Last Changed Author: jah >>>>>>>>>>=20 >>>>>>>>>> Last Changed Rev: 352434 >>>>>>>>>>=20 >>>>>>>>>> Last Changed Date: 2019-09-17 03:39:31 +0000 (Tue, 17 Sep = 2019) >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> root@osboxes:/usr/src # >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> -------------------------------------------- snip >>>>>>>>>> ---------------------------- >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> ad_elf64_obj.llo reloc_elf64.llo disk.llo part.llo vdisk.llo = dev_net.llo >>>>>>>>>> bcache.llo interp_simple.llo zfs_cmd.llo >>>>>>>>>>=20 >>>>>>>>>> rm -f .depend .depend.* GPATH GRTAGS GSYMS GTAGS >>>>>>>>>>=20 >>>>>>>>>> =3D=3D=3D> sys (cleandir) >>>>>>>>>>=20 >>>>>>>>>> rm -f export_syms machine x86 tcp_bbr.ko tcp_bbr.kld bbr.o = sack_filter.o >>>>>>>>>> rack_bbr_common.o opt_inet.h opt_inet6.h opt_ipsec.h = opt_tcpdebug.h >>>>>>>>>> opt_kern_tls.h >>>>>>>>>>=20 >>>>>>>>>> rm: x86: is a directory >>>>>>>>>>=20 >>>>>>>>>> *** Error code 1 >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> Stop. >>>>>>>>>>=20 >>>>>>>>>> make[3]: stopped in /usr/src/sys >>>>>>>>>>=20 >>>>>>>>>> *** Error code 1 >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> Stop. >>>>>>>>>>=20 >>>>>>>>>> make[2]: stopped in /usr/src >>>>>>>>>>=20 >>>>>>>>>> *** Error code 1 >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> Stop. >>>>>>>>>>=20 >>>>>>>>>> make[1]: stopped in /usr/src >>>>>>>>>>=20 >>>>>>>>>> *** Error code 1 >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> Stop. >>>>>>>>>>=20 >>>>>>>>>> make: stopped in /usr/src >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> On Tue, Sep 17, 2019 at 6:41 PM vm finance = wrote: >>>>>>>>>>=20 >>>>>>>>>> Got it - thank you! >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> btw, I tried to build the patch but its giving an error. = Following is SVN >>>>>>>>>> info + make error mesg. >>>>>>>>>>=20 >>>>>>>>>> I have also attached the entire build log...snippet is below >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> Please let me know what am I missing here? >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> Thanks! >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> #svnlite revision >>>>>>>>>>=20 >>>>>>>>>> Path: . >>>>>>>>>>=20 >>>>>>>>>> Working Copy Root Path: /usr/src >>>>>>>>>>=20 >>>>>>>>>> URL: svn://svn.freebsd.org/base/head >>>>>>>>>>=20 >>>>>>>>>> Relative URL: ^/head >>>>>>>>>>=20 >>>>>>>>>> Repository Root: svn://svn.freebsd.org/base >>>>>>>>>>=20 >>>>>>>>>> Repository UUID: ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f >>>>>>>>>>=20 >>>>>>>>>> Revision: 352436 >>>>>>>>>>=20 >>>>>>>>>> Node Kind: directory >>>>>>>>>>=20 >>>>>>>>>> Schedule: normal >>>>>>>>>>=20 >>>>>>>>>> Last Changed Author: jah >>>>>>>>>>=20 >>>>>>>>>> Last Changed Rev: 352434 >>>>>>>>>>=20 >>>>>>>>>> Last Changed Date: 2019-09-17 03:39:31 +0000 (Tue, 17 Sep = 2019) >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> root@osboxes:/usr/src # >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> -------------------------------------------- snip >>>>>>>>>> ---------------------------- >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> ad_elf64_obj.llo reloc_elf64.llo disk.llo part.llo vdisk.llo = dev_net.llo >>>>>>>>>> bcache.llo interp_simple.llo zfs_cmd.llo >>>>>>>>>>=20 >>>>>>>>>> rm -f .depend .depend.* GPATH GRTAGS GSYMS GTAGS >>>>>>>>>>=20 >>>>>>>>>> =3D=3D=3D> sys (cleandir) >>>>>>>>>>=20 >>>>>>>>>> rm -f export_syms machine x86 tcp_bbr.ko tcp_bbr.kld bbr.o = sack_filter.o >>>>>>>>>> rack_bbr_common.o opt_inet.h opt_inet6.h opt_ipsec.h = opt_tcpdebug.h >>>>>>>>>> opt_kern_tls.h >>>>>>>>>>=20 >>>>>>>>>> rm: x86: is a directory >>>>>>>>>>=20 >>>>>>>>>> *** Error code 1 >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> Stop. >>>>>>>>>>=20 >>>>>>>>>> make[3]: stopped in /usr/src/sys >>>>>>>>>>=20 >>>>>>>>>> *** Error code 1 >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> Stop. >>>>>>>>>>=20 >>>>>>>>>> make[2]: stopped in /usr/src >>>>>>>>>>=20 >>>>>>>>>> *** Error code 1 >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> Stop. >>>>>>>>>>=20 >>>>>>>>>> make[1]: stopped in /usr/src >>>>>>>>>>=20 >>>>>>>>>> *** Error code 1 >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> Stop. >>>>>>>>>>=20 >>>>>>>>>> make: stopped in /usr/src >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> On Tue, Sep 17, 2019 at 6:27 PM Randall Stewart = wrote: >>>>>>>>>>=20 >>>>>>>>>> Pacing is provided by tcp_hpts.c. The current linux patches = do not have >>>>>>>>>>=20 >>>>>>>>>> to have fq.. they built an alternate means of doing pacing = into bbr. >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> In either case our testing has shown that our pacing is more = accurate than >>>>>>>>>>=20 >>>>>>>>>> either fq or the internal pacer :) >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> R >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> On Sep 17, 2019, at 11:05 AM, vm finance = wrote: >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> Thanks Randall. >>>>>>>>>>=20 >>>>>>>>>> I was able to apply the patch - now rebuilding the kernel. = Would update on >>>>>>>>>> how it goes. >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> BTW, is there any description on how lack of tc_fq under = FreeBSD is >>>>>>>>>> compensated here? >>>>>>>>>>=20 >>>>>>>>>> The original BBR patches on Linux show that as a must-have? = Is that >>>>>>>>>> functionality implemented via tcp_ratelimit.[ch]? >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> Any pointers to existing presentations/discussions highly = appreciated? >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> Thanks a lot. >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> On Tue, Sep 17, 2019 at 5:39 AM Randall Stewart = wrote: >>>>>>>>>>=20 >>>>>>>>>> You should be able to compile it against the current head. I = re-doing that >>>>>>>>>> now (had an >>>>>>>>>>=20 >>>>>>>>>> issue with my machine and had to roll it back to a backup). >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> When I put the patch up on Sept 10th it complied with and = without BBR on >>>>>>>>>> whatever >>>>>>>>>>=20 >>>>>>>>>> was that rev.. >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> Looking in the commit logs that would have been around 352191 >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> Hope that helps >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> R >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> On Sep 17, 2019, at 3:32 AM, vm finance = wrote: >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> Hi Randall, >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> Thanks for releasing BBR patch: >>>>>>>>>>=20 >>>>>>>>>> https://reviews.freebsd.org/D21582#change-xcAWBif3E9Jq >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> Could you please let me know what SVN/GIT label tag this is = based on? I >>>>>>>>>> would like to patch and experiment with it. I couldn't find = this info in >>>>>>>>>> the released patch. >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> Thanks a lot! >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> On Tue, Sep 10, 2019 at 10:26 AM Ryan Stone = wrote: >>>>>>>>>>=20 >>>>>>>>>> rrs@ has just posted the BBR patch to phabricator: >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> https://reviews.freebsd.org/D21582 >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> ------ >>>>>>>>>>=20 >>>>>>>>>> Randall Stewart >>>>>>>>>>=20 >>>>>>>>>> rrs@netflix.com >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> ------ >>>>>>>>>>=20 >>>>>>>>>> Randall Stewart >>>>>>>>>>=20 >>>>>>>>>> rrs@netflix.com >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> ------ >>>>>>>>>>=20 >>>>>>>>>> Randall Stewart >>>>>>>>>>=20 >>>>>>>>>> rrs@netflix.com >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> ------ >>>>>>>>>>=20 >>>>>>>>>> Randall Stewart >>>>>>>>>>=20 >>>>>>>>>> rrs@netflix.com >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> ------ >>>>>>>>>>=20 >>>>>>>>>> Randall Stewart >>>>>>>>>>=20 >>>>>>>>>> rrs@netflix.com >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>> ------ >>>>>>>>>> Randall Stewart >>>>>>>>>> rrs@netflix.com >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>>>=20 >>>>>>>>> _______________________________________________ >>>>>>>>> freebsd-net@freebsd.org mailing list >>>>>>>>> https://lists.freebsd.org/mailman/listinfo/freebsd-net >>>>>>>>> To unsubscribe, send any mail to = "freebsd-net-unsubscribe@freebsd.org" >>>>>>>=20 >>>>>>> ------ >>>>>>> Randall Stewart >>>>>>> rrs@netflix.com >>>>>>>=20 >>>>>>>=20 >>>>>>>=20 >>>>>>=20 >>>>>> ------ >>>>>> Randall Stewart >>>>>> rrs@netflix.com >>>>>>=20 >>>>>>=20 >>>>>>=20 >>>>>=20 >>>>> ------ >>>>> Randall Stewart >>>>> rrs@netflix.com >>>>>=20 >>>>>=20 >>>>>=20 >>>>=20 >>>> ------ >>>> Randall Stewart >>>> rrs@netflix.com >>>>=20 >>>>=20 >>>>=20 >>>=20 >>> ------ >>> Randall Stewart >>> rrs@netflix.com >>>=20 >>>=20 >>>=20 >>=20 >=20 > ------ > Randall Stewart > rrs@netflix.com >=20 >=20 >=20