<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Mar 20, 2013 at 7:02 PM, Dmitry Vyukov <span dir="ltr"><<a href="mailto:dvyukov@google.com" target="_blank">dvyukov@google.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
Most of tsan tests use sleep(1), </blockquote><div><br></div><div style>This seems unfortunate from the first glance, indeed. </div><div style>But all these tsan tests run in parallel, and together finish in a couple of seconds. </div>
<div style><br></div><div style>--kcc </div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">because we need to ensure particular<br>
thread ordering w/o using any synchronization.<br>
This test needs it doubly, because __tsan_java_mutex_read_lock() is<br>
not actually a mutex, it's just an annotation for Java mutexes, so the<br>
test needs to arrange that the critical sections do not run<br>
concurrently.<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
<br>
On Wed, Mar 20, 2013 at 6:48 PM, Rafael Espíndola<br>
<<a href="mailto:rafael.espindola@gmail.com">rafael.espindola@gmail.com</a>> wrote:<br>
> Sorry, why is the sleep needed? Having a test that takes one second to<br>
> run is unfortunate.<br>
><br>
> On 20 March 2013 05:21, Dmitry Vyukov <<a href="mailto:dvyukov@google.com">dvyukov@google.com</a>> wrote:<br>
>> Author: dvyukov<br>
>> Date: Wed Mar 20 04:21:49 2013<br>
>> New Revision: 177499<br>
>><br>
>> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=177499&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=177499&view=rev</a><br>
>> Log:<br>
>> tsan: fix incorrect test<br>
>><br>
>> Modified:<br>
>>     compiler-rt/trunk/lib/tsan/lit_tests/java_rwlock.cc<br>
>><br>
>> Modified: compiler-rt/trunk/lib/tsan/lit_tests/java_rwlock.cc<br>
>> URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/lit_tests/java_rwlock.cc?rev=177499&r1=177498&r2=177499&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/lit_tests/java_rwlock.cc?rev=177499&r1=177498&r2=177499&view=diff</a><br>

>> ==============================================================================<br>
>> --- compiler-rt/trunk/lib/tsan/lit_tests/java_rwlock.cc (original)<br>
>> +++ compiler-rt/trunk/lib/tsan/lit_tests/java_rwlock.cc Wed Mar 20 04:21:49 2013<br>
>> @@ -1,10 +1,12 @@<br>
>>  // RUN: %clangxx_tsan -O1 %s -o %t && %t 2>&1 | FileCheck %s<br>
>>  #include "java.h"<br>
>> +#include <unistd.h><br>
>><br>
>>  jptr varaddr;<br>
>>  jptr lockaddr;<br>
>><br>
>>  void *Thread(void *p) {<br>
>> +  sleep(1);<br>
>>    __tsan_java_mutex_read_lock(lockaddr);<br>
>>    *(int*)varaddr = 42;<br>
>>    __tsan_java_mutex_read_unlock(lockaddr);<br>
>><br>
>><br>
>> _______________________________________________<br>
>> llvm-commits mailing list<br>
>> <a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
>> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</div></div></blockquote></div><br></div></div>