Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 Sep 2019 06:08:10 +0000
From:      vm finance <vm.finance2@gmail.com>
To:        Randall Stewart <rrs@netflix.com>
Cc:        =?UTF-8?Q?Michael_T=C3=BCxen?= <michael.tuexen@lurchi.franken.de>,  freebsd-net <freebsd-net@freebsd.org>, Jamie Landeg-Jones <jamie@catflap.org>,  Ryan Stone <rysto32@gmail.com>
Subject:   Re: BBR patches?
Message-ID:  <CAKy-8=hHDbGNHKESYBkhMfXaouJHWn%2BiV08ed2SdU4uoqDUcSg@mail.gmail.com>
In-Reply-To: <8474687C-8E5D-45F0-A3DE-0BF62ED2D28B@netflix.com>
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>

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

[-- Attachment #1 --]
Hi Randall,

I applied the patch available at:
https://reviews.freebsd.org/D21582?id=62213
NOTE: This raw patch seems to be exactly the same as the one I downloaded
on Sep10...hope I'm not missing anything here...

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.

Step 2: Update kernel config:
cp /usr/src/sys/amd64/conf/GENERIC /usr/src/sys/amd64/conf/MYKERNEL
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
=>This fails due to missing "bbr" under /usr/src/sys/modules/tcp/
[pls find the attached log file for exact error]

make depend
=> This also fails due to missing "/usr/src/sys/modules/tcp/bbr"

STEP 3:
cd /usr/src/
make buildkernel KERNCONF=MYKERNEL
This also fails due to prior errors in Step 2.

Please find MYKERNEL config file + error logs.

Many many thanks for taking time to help me through this!

PS: I did a make buildkernel without any KERNCONF=MYKERNEL, and that
successfully finished.



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=1
> options         TCPHPTS
> options         RATELIMIT
> ******
>
> 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=myconf
>
> That should build and get you a kernel that will include bbr and rack. You
> will
> need to, after it boots up type
>
> kldload tcp_bbr
>
> or
>
> kldload tcp_rack
>
> To get the modules loaded
>
> R
>
>
>
> > On Sep 18, 2019, at 2:31 PM, vm finance <vm.finance2@gmail.com> wrote:
> >
> > Hi Randall, Michael,
> >
> > Build is done successfully. I would appreciate if you could share config
> changes needed for BBR.
> >
> > My svn revision is: 352483
> >
> > =======================================================
> > 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=zlib.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
> > =======================================================
> >
> > Thank you
> > Vishal.
> >
> >
> > 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.
> >
> > Thanks!
> >
> > 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.
> >
> > Are you building i386 or amd64?
> >
> > After you have successfully did
> >
> > 1) buildworld
> > 2) buildkernel
> > 3) installkernel
> >
> > (you can look in UPDATING for instructions .. though the file is long :D)
> >
> > successfully let me know.. and then I will give you the tweaks you need
> to add
> > to the kerneconf.
> >
> > It won’t 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
> >
> > R
> >
> > > On Sep 18, 2019, at 7:06 AM, vm finance <vm.finance2@gmail.com> wrote:
> > >
> > > 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@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@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@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@lurchi.franken.de> wrote:
> > > >>
> > > >>> On 18. Sep 2019, at 08:19, vm finance <vm.finance2@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@gmail.com>
> wrote:
> > > >>>>
> > > >>>> rrs@ has just posted the BBR patch to phabricator:
> > > >>>>
> > > >>>>
> > > >>>> https://reviews.freebsd.org/D21582
> > > >>>>
> > > >>>>
> > > >>>> ------
> > > >>>>
> > > >>>> Randall Stewart
> > > >>>>
> > > >>>> rrs@netflix.com
> > > >>>>
> > > >>>>
> > > >>>>
> > > >>>>
> > > >>>>
> > > >>>> ------
> > > >>>>
> > > >>>> Randall Stewart
> > > >>>>
> > > >>>> rrs@netflix.com
> > > >>>>
> > > >>>>
> > > >>>>
> > > >>>>
> > > >>>>
> > > >>>> ------
> > > >>>>
> > > >>>> Randall Stewart
> > > >>>>
> > > >>>> rrs@netflix.com
> > > >>>>
> > > >>>>
> > > >>>>
> > > >>>>
> > > >>>>
> > > >>>> ------
> > > >>>>
> > > >>>> Randall Stewart
> > > >>>>
> > > >>>> rrs@netflix.com
> > > >>>>
> > > >>>>
> > > >>>>
> > > >>>>
> > > >>>>
> > > >>>> ------
> > > >>>>
> > > >>>> Randall Stewart
> > > >>>>
> > > >>>> rrs@netflix.com
> > > >>>>
> > > >>>>
> > > >>>>
> > > >>>>
> > > >>>>
> > > >>>> ------
> > > >>>> Randall Stewart
> > > >>>> rrs@netflix.com
> > > >>>>
> > > >>>>
> > > >>>>
> > > >>>>
> > > >>> _______________________________________________
> > > >>> 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"
> > > >
> > > > ------
> > > > Randall Stewart
> > > > rrs@netflix.com
> > > >
> > > >
> > > >
> > >
> > > ------
> > > Randall Stewart
> > > rrs@netflix.com
> > >
> > >
> > >
> >
> > ------
> > Randall Stewart
> > rrs@netflix.com
> >
> >
> >
>
> ------
> Randall Stewart
> rrs@netflix.com
>
>
>
>

[-- Attachment #2 --]
#
# GENERIC -- Generic kernel configuration file for FreeBSD/amd64
#
# For more information on this file, please read the config(5) manual page,
# and/or the handbook section on Kernel Configuration Files:
#
#    https://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
#
# The handbook is also available locally in /usr/share/doc/handbook
# if you've installed the doc distribution, otherwise always see the
# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the
# latest information.
#
# An exhaustive list of options and more detailed explanations of the
# device lines is also present in the ../../conf/NOTES and NOTES files.
# If you are in doubt as to the purpose or necessity of a line, check first
# in NOTES.
#
# $FreeBSD: head/sys/amd64/conf/GENERIC 349253 2019-06-21 00:16:30Z cem $

cpu		HAMMER
ident		GENERIC

makeoptions	DEBUG=-g		# Build kernel with gdb(1) debug symbols
makeoptions	WITH_CTF=1		# Run ctfconvert(1) for DTrace support
makeoptions	WITH_EXTRA_TCP_STACKS=1 #Vishal for BBR
options         TCPHPTS
options         RATELIMIT
options 	SCHED_ULE		# ULE scheduler
options 	NUMA			# Non-Uniform Memory Architecture support
options 	PREEMPTION		# Enable kernel thread preemption
options 	VIMAGE			# Subsystem virtualization, e.g. VNET
options 	INET			# InterNETworking
options 	INET6			# IPv6 communications protocols
options 	IPSEC_SUPPORT		# Allow kldload of ipsec and tcpmd5
options 	TCP_OFFLOAD		# TCP offload
options 	TCP_BLACKBOX		# Enhanced TCP event logging
options 	TCP_HHOOK		# hhook(9) framework for TCP
options		TCP_RFC7413		# TCP Fast Open
options 	SCTP			# Stream Control Transmission Protocol
options 	FFS			# Berkeley Fast Filesystem
options 	SOFTUPDATES		# Enable FFS soft updates support
options 	UFS_ACL			# Support for access control lists
options 	UFS_DIRHASH		# Improve performance on big directories
options 	UFS_GJOURNAL		# Enable gjournal-based UFS journaling
options 	QUOTA			# Enable disk quotas for UFS
options 	MD_ROOT			# MD is a potential root device
options 	NFSCL			# Network Filesystem Client
options 	NFSD			# Network Filesystem Server
options 	NFSLOCKD		# Network Lock Manager
options 	NFS_ROOT		# NFS usable as /, requires NFSCL
options 	MSDOSFS			# MSDOS Filesystem
options 	CD9660			# ISO 9660 Filesystem
options 	PROCFS			# Process filesystem (requires PSEUDOFS)
options 	PSEUDOFS		# Pseudo-filesystem framework
options 	GEOM_RAID		# Soft RAID functionality.
options 	GEOM_LABEL		# Provides labelization
options 	EFIRT			# EFI Runtime Services support
options 	COMPAT_FREEBSD32	# Compatible with i386 binaries
options 	COMPAT_FREEBSD4		# Compatible with FreeBSD4
options 	COMPAT_FREEBSD5		# Compatible with FreeBSD5
options 	COMPAT_FREEBSD6		# Compatible with FreeBSD6
options 	COMPAT_FREEBSD7		# Compatible with FreeBSD7
options 	COMPAT_FREEBSD9		# Compatible with FreeBSD9
options 	COMPAT_FREEBSD10	# Compatible with FreeBSD10
options 	COMPAT_FREEBSD11	# Compatible with FreeBSD11
options 	COMPAT_FREEBSD12	# Compatible with FreeBSD12
options 	SCSI_DELAY=5000		# Delay (in ms) before probing SCSI
options 	KTRACE			# ktrace(1) support
options 	STACK			# stack(9) support
options 	SYSVSHM			# SYSV-style shared memory
options 	SYSVMSG			# SYSV-style message queues
options 	SYSVSEM			# SYSV-style semaphores
options 	_KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
options 	PRINTF_BUFR_SIZE=128	# Prevent printf output being interspersed.
options 	KBD_INSTALL_CDEV	# install a CDEV entry in /dev
options 	HWPMC_HOOKS		# Necessary kernel hooks for hwpmc(4)
options 	AUDIT			# Security event auditing
options 	CAPABILITY_MODE		# Capsicum capability mode
options 	CAPABILITIES		# Capsicum capabilities
options 	MAC			# TrustedBSD MAC Framework
options 	KDTRACE_FRAME		# Ensure frames are compiled in
options 	KDTRACE_HOOKS		# Kernel DTrace hooks
options 	DDB_CTF			# Kernel ELF linker loads CTF data
options 	INCLUDE_CONFIG_FILE	# Include this file in kernel
options 	RACCT			# Resource accounting framework
options 	RACCT_DEFAULT_TO_DISABLED # Set kern.racct.enable=0 by default
options 	RCTL			# Resource limits

# Debugging support.  Always need this:
options 	KDB			# Enable kernel debugger support.
options 	KDB_TRACE		# Print a stack trace for a panic.
# For full debugger support use (turn off in stable branch):
options 	BUF_TRACKING		# Track buffer history
options 	DDB			# Support DDB.
options 	FULL_BUF_TRACKING	# Track more buffer history
options 	GDB			# Support remote GDB.
options 	DEADLKRES		# Enable the deadlock resolver
options 	INVARIANTS		# Enable calls of extra sanity checking
options 	INVARIANT_SUPPORT	# Extra sanity checks of internal structures, required by INVARIANTS
options 	WITNESS			# Enable checks to detect deadlocks and cycles
options 	WITNESS_SKIPSPIN	# Don't run witness on spinlocks for speed
options 	MALLOC_DEBUG_MAXZONES=8	# Separate malloc(9) zones
options 	VERBOSE_SYSINIT=0	# Support debug.verbose_sysinit, off by default

# Kernel Sanitizers
#options 	COVERAGE		# Generic kernel coverage. Used by KCOV
#options 	KCOV			# Kernel Coverage Sanitizer
# Warning: KUBSAN can result in a kernel too large for loader to load
#options 	KUBSAN			# Kernel Undefined Behavior Sanitizer

# Kernel dump features.
options 	EKCD			# Support for encrypted kernel dumps
options 	GZIO			# gzip-compressed kernel and user dumps
options 	ZSTDIO			# zstd-compressed kernel and user dumps
options 	NETDUMP			# netdump(4) client support

# Make an SMP-capable kernel by default
options 	SMP			# Symmetric MultiProcessor Kernel
options 	EARLY_AP_STARTUP

# CPU frequency control
device		cpufreq

# Bus support.
device		acpi
options 	ACPI_DMAR
device		pci
options 	PCI_HP			# PCI-Express native HotPlug
options		PCI_IOV			# PCI SR-IOV support

# Floppy drives
device		fdc

# ATA controllers
device		ahci			# AHCI-compatible SATA controllers
device		ata			# Legacy ATA/SATA controllers
device		mvs			# Marvell 88SX50XX/88SX60XX/88SX70XX/SoC SATA
device		siis			# SiliconImage SiI3124/SiI3132/SiI3531 SATA

# SCSI Controllers
device		ahc			# AHA2940 and onboard AIC7xxx devices
device		ahd			# AHA39320/29320 and onboard AIC79xx devices
device		esp			# AMD Am53C974 (Tekram DC-390(T))
device		hptiop			# Highpoint RocketRaid 3xxx series
device		isp			# Qlogic family
#device		ispfw			# Firmware for QLogic HBAs- normally a module
device		mpt			# LSI-Logic MPT-Fusion
device		mps			# LSI-Logic MPT-Fusion 2
device		mpr			# LSI-Logic MPT-Fusion 3
device		sym			# NCR/Symbios Logic
device		trm			# Tekram DC395U/UW/F DC315U adapters
device		isci			# Intel C600 SAS controller
device		ocs_fc			# Emulex FC adapters

# ATA/SCSI peripherals
device		scbus			# SCSI bus (required for ATA/SCSI)
device		ch			# SCSI media changers
device		da			# Direct Access (disks)
device		sa			# Sequential Access (tape etc)
device		cd			# CD
device		pass			# Passthrough device (direct ATA/SCSI access)
device		ses			# Enclosure Services (SES and SAF-TE)
#device		ctl			# CAM Target Layer

# RAID controllers interfaced to the SCSI subsystem
device		amr			# AMI MegaRAID
device		arcmsr			# Areca SATA II RAID
device		ciss			# Compaq Smart RAID 5*
device		hptmv			# Highpoint RocketRAID 182x
device		hptnr			# Highpoint DC7280, R750
device		hptrr			# Highpoint RocketRAID 17xx, 22xx, 23xx, 25xx
device		hpt27xx			# Highpoint RocketRAID 27xx
device		iir			# Intel Integrated RAID
device		ips			# IBM (Adaptec) ServeRAID
device		mly			# Mylex AcceleRAID/eXtremeRAID
device		twa			# 3ware 9000 series PATA/SATA RAID
device		smartpqi		# Microsemi smartpqi driver
device		tws			# LSI 3ware 9750 SATA+SAS 6Gb/s RAID controller

# RAID controllers
device		aac			# Adaptec FSA RAID
device		aacp			# SCSI passthrough for aac (requires CAM)
device		aacraid			# Adaptec by PMC RAID
device		ida			# Compaq Smart RAID
device		mfi			# LSI MegaRAID SAS
device		mlx			# Mylex DAC960 family
device		mrsas			# LSI/Avago MegaRAID SAS/SATA, 6Gb/s and 12Gb/s
device		pmspcv			# PMC-Sierra SAS/SATA Controller driver
#XXX pointer/int warnings
#device		pst			# Promise Supertrak SX6000
device		twe			# 3ware ATA RAID

# NVM Express (NVMe) support
device		nvme			# base NVMe driver
device		nvd			# expose NVMe namespaces as disks, depends on nvme

# atkbdc0 controls both the keyboard and the PS/2 mouse
device		atkbdc			# AT keyboard controller
device		atkbd			# AT keyboard
device		psm			# PS/2 mouse

device		kbdmux			# keyboard multiplexer

device		vga			# VGA video card driver
options 	VESA			# Add support for VESA BIOS Extensions (VBE)

device		splash			# Splash screen and screen saver support

# syscons is the default console driver, resembling an SCO console
device		sc
options 	SC_PIXEL_MODE		# add support for the raster text mode

# vt is the new video console driver
device		vt
device		vt_vga
device		vt_efifb

device		agp			# support several AGP chipsets

# PCCARD (PCMCIA) support
# PCMCIA and cardbus bridge support
device		cbb			# cardbus (yenta) bridge
device		pccard			# PC Card (16-bit) bus
device		cardbus			# CardBus (32-bit) bus

# Serial (COM) ports
device		uart			# Generic UART driver

# Parallel port
device		ppc
device		ppbus			# Parallel port bus (required)
device		lpt			# Printer
device		ppi			# Parallel port interface device
#device		vpo			# Requires scbus and da

device		puc			# Multi I/O cards and multi-channel UARTs

# PCI/PCI-X/PCIe Ethernet NICs that use iflib infrastructure
device		iflib
device		em			# Intel PRO/1000 Gigabit Ethernet Family
device		ix			# Intel PRO/10GbE PCIE PF Ethernet
device		ixv			# Intel PRO/10GbE PCIE VF Ethernet
device		ixl			# Intel 700 Series Physical Function
device		iavf			# Intel Adaptive Virtual Function
device		vmx			# VMware VMXNET3 Ethernet

# PCI Ethernet NICs.
device		bxe			# Broadcom NetXtreme II BCM5771X/BCM578XX 10GbE
device		le			# AMD Am7900 LANCE and Am79C9xx PCnet
device		ti			# Alteon Networks Tigon I/II gigabit Ethernet

# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device		miibus			# MII bus support
device		ae			# Attansic/Atheros L2 FastEthernet
device		age			# Attansic/Atheros L1 Gigabit Ethernet
device		alc			# Atheros AR8131/AR8132 Ethernet
device		ale			# Atheros AR8121/AR8113/AR8114 Ethernet
device		bce			# Broadcom BCM5706/BCM5708 Gigabit Ethernet
device		bfe			# Broadcom BCM440x 10/100 Ethernet
device		bge			# Broadcom BCM570xx Gigabit Ethernet
device		cas			# Sun Cassini/Cassini+ and NS DP83065 Saturn
device		dc			# DEC/Intel 21143 and various workalikes
device		et			# Agere ET1310 10/100/Gigabit Ethernet
device		fxp			# Intel EtherExpress PRO/100B (82557, 82558)
device		gem			# Sun GEM/Sun ERI/Apple GMAC
device		hme			# Sun HME (Happy Meal Ethernet)
device		jme			# JMicron JMC250 Gigabit/JMC260 Fast Ethernet
device		lge			# Level 1 LXT1001 gigabit Ethernet
device		msk			# Marvell/SysKonnect Yukon II Gigabit Ethernet
device		nfe			# nVidia nForce MCP on-board Ethernet
device		nge			# NatSemi DP83820 gigabit Ethernet
device		re			# RealTek 8139C+/8169/8169S/8110S
device		rl			# RealTek 8129/8139
device		sge			# Silicon Integrated Systems SiS190/191
device		sis			# Silicon Integrated Systems SiS 900/SiS 7016
device		sk			# SysKonnect SK-984x & SK-982x gigabit Ethernet
device		ste			# Sundance ST201 (D-Link DFE-550TX)
device		stge			# Sundance/Tamarack TC9021 gigabit Ethernet
device		vge			# VIA VT612x gigabit Ethernet
device		vr			# VIA Rhine, Rhine II
device		xl			# 3Com 3c90x (``Boomerang'', ``Cyclone'')

# Wireless NIC cards
device		wlan			# 802.11 support
options 	IEEE80211_DEBUG		# enable debug msgs
options 	IEEE80211_SUPPORT_MESH	# enable 802.11s draft support
device		wlan_wep		# 802.11 WEP support
device		wlan_ccmp		# 802.11 CCMP support
device		wlan_tkip		# 802.11 TKIP support
device		wlan_amrr		# AMRR transmit rate control algorithm
device		an			# Aironet 4500/4800 802.11 wireless NICs.
device		ath			# Atheros NICs
device		ath_pci			# Atheros pci/cardbus glue
device		ath_hal			# pci/cardbus chip support
options 	AH_AR5416_INTERRUPT_MITIGATION # AR5416 interrupt mitigation
options 	ATH_ENABLE_11N		# Enable 802.11n support for AR5416 and later
device		ath_rate_sample		# SampleRate tx rate control for ath
#device		bwi			# Broadcom BCM430x/BCM431x wireless NICs.
#device		bwn			# Broadcom BCM43xx wireless NICs.
device		ipw			# Intel 2100 wireless NICs.
device		iwi			# Intel 2200BG/2225BG/2915ABG wireless NICs.
device		iwn			# Intel 4965/1000/5000/6000 wireless NICs.
device		malo			# Marvell Libertas wireless NICs.
device		mwl			# Marvell 88W8363 802.11n wireless NICs.
device		ral			# Ralink Technology RT2500 wireless NICs.
device		wi			# WaveLAN/Intersil/Symbol 802.11 wireless NICs.
device		wpi			# Intel 3945ABG wireless NICs.

# Pseudo devices.
device		crypto			# core crypto support
device		loop			# Network loopback
device		padlock_rng		# VIA Padlock RNG
device		rdrand_rng		# Intel Bull Mountain RNG
device		ether			# Ethernet support
device		vlan			# 802.1Q VLAN support
device		tuntap			# Packet tunnel.
device		md			# Memory "disks"
device		gif			# IPv6 and IPv4 tunneling
device		firmware		# firmware assist module

# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
# Note that 'bpf' is required for DHCP.
device		bpf			# Berkeley packet filter

# USB support
options 	USB_DEBUG		# enable debug msgs
device		uhci			# UHCI PCI->USB interface
device		ohci			# OHCI PCI->USB interface
device		ehci			# EHCI PCI->USB interface (USB 2.0)
device		xhci			# XHCI PCI->USB interface (USB 3.0)
device		usb			# USB Bus (required)
device		ukbd			# Keyboard
device		umass			# Disks/Mass storage - Requires scbus and da

# Sound support
device		sound			# Generic sound driver (required)
device		snd_cmi			# CMedia CMI8338/CMI8738
device		snd_csa			# Crystal Semiconductor CS461x/428x
device		snd_emu10kx		# Creative SoundBlaster Live! and Audigy
device		snd_es137x		# Ensoniq AudioPCI ES137x
device		snd_hda			# Intel High Definition Audio
device		snd_ich			# Intel, NVidia and other ICH AC'97 Audio
device		snd_via8233		# VIA VT8233x Audio

# MMC/SD
device		mmc			# MMC/SD bus
device		mmcsd			# MMC/SD memory card
device		sdhci			# Generic PCI SD Host Controller

# VirtIO support
device		virtio			# Generic VirtIO bus (required)
device		virtio_pci		# VirtIO PCI device
device		vtnet			# VirtIO Ethernet device
device		virtio_blk		# VirtIO Block device
device		virtio_scsi		# VirtIO SCSI device
device		virtio_balloon		# VirtIO Memory Balloon device

# HyperV drivers and enhancement support
device		hyperv			# HyperV drivers 

# Xen HVM Guest Optimizations
# NOTE: XENHVM depends on xenpci.  They must be added or removed together.
options 	XENHVM			# Xen HVM kernel infrastructure
device		xenpci			# Xen HVM Hypervisor services driver

# Netmap provides direct access to TX/RX rings on supported NICs
device		netmap			# netmap(4) support

# evdev interface
options 	EVDEV_SUPPORT		# evdev support in legacy drivers
device		evdev			# input event device support
device		uinput			# install /dev/uinput cdev

[-- Attachment #3 --]

root@osboxes:/usr/src/sys/amd64/compile/MYKERNEL # make cleandepend

[...snip...]

rm -f machine x86 .depend .depend.* GPATH GRTAGS GSYMS GTAGS
===> tcp (cleandepend)
===> tcp/bbr (cleandepend)
cd: /usr/src/sys/modules/tcp/bbr: No such file or directory
*** Error code 2

Stop.
make[2]: stopped in /usr/src/sys/modules/tcp
*** Error code 1

Stop.
make[1]: stopped in /usr/src/sys/modules
*** Error code 1

Stop.
make: stopped in /usr/src/sys/amd64/compile/MYKERNEL

root@osboxes:/usr/src/sys/amd64/compile/MYKERNEL # ls /usr/src/sys/modules/tcp/
Makefile        Makefile.orig   rack            tcpmd5


Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAKy-8=hHDbGNHKESYBkhMfXaouJHWn%2BiV08ed2SdU4uoqDUcSg>