RFR: JDK-8296931: NMT tests slowed down considerably by JDK-8242181

Thomas Stuefe stuefe at openjdk.org
Tue Nov 15 10:19:02 UTC 2022


On Tue, 15 Nov 2022 09:46:38 GMT, Christian Hagedorn <chagedorn at openjdk.org> wrote:

>> We noticed that NMT tests on our slower PPC machines started failing.
>> 
>> The reason is that NMT detail reports have become 2-5x slower. This is caused by us now parsing the dwarf debug information to extract source information for each PC in each call stack. That is nice but costly.
>> 
>> The slowdown is not limited to PPC, it affects all Elf platforms. On my Linux x64 box, runtime/NMT/VirtualAllocCommitMerge.java increased from 20 to 90 seconds.
>> 
>> ---
>> 
>> This patch simply removes source info from NMT call stacks. They are not that important for pinpointing leaks and such. I considered more involved solutions, like making them optional via an argument to the NMT report command, but decided against it. The added benefit would be small, not worth much complexity.
>> 
>> With this patch, on my box with -conc 4 all NMT together are about 2.5 x faster (2m56 -> 1m09).
>
> Thanks for the closer analysis of execution time. I agree with your proposed solution and deciding against an additional option/flag, given the complexity and the limited benefit. The main purpose and motivation behind JDK-8242181 was to get the additional source information in hs_err files.

Thank you @chhagedorn!

I also think NMT is special since we print thousands of callstacks, not just one as we do in error reporting.

About mentioning JBS issues, not sure. Not sure what the harm would be. Lets ask @dholmes-ora ?

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

PR: https://git.openjdk.org/jdk/pull/11135


More information about the hotspot-dev mailing list