[llvm-dev] TSAN hack on AArch64 for Android
Jason Kim via llvm-dev
llvm-dev at lists.llvm.org
Fri Aug 28 10:02:45 PDT 2015
IMO having to disable 2/3 of the tests means the patch isn't ready yet.
[ jasonk --> ] OK, that’s a fair view. However, please keep in mind the follwing:
(*) The tests weren’t all stable to begin with.
(*) I am perfectly willing to triage the failures, but please keep in mind that any “threshold” that we cross from NOT testing TSAN on aarch64+android to actually testing on it is going to be a large hurdle.
(*) BIONIC is NOT glibc!
(*) Its pretty darn near impossible to have the perfect patch, which is [a] small [b] doesn’t break anything [c] adds major new features.
(*) What I have currently is: [a] not very big [b] doesn’t break anything VISIBLY [c] adds major new features
(*) The new feature (TSAN on aarch64-linux-androideabi) is currently turned OFF by default
(*) There are plenty of cases in prior history in llvm where a set of tests were turned off temporarily, especially when a major new platform is being introduced. I don’t think its unreasonable to have that as a starting point.
On Fri, Aug 28, 2015 at 9:31 AM, Jason Kim <jasonk at codeaurora.org <mailto:jasonk at codeaurora.org> > wrote:
> -----Original Message-----
> From: Renato Golin [mailto:renato.golin at linaro.org <mailto:renato.golin at linaro.org> ]
> > TESTS!
> > Currently, about 2/3 tests for tsan fail/flake on android+aarch64.
> > They aren't xfailed, because some of them are flaky, and thus
> unexpectedly pass at times.
> > So I decided to mark them as unsupported on android+aarch64, and thus
> is "green".
> So, if they currently pass on the production buildbots, you can't mark them
> as unstable because of your patch, as that will mean your patch is making
> them unstable, and we can't just make dozens of tests unstable for any
> amount of features.
[ jasonk --> ] The tests, AFAIK, currently "pass" for a somewhat squiggly definition of "pass".
I get occasional fails on a local x86_64 build, w/o my patches.
> If your patch introduces the instability, you'll have to fix them before
[ jasonk --> ] The instabilities were there to begin with, AFAIK. Some of the tests are run on a "deflake" regimen where they are repeated 10x, looking for a specific output.
> commit. That's why I suggested splitting it into many small chunks, none of
> which will leave the tree in an unstable state, because you'll have time to
> look at each instability individually, and fix them before commit. The bots
> will also be happier, and every one wins.
[ jasonk --> ] Sorry, but I don't understand what you want here. The tests I touched are marked unsupported (i.e. won't be run at all) ONLY for aarch64-linux-androideabi. Is there something else you want? It should not impact any other configuration of TSAN/compiler-rt as-is. I also guard TSAN with a CMAKE variable so that it only gets built for aarch64 iff COMPILER_RT_FORCE_TSAN_AARCH64=1
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev