BBR patches?

vm finance vm.finance2 at gmail.com
Wed Sep 18 14:06:34 UTC 2019


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.
Nothing fancy.

thanks!

On Wed, Sep 18, 2019 at 7:03 AM vm finance <vm.finance2 at gmail.com> wrote:

> Thanks Randall, Michael,
>
> I did "svn svn://svn.freebsd.org/base/head /usr/src"
> and now doing "make buildworld buildkernel"
> [I didn't change anything in configs - just whatever are the defaults]
>
> I would update as soon as its done.
>
> Thanks again!
>
> On Wed, Sep 18, 2019 at 6:53 AM Randall Stewart <rrs at 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.
>>
>> 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