RFR: 8205020: ZGC: Apply workaround for buggy sem_post() in glibc < 2.21

Erik Österlund erik.osterlund at oracle.com
Thu Jun 14 09:41:35 UTC 2018


Hi Per,

Looks good.

Thanks,
/Erik

On 2018-06-14 11:34, Per Liden wrote:
> We should apply a workaround for a bug in sem_post() in glibc < 2.21, 
> where it's not safe to destroy the semaphore immediately after 
> returning from sem_wait(). The reason is that sem_post() can touch the 
> semaphore after a waiting thread have returned from sem_wait(). To 
> avoid this race we should force the waiting thread to acquire/release 
> the lock held by the posting thread. This workaround is a bit ugly, 
> but I propose we use this until we find a batter solution. I can also 
> add that we've never actually seen any problems related to the 
> specific cases addressed in this patch, but the sem_post() bug has 
> shown up in the Handshake code (JDK-8204166), so we want to protect 
> these paths too.
>
> For more details about the sem_post() bug, see 
> https://sourceware.org/bugzilla/show_bug.cgi?id=12674
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8205020
> Webrev: http://cr.openjdk.java.net/~pliden/8205020/webrev.0/
>
> Testing: Passed tier{1,2,3,4}
>
> cheers,
> Per




More information about the hotspot-gc-dev mailing list