Skip site navigation (1)Skip section navigation (2)
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>