BBR patches?

Randall Stewart rrs at netflix.com
Wed Sep 18 03:26:55 UTC 2019


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





More information about the freebsd-net mailing list