BBR patches?

Randall Stewart rrs at netflix.com
Wed Sep 18 13:53:34 UTC 2019


One other note.. I notice his kernel conf he sent does not have
the right things to get BBR even to attempt to build.

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…. 

But I would suggest to build with his current config first and once he has
that in place and building

a) apply the patch
b) add the extra kernel options

R

> On Sep 18, 2019, at 6:50 AM, Randall Stewart <rrs at netflix.com> wrote:
> 
> Thats  great idea Michael.
> 
> From the look fo the build log I was sent, his blow-up has nothing to do
> with the patches.
> 
> He should probably
> 
> 1) Check out a fresh version of head.
> 2) Follow the instructions in UPDATING to get a clean build.
>   —  make buildworld
>   — make buildkernel KERNCONF=his-conf
>   — make installkernel KERNCONF=his-conf
> 
>    ** do the reboot and merge master **
> 
> Then after that he could
> 
> 3) Apply the current patch in the review
> 4) do build that
>      — make buildkernel KERNCONF=his_conf  -DNO_CLEAN -DNO_CLEANDIR
>      — make install kernel KERNCONF=his_conf
> 
> And he should have it all working :)
> 
> I have done multiple builds with the latest head from yesterday both with and without
> the extra stacks and hpts.. and I can’t get a build failure.. this would verify he can
> at least build head..
> 
> R
> 
>> On Sep 18, 2019, at 12:10 AM, Michael Tuexen <michael.tuexen at lurchi.franken.de> wrote:
>> 
>>> On 18. Sep 2019, at 08:19, vm finance <vm.finance2 at gmail.com> wrote:
>>> 
>>> correcting a typo:
>>> 
>>> 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.
>> 
>> Best regards
>> Michael
>>> 
>>> Thank you!
>>> 
>>> On Tue, Sep 17, 2019 at 10:11 PM vm finance <vm.finance2 at gmail.com> wrote:
>>> 
>>>> Actually I am on head already as mentioned previously. Pulled it using
>>>> yesterday:
>>>> 
>>>> svn co svn://svn.freebsd.org/base/head /use/src
>>>> 
>>>> 
>>>> If you could pls let me know the new patch, I can try that.
>>>> 
>>>> Thanks
>>>> 
>>>> Sent from my iPhone
>>>> 
>>>> On 18-Sep-2019, at 8:56 AM, Randall Stewart <rrs at netflix.com> wrote:
>>>> 
>>>> There have been several patches pre-this one that provide
>>>> the infrastructure to support BBR.
>>>> 
>>>> Release 12.0 will *not* have these patches and will *not* compile it.
>>>> 
>>>> 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
>>>> 
>>>> R
>>>> 
>>>> On Sep 17, 2019, at 7:26 PM, vm finance <vm.finance2 at gmail.com> wrote:
>>>> 
>>>> 
>>>> Hi Randall,
>>>> 
>>>> 
>>>> Could you please provide a pointer to the latest patch. I had applied the
>>>> one you published Sep-10.
>>>> 
>>>> 
>>>> Following is what I have done:
>>>> 
>>>> 1. Picked FreeBSD 12.0 RELEASE VM from osboxes.org
>>>> 
>>>> 2. Got VM up under VMPlayer on x86 laptop
>>>> 
>>>> 3. Checked out latest codebase from freebsd repo:
>>>> 
>>>> svn co svn://svn.freebsd.org/base/head /usr/src*
>>>> 
>>>> cd /usr/src;
>>>> 
>>>> make buildworld buildkernel
>>>> 
>>>> [this is where make fails when patch is applied]
>>>> 
>>>> 
>>>> I could try to build with your latest patch - please send me a pointer.
>>>> 
>>>> 
>>>> Thanks for your help!
>>>> 
>>>> 
>>>> 
>>>> On Tue, Sep 17, 2019 at 1:33 PM Randall Stewart <rrs at netflix.com> wrote:
>>>> 
>>>> Looking at your make file log I can’t really tell what you are doing.
>>>> 
>>>> 
>>>> Its not the BBR or Rack code that is blowing up…
>>>> 
>>>> 
>>>> Are you cross compiling?
>>>> 
>>>> 
>>>> I have done the old fashioned kernel make
>>>> 
>>>> 
>>>> i.e.
>>>> 
>>>> 
>>>> cd src/sys/amd64/config
>>>> 
>>>> config headvm
>>>> 
>>>> cd ../compile/headvm
>>>> 
>>>> 
>>>> make cleandepend ; make depend; make -j3
>>>> 
>>>> 
>>>> I have done
>>>> 
>>>> 
>>>> cd src
>>>> 
>>>> make buildkernel KERNCONF=headvm
>>>> 
>>>> 
>>>> And even
>>>> 
>>>> 
>>>> make buildkernel KERNCONF=GENERIC
>>>> 
>>>> 
>>>> to make sure that the build works without bbr.
>>>> 
>>>> 
>>>> I attach my headvm config..
>>>> 
>>>> 
>>>> What exactly are you building and how? kernel config too please?
>>>> 
>>>> 
>>>> R
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> On Sep 17, 2019, at 1:11 PM, Randall Stewart <rrs at netflix.com> wrote:
>>>> 
>>>> 
>>>> looking
>>>> 
>>>> 
>>>> I was at 352408.. let me update and try it
>>>> 
>>>> 
>>>> R
>>>> 
>>>> 
>>>> On Sep 17, 2019, at 1:10 PM, Randall Stewart <rrs at netflix.com> wrote:
>>>> 
>>>> 
>>>> Hmm
>>>> 
>>>> 
>>>> Did you get the patch I updated too this am?
>>>> 
>>>> 
>>>> I have built it both with and without the bbr stack and had no issue..
>>>> there was
>>>> 
>>>> an issue with KTLS before the update though.
>>>> 
>>>> 
>>>> I don’t recognize what you have below there though…
>>>> 
>>>> 
>>>> R
>>>> 
>>>> 
>>>> On Sep 17, 2019, at 11:47 AM, vm finance <vm.finance2 at gmail.com> wrote:
>>>> 
>>>> 
>>>> Got it - thank you!
>>>> 
>>>> 
>>>> btw, I tried to build the patch but its giving an error. Following is SVN
>>>> info + make error mesg.
>>>> 
>>>> 
>>>> Please let me know what am I missing here?
>>>> 
>>>> 
>>>> Thanks!
>>>> 
>>>> 
>>>> #svnlite revision
>>>> 
>>>> Path: .
>>>> 
>>>> Working Copy Root Path: /usr/src
>>>> 
>>>> URL: svn://svn.freebsd.org/base/head
>>>> 
>>>> Relative URL: ^/head
>>>> 
>>>> Repository Root: svn://svn.freebsd.org/base
>>>> 
>>>> Repository UUID: ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
>>>> 
>>>> Revision: 352436
>>>> 
>>>> Node Kind: directory
>>>> 
>>>> Schedule: normal
>>>> 
>>>> Last Changed Author: jah
>>>> 
>>>> Last Changed Rev: 352434
>>>> 
>>>> Last Changed Date: 2019-09-17 03:39:31 +0000 (Tue, 17 Sep 2019)
>>>> 
>>>> 
>>>> root at osboxes:/usr/src #
>>>> 
>>>> 
>>>> -------------------------------------------- snip
>>>> ----------------------------
>>>> 
>>>> 
>>>> ad_elf64_obj.llo reloc_elf64.llo disk.llo part.llo vdisk.llo dev_net.llo
>>>> bcache.llo interp_simple.llo zfs_cmd.llo
>>>> 
>>>> rm -f .depend .depend.* GPATH GRTAGS GSYMS GTAGS
>>>> 
>>>> ===> sys (cleandir)
>>>> 
>>>> 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
>>>> 
>>>> rm: x86: is a directory
>>>> 
>>>> *** Error code 1
>>>> 
>>>> 
>>>> Stop.
>>>> 
>>>> make[3]: stopped in /usr/src/sys
>>>> 
>>>> *** Error code 1
>>>> 
>>>> 
>>>> Stop.
>>>> 
>>>> make[2]: stopped in /usr/src
>>>> 
>>>> *** Error code 1
>>>> 
>>>> 
>>>> Stop.
>>>> 
>>>> make[1]: stopped in /usr/src
>>>> 
>>>> *** Error code 1
>>>> 
>>>> 
>>>> Stop.
>>>> 
>>>> make: stopped in /usr/src
>>>> 
>>>> 
>>>> 
>>>> On Tue, Sep 17, 2019 at 6:41 PM vm finance <vm.finance2 at gmail.com> wrote:
>>>> 
>>>> Got it - thank you!
>>>> 
>>>> 
>>>> btw, I tried to build the patch but its giving an error. Following is SVN
>>>> info + make error mesg.
>>>> 
>>>> I have also attached the entire build log...snippet is below
>>>> 
>>>> 
>>>> Please let me know what am I missing here?
>>>> 
>>>> 
>>>> Thanks!
>>>> 
>>>> 
>>>> #svnlite revision
>>>> 
>>>> Path: .
>>>> 
>>>> Working Copy Root Path: /usr/src
>>>> 
>>>> URL: svn://svn.freebsd.org/base/head
>>>> 
>>>> Relative URL: ^/head
>>>> 
>>>> Repository Root: svn://svn.freebsd.org/base
>>>> 
>>>> Repository UUID: ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
>>>> 
>>>> Revision: 352436
>>>> 
>>>> Node Kind: directory
>>>> 
>>>> Schedule: normal
>>>> 
>>>> Last Changed Author: jah
>>>> 
>>>> Last Changed Rev: 352434
>>>> 
>>>> Last Changed Date: 2019-09-17 03:39:31 +0000 (Tue, 17 Sep 2019)
>>>> 
>>>> 
>>>> root at osboxes:/usr/src #
>>>> 
>>>> 
>>>> -------------------------------------------- snip
>>>> ----------------------------
>>>> 
>>>> 
>>>> ad_elf64_obj.llo reloc_elf64.llo disk.llo part.llo vdisk.llo dev_net.llo
>>>> bcache.llo interp_simple.llo zfs_cmd.llo
>>>> 
>>>> rm -f .depend .depend.* GPATH GRTAGS GSYMS GTAGS
>>>> 
>>>> ===> sys (cleandir)
>>>> 
>>>> 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
>>>> 
>>>> rm: x86: is a directory
>>>> 
>>>> *** Error code 1
>>>> 
>>>> 
>>>> Stop.
>>>> 
>>>> make[3]: stopped in /usr/src/sys
>>>> 
>>>> *** Error code 1
>>>> 
>>>> 
>>>> Stop.
>>>> 
>>>> make[2]: stopped in /usr/src
>>>> 
>>>> *** Error code 1
>>>> 
>>>> 
>>>> Stop.
>>>> 
>>>> make[1]: stopped in /usr/src
>>>> 
>>>> *** Error code 1
>>>> 
>>>> 
>>>> Stop.
>>>> 
>>>> make: stopped in /usr/src
>>>> 
>>>> 
>>>> 
>>>> On Tue, Sep 17, 2019 at 6:27 PM Randall Stewart <rrs at netflix.com> wrote:
>>>> 
>>>> Pacing is provided by tcp_hpts.c. The current linux patches do not have
>>>> 
>>>> to have fq.. they built an alternate means of doing pacing into bbr.
>>>> 
>>>> 
>>>> In either case our testing has shown that our pacing is more accurate than
>>>> 
>>>> either fq or the internal pacer :)
>>>> 
>>>> 
>>>> R
>>>> 
>>>> 
>>>> On Sep 17, 2019, at 11:05 AM, vm finance <vm.finance2 at gmail.com> wrote:
>>>> 
>>>> 
>>>> Thanks Randall.
>>>> 
>>>> I was able to apply the patch - now rebuilding the kernel. Would update on
>>>> how it goes.
>>>> 
>>>> 
>>>> BTW, is there any description on how lack of tc_fq under FreeBSD is
>>>> compensated here?
>>>> 
>>>> The original BBR patches on Linux show that as a must-have? Is that
>>>> functionality implemented via tcp_ratelimit.[ch]?
>>>> 
>>>> 
>>>> Any pointers to existing presentations/discussions highly appreciated?
>>>> 
>>>> 
>>>> Thanks a lot.
>>>> 
>>>> 
>>>> On Tue, Sep 17, 2019 at 5:39 AM Randall Stewart <rrs at netflix.com> wrote:
>>>> 
>>>> You should be able to compile it against the current head. I re-doing that
>>>> now (had an
>>>> 
>>>> issue with my machine and had to roll it back to a backup).
>>>> 
>>>> 
>>>> When I put the patch up on Sept 10th it complied with and without BBR on
>>>> whatever
>>>> 
>>>> was that rev..
>>>> 
>>>> 
>>>> Looking in the commit logs that would have been around 352191
>>>> 
>>>> 
>>>> Hope that helps
>>>> 
>>>> 
>>>> R
>>>> 
>>>> 
>>>> On Sep 17, 2019, at 3:32 AM, vm finance <vm.finance2 at gmail.com> wrote:
>>>> 
>>>> 
>>>> Hi Randall,
>>>> 
>>>> 
>>>> Thanks for releasing BBR patch:
>>>> 
>>>> https://reviews.freebsd.org/D21582#change-xcAWBif3E9Jq
>>>> 
>>>> 
>>>> 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.
>>>> 
>>>> 
>>>> Thanks a lot!
>>>> 
>>>> 
>>>> On Tue, Sep 10, 2019 at 10:26 AM Ryan Stone <rysto32 at gmail.com> wrote:
>>>> 
>>>> rrs@ has just posted the BBR patch to phabricator:
>>>> 
>>>> 
>>>> https://reviews.freebsd.org/D21582
>>>> 
>>>> 
>>>> ------
>>>> 
>>>> Randall Stewart
>>>> 
>>>> rrs at netflix.com
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> ------
>>>> 
>>>> Randall Stewart
>>>> 
>>>> rrs at netflix.com
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> ------
>>>> 
>>>> Randall Stewart
>>>> 
>>>> rrs at netflix.com
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> ------
>>>> 
>>>> Randall Stewart
>>>> 
>>>> rrs at netflix.com
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> ------
>>>> 
>>>> Randall Stewart
>>>> 
>>>> rrs at netflix.com
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> ------
>>>> Randall Stewart
>>>> rrs at netflix.com
>>>> 
>>>> 
>>>> 
>>>> 
>>> _______________________________________________
>>> freebsd-net at freebsd.org mailing list
>>> https://lists.freebsd.org/mailman/listinfo/freebsd-net
>>> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"
> 
> ------
> Randall Stewart
> rrs at netflix.com
> 
> 
> 

------
Randall Stewart
rrs at netflix.com





More information about the freebsd-net mailing list