RFR: 8291555: Implement alternative fast-locking scheme [v30]

Roman Kennke rkennke at openjdk.org
Thu Mar 30 14:32:03 UTC 2023


On Tue, 28 Mar 2023 02:56:47 GMT, David Holmes <dholmes at openjdk.org> wrote:

>> Roman Kennke has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Ensure safepoint when processing lock-stack
>
> src/hotspot/share/runtime/lockStack.hpp line 43:
> 
>> 41:   // efficient addressing in generated code.
>> 42:   int _offset;
>> 43:   oop _base[CAPACITY];
> 
> Should we be using `OopHandle` here rather than raw oops? Would that not avoid issues with scanning the lock-stack only during safepoints?
> 
> Another alternative for a STW safepoint would be to do a handshake with the target threads.

I added verification of sane thread states (self, safepointed, handshaked, watermark-processing, suspended) when scanning the lock-stack. OopHandle would impact performance a bit too much for my taste. (If performance is not a prime concern, I would be happy to ditch stack-locking altogether and use monitors-only instead.)

Yes it might be useful if management code could handshake threads one-by-one instead of safepointing, but that's not within the scope of this PR, I think.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/10907#discussion_r1153312238


More information about the serviceability-dev mailing list