Skip site navigation (1)Skip section navigation (2)
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>