Date: Wed, 18 Sep 2019 07:09:33 -0700 From: Randall Stewart <rrs@netflix.com> To: vm finance <vm.finance2@gmail.com> Cc: =?utf-8?Q?Michael_T=C3=BCxen?= <michael.tuexen@lurchi.franken.de>, freebsd-net <freebsd-net@freebsd.org>, Jamie Landeg-Jones <jamie@catflap.org>, Ryan Stone <rysto32@gmail.com> Subject: Re: BBR patches? Message-ID: <F9C36F36-8369-4318-86A2-2CC7865D87C2@netflix.com> In-Reply-To: <CAKy-8=jH1LcWycm5tM3sZMvUL6ETBaZ_V4DdgKmHTPe7QyfPww@mail.gmail.com> References: <CAKy-8=jUu=dbp1s7nhYBwgeh%2BiO-XY-YEnh1MJ81aYJoopVonA@mail.gmail.com> <201909091232.x89CWl4b047025@donotpassgo.dyslexicfish.net> <CAKy-8=gZ8E73PZdxb33aN=TmfigcNyTvZP4wP3M-mAy9no-v6w@mail.gmail.com> <CAFMmRNxbX5f3s0ZZk=Epr7Gu7%2Bsjat8F0TV0aX_RwoFgX0s%2ByA@mail.gmail.com> <CAKy-8=g=3LC8u_vc_3_Pfe6pgoUxpvx7N_j=xv7nRaM%2BD1Oz-A@mail.gmail.com> <D35AF884-C631-42CE-ABFD-F4AA76AA6693@netflix.com> <CAKy-8=jSdSFPJWL=cLeea-KSc=9wxR6vQTODibw7-GUh0XpCfw@mail.gmail.com> <27AD43DA-3237-490A-B3A6-C1792F9674E5@netflix.com> <CAKy-8=idqzA0-Trm%2B5gZSQs=vyXrPm40gP3AsbMf_YQj-NEHaA@mail.gmail.com> <CAKy-8=jpGvKU1khALK%2Ba5Ojp7btg7y1W%2BELtTLQaniVNtgBj3g@mail.gmail.com> <AD906F45-B083-476F-952E-3318F36BD828@netflix.com> <BCC20B79-ECEF-4D7C-AA7E-5F8A0869753A@netflix.com> <5B630235-ABC7-4122-9082-F59BCCCDE14A@netflix.com> <CAKy-8=jwoV8=gXXUCCMARe4%2BELuqDXuYY=J9Rn7ej0536xTJvQ@mail.gmail.com> <84C20AED-44B1-4673-A29E-1A6FA61D8F27@netflix.com> <DEA3139A-ED05-47D9-833E-F1631E7185AD@gmail.com> <CAKy-8=gAFZu0wWgWCNwuYDzKcyoLDwHgUPGNA%2BaLCucEfFrgYg@mail.gmail.com> <EE614FCD-C0B1-4934-98A5-F60C5054C077@lurchi.franken.de> <98E195A0-AFE2-4182-BE90-493E76A0DB1C@netflix.com> <9F3B0B5B-EF6A-42E1-99B8-9644DD0B39AB@netflix.com> <CAKy-8=gjXXz8VRkxaHXQY4Z%2BJpAkFusFbv_eFnM8huwWZgQD_g@mail.gmail.com> <CAKy-8=jH1LcWycm5tM3sZMvUL6ETBaZ_V4DdgKmHTPe7QyfPww@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
To get bbr running you will need to change your kernel config. Are you building i386 or amd64? After you have successfully did=20 1) buildworld 2) buildkernel 3) installkernel (you can look in UPDATING for instructions .. though the file is long = :D) successfully let me know.. and then I will give you the tweaks you need = to add to the kerneconf. 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 R > On Sep 18, 2019, at 7:06 AM, vm finance <vm.finance2@gmail.com> 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 <vm.finance2@gmail.com> = 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 <rrs@netflix.com> = 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 <rrs@netflix.com> = 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 = <michael.tuexen@lurchi.franken.de> wrote: > >>=20 > >>> On 18. Sep 2019, at 08:19, vm finance <vm.finance2@gmail.com> = 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 = <vm.finance2@gmail.com> 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 <rrs@netflix.com> = 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 <vm.finance2@gmail.com> = 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 <rrs@netflix.com> = 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 <rrs@netflix.com> = 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 <rrs@netflix.com> = 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 <vm.finance2@gmail.com> = 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 = <vm.finance2@gmail.com> 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 <rrs@netflix.com> = 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 <vm.finance2@gmail.com> = 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 <rrs@netflix.com> = 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 <vm.finance2@gmail.com> = 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 <rysto32@gmail.com> = 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 ------ Randall Stewart rrs@netflix.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?F9C36F36-8369-4318-86A2-2CC7865D87C2>