Date: Tue, 24 Sep 2019 13:13:37 -0700 From: Randall Stewart <rrs@netflix.com> To: Li-Wen Hsu <lwhsu@freebsd.org> Cc: "O. Hartmann" <ohartmann@walstatt.org>, Randall Ray Stewart <rrs@freebsd.org>, src-committers <src-committers@freebsd.org>, svn-src-all <svn-src-all@freebsd.org>, svn-src-head <svn-src-head@freebsd.org> Subject: Re: svn commit: r352657 - in head/sys: conf kern modules/tcp modules/tcp/bbr netinet netinet/tcp_stacks sys Message-ID: <A85A038D-6419-47E6-9D54-BA239ED47856@netflix.com> In-Reply-To: <56FBEE27-FBDA-44E0-BBBF-F5D9A4755047@netflix.com> References: <201909241818.x8OIIBNr039667@repo.freebsd.org> <20190924212918.01e52920@thor.intern.walstatt.dynvpn.de> <CAKBkRUyca5hNLU8Xy1BgtiqYzrmHQQoFDm-uEighR5TvwPqgkQ@mail.gmail.com> <F8F9CA94-A04A-4C42-AD32-0445F98BC895@netflix.com> <CAKBkRUweRxUWtKp25hrrORRNoo-Bt-smwMOvchaTDUvDn2GdmA@mail.gmail.com> <56FBEE27-FBDA-44E0-BBBF-F5D9A4755047@netflix.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Hmm It looks like BBR needs an update too since it calls the inpcb detach of = the ratelimit function too=E2=80=A6 I may need to reassess this since it should use only the tcp_ratelimit = interfaces=E2=80=A6 but for now an simple ifdef will work make sure to pick up r352660 (and actually it might be best to include ratelimit.. it costs little = and makes it so if you do get a nic that supports rate limiting you will be able to take = advantage of it) R > On Sep 24, 2019, at 1:06 PM, Randall Stewart <rrs@netflix.com> wrote: >=20 > Right >=20 > Thats because GENERIC does not add the optional TCP stacks. >=20 > Ok the problem is fixed with r352659 >=20 > The tcp_ratelimit.h had a mixed up ifdef >=20 > i.e. >=20 > #ifdef RATELIMIT > #ifdef _KERNEL >=20 > definitions >=20 > #else >=20 > macro definitions that return error > #endif > #endif >=20 >=20 > Which should have been the opposite >=20 > #ifdef _KERNEL > #ifdef RATELIMIT >=20 > definitions >=20 > #else >=20 >=20 > macros def=E2=80=99s returning errors >=20 > #endif > #endif >=20 > Reversing that will fix the issue if you add the extra stacks but fail = to add RATELIMIT >=20 > R >=20 >> On Sep 24, 2019, at 1:01 PM, Li-Wen Hsu <lwhsu@freebsd.org> wrote: >>=20 >> I mean the head (r352657) world and GENERIC kernel can be built >> successfully on 12.0-R, which is we guaranteed. >> Also the LINT kernel build is fine on CI: >> https://ci.freebsd.org/job/FreeBSD-head-amd64-LINT/13781/ >>=20 >> So I was curious about the build environment of that build failure. >>=20 >> Best, >> Li-Wen >>=20 >> On Tue, Sep 24, 2019 at 9:55 PM Randall Stewart <rrs@netflix.com> = wrote: >>>=20 >>> 12.0R would not have BBR .. its only in head=E2=80=A6 hmm it could = be a issue with TCP_RATELIMIT not defined >>> though I did compile GENERIC without the extra stacks (and without = rate limit and hpts) and that >>> compiled ok.. >>>=20 >>> R >>>=20 >>>> On Sep 24, 2019, at 12:49 PM, Li-Wen Hsu <lwhsu@freebsd.org> wrote: >>>>=20 >>>> On Tue, Sep 24, 2019 at 9:29 PM O. Hartmann = <ohartmann@walstatt.org> wrote: >>>>>=20 >>>>> -----BEGIN PGP SIGNED MESSAGE----- >>>>> Hash: SHA256 >>>>>=20 >>>>> Am Tue, 24 Sep 2019 18:18:11 +0000 (UTC) >>>>> Randall Stewart <rrs@FreeBSD.org> schrieb: >>>>>=20 >>>>>> Author: rrs >>>>>> Date: Tue Sep 24 18:18:11 2019 >>>>>> New Revision: 352657 >>>>>> URL: https://svnweb.freebsd.org/changeset/base/352657 >>>>=20 >>>> ... >>>>=20 >>>>> This break kernel builds: >>>>>=20 >>>>> [...] >>>>> = /usr/src/sys/modules/tcp/bbr/../../../netinet/tcp_stacks/bbr.c:5613:9: = error: implicit >>>>> declaration of function 'tcp_chg_pacing_rate' is invalid in C99 >>>>> [-Werror,-Wimplicit-function-declaration] nrte =3D = tcp_chg_pacing_rate(bbr->r_ctl.crte, ^ >>>>> = /usr/src/sys/modules/tcp/bbr/../../../netinet/tcp_stacks/bbr.c:5613:9: = error: this function >>>>> declaration is not a prototype [-Werror,-Wstrict-prototypes] >>>>> = /usr/src/sys/modules/tcp/bbr/../../../netinet/tcp_stacks/bbr.c:5613:7: = error: incompatible >>>>> integer to pointer conversion assigning to 'const struct = tcp_hwrate_limit_table *' from 'int' >>>>> [-Werror,-Wint-conversion] nrte =3D = tcp_chg_pacing_rate(bbr->r_ctl.crte, ^ >>>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- all_subdir_toecore --- = Building >>>>> = /usr/obj/usr/src/amd64.amd64/sys/THOR/modules/usr/src/sys/modules/toecore/= toecore.ko --- >>>>> all_subdir_tcp --- = /usr/src/sys/modules/tcp/bbr/../../../netinet/tcp_stacks/bbr.c:10443:4: >>>>> error: implicit declaration of function 'tcp_rel_pacing_rate' is = invalid in C99 >>>>> [-Werror,-Wimplicit-function-declaration] = tcp_rel_pacing_rate(bbr->r_ctl.crte, bbr->rc_tp); ^ >>>>> - --- all_subdir_tpm --- >>>>> =3D=3D=3D> tpm (all) >>>>> - --- all_subdir_tcp --- >>>>> = /usr/src/sys/modules/tcp/bbr/../../../netinet/tcp_stacks/bbr.c:10443:4: = error: this function >>>>> declaration is not a prototype [-Werror,-Wstrict-prototypes] --- = all_subdir_trm --- >>>>> =3D=3D=3D> trm (all) >>>>> - --- all_subdir_tcp --- >>>>> = /usr/src/sys/modules/tcp/bbr/../../../netinet/tcp_stacks/bbr.c:14307:21: = error: implicit >>>>> declaration of function 'tcp_set_pacing_rate' is invalid in C99 >>>>> [-Werror,-Wimplicit-function-declaration] bbr->r_ctl.crte =3D = tcp_set_pacing_rate(bbr->rc_tp, >>>>=20 >>>> CI completed a clean build on 12.0-R: >>>> https://ci.freebsd.org/job/FreeBSD-head-amd64-build/14672/ >>>>=20 >>>> What's your build environment and platform? >>>>=20 >>>> Best, >>>> Li-Wen >>>=20 >>> ------ >>> Randall Stewart >>> rrs@netflix.com >>>=20 >>>=20 >>>=20 >=20 > ------ > Randall Stewart > rrs@netflix.com >=20 >=20 >=20 ------ Randall Stewart rrs@netflix.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?A85A038D-6419-47E6-9D54-BA239ED47856>