Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 18 Sep 2019 08:04:07 -0700
From:      Enji Cooper <yaneurabeya@gmail.com>
To:        Kyle Evans <kevans@freebsd.org>
Cc:        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: r352465 - head/share/mk
Message-ID:  <E262FF1E-5F82-44B5-9534-0DEA8F29B563@gmail.com>
In-Reply-To: <CACNAnaHCO5mTpPFpODTAYwAR1cPo0F29%2BDWxiF0vLTEZDz3yDA@mail.gmail.com>
References:  <201909180158.x8I1wuZu011258@repo.freebsd.org> <0FBC9A62-AE3B-4F27-AABC-06FF45F415F1@gmail.com> <CACNAnaG23b92BjmAMD_Pn1PW4gcYEne6vdaJ9SuOxHU1hbmyvg@mail.gmail.com> <CDB9D8B3-4100-4C52-B414-D6C60FE49846@gmail.com> <81382CF5-A928-48EF-93A9-BBBBA174F4BD@gmail.com> <CACNAnaHCO5mTpPFpODTAYwAR1cPo0F29%2BDWxiF0vLTEZDz3yDA@mail.gmail.com>

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

> On Sep 18, 2019, at 07:58, Kyle Evans <kevans@freebsd.org> wrote:
>=20
>> On Wed, Sep 18, 2019 at 9:46 AM Enji Cooper <yaneurabeya@gmail.com> wrote=
:
>>=20
>>=20
>>> On Sep 18, 2019, at 07:33, Enji Cooper <yaneurabeya@gmail.com> wrote:
>>>=20
>>>=20
>>>>> On Sep 18, 2019, at 05:40, Kyle Evans <kevans@freebsd.org> wrote:
>>>>>=20
>>>>> On Wed, Sep 18, 2019 at 7:34 AM Enji Cooper <yaneurabeya@gmail.com> wr=
ote:
>>>>>=20
>>>>>=20
>>>>>> On Sep 17, 2019, at 18:58, Kyle Evans <kevans@freebsd.org> wrote:
>>>>>>=20
>>>>>> Author: kevans
>>>>>> Date: Wed Sep 18 01:58:56 2019
>>>>>> New Revision: 352465
>>>>>> URL: https://svnweb.freebsd.org/changeset/base/352465
>>>>>>=20
>>>>>> Log:
>>>>>> googletest: default-disable on all of MIPS for now
>>>>>>=20
>>>>>> Parts of the fusefs tests trigger a bug in current versions of llvm: I=
R
>>>>>> representation of some routine for the MIPS targets is a function wit=
h a
>>>>>> large number of arguments. This then leads the compiler on an hour+ l=
ong
>>>>>> goose chase, which is OK if you build the current tree but less-so if=
 you're
>>>>>> trying external toolchain or doing a universe build involving mips wh=
en it
>>>>>> eventually gets switched over to LLVM.
>>>>>>=20
>>>>>> Better, accurate details can be found in LLVM PR43263.
>>>>>=20
>>>>> Uhhhhh... why not do this in tests/sys/... instead?
>>>>=20
>>>> Because there's still value in being able to easily enable these for
>>>> building/running the complete set of tests through standard build
>>>> infrastructure, but it's not worth adding a knob specifically for the
>>>> fusefs tests. I also prefer the communication of it being an
>>>> off-by-default option and easily deduced from src.conf(5) that this
>>>> part of the build is default-disabled on mips/mips.
>>>=20
>>> Let me rephrase things a bit: is googlemock broken for all of mips, or i=
s it just the tests? If the latter, the tests should be blacklisted for mips=
 with a justification. If the former, I agree your method of dealing with th=
e situation is ok, but more investigation needs to be done to see whether or=
 not the port (in general) is broken and mark it broken if need be.
>>=20
>> It looks like the latter case, based on the PR, and it=E2=80=99s a build p=
erformance issue... Is this impacting CI pipelines?
>>=20
>=20
> It is the latter, and I do not want to *blacklist* them because as far
> as I can tell, the tests aren't necessarily broken. I want to
> workaround them for default by now.
>=20
>>> The problem with src.opts.mk=E2=80=99s per-architecture options, is that=
 it can be very heavy handed enabling/disabling features. I=E2=80=99m not su=
re that everything in there warrants disabling at that level.
>>=20
>> My investigation suggests that the course of action was overly heavy hand=
ed. While I=E2=80=99m not asking for a revert, it would be really nice if wh=
ole features weren=E2=80=99t disabled, unless there=E2=80=99s an issue with t=
he feature.
>>=20
>=20
> We do not have a lighter method for dealing with this that I can tell,
> because as I said above: I do not want to blacklist them or completely
> kill them off. I still want the option to build and test them, but as
> I aim to switch mips over to llvm I do not want to subject CI and the
> rest of the world to an extra 1.5+ hour build time for this during
> tinderbox runs.
>=20
> Given that it's mips, so already tier-high, and I'm one of few people
> that care about it (and I only care about it for the time being), I
> intend to leave it as-is since it's still a default in the rest of the
> world.

Ok, valid straw man argument: in this particular case, should llvm / c++ sup=
port be disabled instead, since it=E2=80=99s the real underlying issue? I=E2=
=80=99m guessing (non-ancient) g++ doesn=E2=80=99t have this issue.

Again, disabling a framework because of a single issue in the tests doesn=E2=
=80=99t make sense. Unless you have proof that the build times for all of go=
ogletest/googlemock with llvm is an issue, this seems like the wrong remedia=
tion to perform.

-Enji

PS A heads up to asomers and myself would have been nice. I don=E2=80=99t li=
ke post-commit nitpicking, since the issue could have been discussed/reviewe=
d before commit.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E262FF1E-5F82-44B5-9534-0DEA8F29B563>