[llvm-dev] TSAN hack on AArch64 for Android

Jason Kim via llvm-dev
Fri, 28 Aug 2015 17:02:45 -0000

[ 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



 > cheers,
 > -renato

Thanks!
-Jason





-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20150828/c011c514/attachment.html>