RFR(S) 8239449: [TESTBUG] test/hotspot/jtreg/runtime/TLS/TestTLS.java: skip test if glibc too old for AdjustStackSizeForTLS

Jiangli Zhou jianglizhou at google.com
Thu Feb 20 16:32:15 UTC 2020


Hi Richard,

On Thu, Feb 20, 2020 at 1:03 AM Reingruber, Richard
<richard.reingruber at sap.com> wrote:
>
> Hi Jiangli,
>
> thanks for providing feedback.
>
>     > David's suggestion of using dlsym seems to be more reliable. Regarding the stability of
>     > __pthread_get_minstack in future glibc versions, Florian has added comment to
>     > __pthread_get_minstack about external users to ensure it's not removed until TCB is
>     > separately allocated.  Please see: http://51.15.138.76/patch/18989/ and
>     > https://gcc.gnu.org/bugzilla//show_bug.cgi?id=91628#c2.
>
> So if I understand you and David correctly, then the test should be skipped if the lookup of
> __pthread_get_minstack fails.
>
> Then the test would be skipped on future glibc versions where __pthread_get_minstack was removed
> because TLS and TCB are not placed on a threads stack anymore.
>
> Actually I would prefer not to skip the test then. I'd like to verify if large data structures can
> be placed in TLS without stack size adjustment or if there is some kind of regression. That's the
> point of regression tests after all.
>

That's a very valid point. I thought about that as well yesterday. My
thinking was that the VM and test would need to be updated to remove
the workaround for the TLS issue when no longer needed. Do you know if
the proposed check using gnu_get_libc_version() covers all cases? I
came across the following archive that mentioned missing symbol in
eglibc-2.13 (eglibc however is already deprecated).

https://www.mail-archive.com/lfs-dev@linuxfromscratch.org/msg18115.html

> In other words: I wouldn't change test coverage of future glibc versions. I just want to exclude
> glibc versions were the tested feature cannot work.

Best regards,
Jiangli
>
> Thanks, Richard.
>
> -----Original Message-----
> From: Jiangli Zhou <jianglizhou at google.com>
> Sent: Mittwoch, 19. Februar 2020 19:24
> To: Reingruber, Richard <richard.reingruber at sap.com>
> Cc: hotspot-dev at openjdk.java.net; hotspot-runtime-dev at openjdk.java.net
> Subject: Re: RFR(S) 8239449: [TESTBUG] test/hotspot/jtreg/runtime/TLS/TestTLS.java: skip test if glibc too old for AdjustStackSizeForTLS
>
> Hi Richard,
>
> David's suggestion of using dlsym seems to be more reliable. Regarding
> the stability of __pthread_get_minstack in future glibc versions,
> Florian has added comment to __pthread_get_minstack about external
> users to ensure it's not removed until TCB is separately allocated.
> Please see: http://51.15.138.76/patch/18989/ and
> https://gcc.gnu.org/bugzilla//show_bug.cgi?id=91628#c2.
>
> Best regards,
> Jiangli
>
>
>
>
> On Wed, Feb 19, 2020 at 2:44 AM Reingruber, Richard
> <richard.reingruber at sap.com> wrote:
> >
> > Hi,
> >
> > please review this small test fix
> >
> > Webrev: http://cr.openjdk.java.net/~rrich/webrevs/8239449/webrev.0/
> > Bug:    https://bugs.openjdk.java.net/browse/JDK-8239449
> >
> > On linux systems with older glibc versions (e.g. 2.11) the option -XX:+AdjustStackSizeForTLS has no effect, because the private function __pthread_get_minstack is not provided, and the test fails. With the fix the test is skipped instead.
> >
> > Thanks, Richard.


More information about the hotspot-dev mailing list