Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Sep 2019 20:16:15 -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:  <0238452A-1010-4A8E-AC2A-2B87D2F7481E@netflix.com>
In-Reply-To: <CAKy-8=gwGWxvtR1qb1%2BnUaV2tPR_bZqRYc_=s-MFm50pXJkETw@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> <F9C36F36-8369-4318-86A2-2CC7865D87C2@netflix.com> <CAKy-8=jsqs6_LbX94zV4OT9hBJZLvC9tofu6JOEmV=AMb_=GWw@mail.gmail.com> <CAKy-8=iTC_hvJsjBpGgZMO6RWDF9Ak_RAv_KTeGOpKLZO-VUZg@mail.gmail.com> <8474687C-8E5D-45F0-A3DE-0BF62ED2D28B@netflix.com> <CAKy-8=hHDbGNHKESYBkhMfXaouJHWn%2BiV08ed2SdU4uoqDUcSg@mail.gmail.com> <CAKy-8=gDV0ZGYzXntmNNOtqiS76LNVi9yx8vVe=X_qq0G53uGg@mail.gmail.com> <C7333302-905E-4DCC-8CE8-4ED589BB3245@netflix.com> <CAKy-8=gARxeUxgKykc7TK3TBXG74CR4=J8rZ%2B3apsz_ngO-t5g@mail.gmail.com> <CALV9me1zTbG=x0v_zpGFz=Zb7EnB3Wm7KBCOxaVd1OPu6TBP8A@mail.gmail.com> <CAKy-8=jtQDjk-mSsT98iLAASu1RVYe=KRVQA5tHq0bEsEVT5Zg@mail.gmail.com> <CAKy-8=iRoMzCV8QaFoECBwdRa9CHiHPRK%2BdSbm99QKFju0FwhQ@mail.gmail.com> <E5103591-31E4-4025-9FCB-3B7FF1B9266B@lurchi.franken.de> <CAKy-8=hENMvRiiPS-LJinj4awxoKV6buvGxCo_kxAiH2MES%2BJg@mail.gmail.com> <79E10B99-7BD2-4D37-B1B3-49FB13923058@netflix.com> <CAKy-8=gwGWxvtR1qb1%2BnUaV2tPR_bZqRYc_=s-MFm50pXJkETw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
I will have to send you a program that you can compile.. it uses the TCP =
logging device to
pull data..

I will send you details just to you tomorrow (getting late here for me)

R

> On Sep 25, 2019, at 8:10 PM, vm finance <vm.finance2@gmail.com> wrote:
>=20
> Hello Randall,
>=20
> #1: How do I turn on just TCP logging so I can dump more BBR stats and =
share?
> I'm new to freebsd so unable to find a way to enable this quickly. =
Sorry for this dump question.
>=20
> #2. I enabled sysctl -w net.inet.tcp.functions_default=3Dbbr" and see =
its in use while iperf test is running:
> net.inet.tcp.functions_available:=20
> Stack                           D Alias                            PCB =
count
> freebsd                           freebsd                          51
> bbr                             * bbr                              1
>=20
> I would share the data on #1 as soon as I get debug logs on..pls share =
some pointers on how to turn TCP logging on.
>=20
> Many thanks!
>=20
> On Wed, Sep 25, 2019 at 1:41 PM Randall Stewart <rrs@netflix.com> =
wrote:
>=20
>=20
> > On Sep 25, 2019, at 10:22 AM, vm finance <vm.finance2@gmail.com> =
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.
>=20
> R
>=20
> >  Any pointers highly appreciated.
> >=20
> > Thanks a lot!
> >=20
> > On Fri, Sep 20, 2019 at 2:42 AM Michael Tuexen =
<michael.tuexen@lurchi.franken.de> wrote:
> > > On 20. Sep 2019, at 06:52, vm finance <vm.finance2@gmail.com> =
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 <vm.finance2@gmail.com> =
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 <rrs@netflix.com> =
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 <vm.finance2@gmail.com> =
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 <rrs@netflix.com> =
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 <vm.finance2@gmail.com> =
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 =
<vm.finance2@gmail.com> 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 =
<rrs@netflix.com> 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 =
<vm.finance2@gmail.com> 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 =
<vm.finance2@gmail.com> 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 =
<rrs@netflix.com> 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 =
<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
> > > > >=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

------
Randall Stewart
rrs@netflix.com






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0238452A-1010-4A8E-AC2A-2B87D2F7481E>