RFR: 8272788: Nonleaf ranked locks should not be safepoint_check_never
David Holmes
dholmes at openjdk.java.net
Mon Aug 23 10:56:24 UTC 2021
On Fri, 20 Aug 2021 16:41:40 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:
> I moved nonleaf ranked locks to be leaf (or leaf+something). Many of the leaf locks are safepoint_check_never. Segregating this rank into safepoint checking and non-safepoint checking is left for a future RFE.
> Tested with tier1-3. Tier 4-6 testing in progress.
Hi Coleen,
Sorry I'm struggling to interpret exactly what these changes mean. You're redefining the ranking for some locks so that you can then declare that nonleaf locks should not be safepoint-check-never. But in changing those rankings you are also potentially reducing the set of lock nestings that are permitted - so for example a lock that was Barrier and is now leaf+1 can no longer be locked before locking a leaf+2, 3...9. That might be valid but it is not at all obvious how to verify that - testing alone will only cover the common code paths, not necessarily those rarely taken e.g for debugging, logging, exceptional conditions, event processing, non-default flag values ...
It is not at all clear to me that the ranking strategy and the safepoint-checking strategy align in the way you are implying.
Could you elaborate on how you expect this to end up looking please.
Thanks,
David
-------------
PR: https://git.openjdk.java.net/jdk/pull/5203
More information about the serviceability-dev
mailing list