BBR patches?

Randall Stewart rrs at netflix.com
Wed Sep 18 13:50:40 UTC 2019


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





More information about the freebsd-net mailing list