On Thu, 9 Sep 2021 20:07:25 GMT, Per Liden <pli...@openjdk.org> wrote:
>> JDK-8237354 introduced the concept of "foreground work" in WorkGang, as a >> special case for use by the HeapDumper. I propose that we remove this code, >> since this special use case can be solved without the need for the concept >> of "foreground work" in WorkGang. >> >> As far as I can tell, there's no reason why it must be the VM thread that >> takes on the task of writing the header, iterating over roots, etc. So, in >> VM_HeapDumper::work(), instead of checking if the current thread is the VM >> thread we can just check if the worker_id is non-zero. That way, a single >> worker thread will take on the task of writing the header, iterating over >> roots, etc, and all other worker threads will continue to call worker_loop(). >> >> Testing: >> - Passed Tier1-3 >> - Passed multiple runs of test/hotspot/jtreg/serviceability/dcmd/gc/ >> - Manually ran jcmd GC.heap_dump with various GCs enabled > > Per Liden has updated the pull request incrementally with one additional > commit since the last revision: > > Remove asserts Thanks all for reviewing! ------------- PR: https://git.openjdk.java.net/jdk/pull/5410