This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PING] [PATCH] Fix parameters of __tsan_vptr_update
- From: Konstantin Serebryany <konstantin dot s dot serebryany at gmail dot com>
- To: Mike Stump <mikestump at comcast dot net>
- Cc: Dmitry Vyukov <dvyukov at google dot com>, Bernd Edlinger <bernd dot edlinger at hotmail dot de>, Kostya Serebryany <kcc at google dot com>, Jakub Jelinek <jakub at redhat dot com>, Richard Biener <richard dot guenther at gmail dot com>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Mon, 19 Jan 2015 18:49:21 -0800
- Subject: Re: [PING] [PATCH] Fix parameters of __tsan_vptr_update
- Authentication-results: sourceware.org; auth=none
- References: <DUB118-W36BD6269214D3EE6E26A4AE4510 at phx dot gbl> <20150102190102 dot GB1667 at tucnak dot redhat dot com> <DUB118-W157955758BEE04CBCE299FE45D0 at phx dot gbl> <20150102212901 dot GG1667 at tucnak dot redhat dot com> <DUB118-W23B6AF5E187BC7CE6646AEE45D0 at phx dot gbl> <DUB118-W23B4CFAA5A198B57689EBDE45B0 at phx dot gbl> <DUB118-W16B4004988A5B0A3EE2CC2E4420 at phx dot gbl> <DUB118-W519443EF06A1C4DB96059EE44F0 at phx dot gbl> <CACT4Y+YBJRzG9c4KSrykO5NbaGeAKfmJUTb7ryqk4dX_Hx5aNQ at mail dot gmail dot com> <DUB118-W2875D28C15EDA755AEEC50E44F0 at phx dot gbl> <CACT4Y+a3j84+Pgp4zfuh2vRdDK3dy1WqA3oOMqhzWs+mQ5mqWg at mail dot gmail dot com> <B45A3E4F-8313-45BE-946A-B0C159FF9120 at comcast dot net>
[text-only]
On Mon, Jan 19, 2015 at 7:42 AM, Mike Stump <mikestump@comcast.net> wrote:
> On Jan 19, 2015, at 12:43 AM, Dmitry Vyukov <dvyukov@google.com> wrote:
>> I can't really make my mind on this. I would mildly prefer sleep's (if
>> they work reliably!).
>
> Let me state it more forcefully.
You don't have to convince us here.
I'd love to get rid of sleep calls in the tsan test suite -- they are
a minor but a constant annoyance.
But I also want to keep the tests *very simple*, i.e.
1. Single file w/o any non-system includes, no linking of extra
libraries/objects
2. Not too much extra code. (ideally, 1 line for init, 1 line for
"signal", 1 line for "wait")
3. Strictly posix or c++11 (unless we are testing something specific)
Your idea with barrier_wait/dlsym sounds interesting, but I can't see
the code in this mail thread.
What do I miss?
> sleeps are not now, nor in the history of computing ever been a synchronization primitive, except for hard real time systems. If they were, you would be able to cite a paper that uses them. If I am wrong, Iâd welcome a cite. Any failure of sleep to work is a indication that that system is not a real time system, and the entirety of the gcc test suite is non-real time code (unless someone snuck some in while I wasnât watching). Only a synchronization primitive can make the test cases deterministic, therefore, sleep can never be used as a syntonization primitive in the gcc test suite.
>
>> Kostya, you had experience with both approaches. What are you thoughts on this?
>> StealthNotification definitely makes tests faster and more reliable.
Yep.
>
> To me, reliability isnât a continuum for the gcc test suite. It is binary. It is, or, is not reliable and deterministic. The standard for the gcc test suite is to be realible and deterministic.
>
>> can't really come up with any objective downsides.
he downside is more code in tests.
If we can satisfy my definition of *very simple* (above) -- let's do it.
>> not to mention that they waste testing time.
We discussed this. With a parallel test runner this is not a problem.
I don't say the sleeps are good, I just say that testing time is not
an argument against them.
Flakiness is.
--kcc
>
> Nor I.