This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH v3] Test case for BZ 19329
- From: Szabolcs Nagy <szabolcs dot nagy at arm dot com>
- To: GNU C Library <libc-alpha at sourceware dot org>
- Cc: <nd at arm dot com>
- Date: Thu, 5 Jan 2017 15:34:06 +0000
- Subject: Re: [PATCH v3] Test case for BZ 19329
- Authentication-results: sourceware.org; auth=none
- Authentication-results: spf=none (sender IP is ) smtp.mailfrom=Szabolcs dot Nagy at arm dot com;
- Nodisclaimer: True
- References: <584FE979.3060001@arm.com> <5857DF73.9030801@arm.com>
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:99
https://sourceware.org/ml/libc-alpha/2016-12/msg00456.html
ping 2.
i think v3 is safe and does not waste resources.
the only hack is the relaxed atomic operations, but i
wanted to avoid introducing additional barriers and the
correctness of the test does not depend on ordering.
if that's considered bad then those can be changed to
acquire/release atomics.
On 19/12/16 13:24, Szabolcs Nagy wrote:
> ping.
>
> On 13/12/16 12:28, Szabolcs Nagy wrote:
>> Test concurrent dlopen and pthread_create when the loaded
>> modules have TLS. This triggers dl-tls assertion failures
>> more reliably than the tst-stack4 test.
>>
>> The dlopened module has 100 DT_NEEDED dependencies, the
>> number of concurrent threads created during dlopen depends
>> on filesystem speed and hardware.
>>
>> Doing the test in a fork loop can make it more reliable.
>>
>> v2:
>> - undef NDEBUG.
>> - join nop threads so at most 3 threads exist at a time.
>> - remove stack size setting (resource usage is no longer a concern).
>> - stop creating threads after dlopen observably finished.
>> - print the number of threads created for debugging.
>>
>> v3:
>> - use the new test support code.
>> - better Makefile usage so modules are cleaned properly.
>>
>> 2016-12-13 Szabolcs Nagy <szabolcs.nagy@arm.com>
>>
>> * nptl/Makefile (tests): Add tst-tls7.
>> (modules-names): Add tst-tls7mod, tst-tls7mod-dep.
>> * nptl/tst-tls7.c: New file.
>> * nptl/tst-tls7mod-dep.c: New file.
>> * nptl/tst-tls7mod.c: New file.
>>
>