Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Sep 2019 14:28:16 -0700
From:      Randall Stewart <rrs@netflix.com>
To:        =?utf-8?Q?Michael_T=C3=BCxen?= <michael.tuexen@lurchi.franken.de>
Cc:        vm finance <vm.finance2@gmail.com>, freebsd-net <freebsd-net@freebsd.org>, Jamie Landeg-Jones <jamie@catflap.org>, Ryan Stone <rysto32@gmail.com>
Subject:   Re: BBR patches?
Message-ID:  <D5EE43FD-83D2-4F0B-84C8-D02C271A8A63@netflix.com>
In-Reply-To: <5B730D8C-D0CB-4CCF-94F2-E70A09BA8188@lurchi.franken.de>
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> <5B730D8C-D0CB-4CCF-94F2-E70A09BA8188@lurchi.franken.de>

next in thread | previous in thread | raw e-mail | index | archive | help
Hmm

yeah I missed that.. VM=E2=80=99s do not work well when intricate timing =
is involved.. which it is in HPTS at
least.

I would definitely think about opening up rwnd=E2=80=99s as well I know =
google mentioned this in
there work with BBR (rwnd=E2=80=99s were too small both send and recv)

R

> On Sep 25, 2019, at 2:23 PM, Michael Tuexen =
<michael.tuexen@lurchi.franken.de> wrote:
>=20
>> On 25. Sep 2019, at 22:41, Randall Stewart <rrs@netflix.com> wrote:
>>=20
>>=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.
> .. 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...
>=20
> 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 =
<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

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






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?D5EE43FD-83D2-4F0B-84C8-D02C271A8A63>