RFR(S): 8230422: Convert uninterruptible os::sleep calls to os::naked_short_sleep
Aleksey Shipilev
shade at redhat.com
Fri Sep 6 13:33:45 UTC 2019
On 9/6/19 2:42 PM, David Holmes wrote:
> On 6/09/2019 9:16 pm, Aleksey Shipilev wrote:
>> On 9/4/19 11:39 AM, David Holmes wrote:
>>> I'd appreciate it if someone involved with Shenandoah can check the one change in that code.
>>
>> src/hotspot/share/gc/shenandoah/shenandoahPacer.cpp:
>> - os::sleep(Thread::current(), cur, true);
>> + os::sleep(JavaThread::current(), cur);
>>
>> Since os::sleep keeps participating in safepoints ("interruptible = true") after this change, this
>> is fine.
>
> Thanks Aleksey! My only concern here was whether the code was obviously always executed by a
> JavaThread (even though the interruptible=true implies that).
Yes, pacer should be called only on JavaThread (mutator) allocation path. If not, that's the problem
with Shenandoah, and should be fixed there. The patch passes at least hotspot_gc_shenandoah, so
there is no evidence anything dodgy is happening there yet.
--
Thanks,
-Aleksey
More information about the hotspot-dev
mailing list