RFR: 8333994: NMT: call stacks should show source information [v2]

Thomas Stuefe stuefe at openjdk.org
Mon Jun 17 15:28:14 UTC 2024


On Fri, 14 Jun 2024 21:13:05 GMT, Zhengyu Gu <zgu at openjdk.org> wrote:

> 
> I have the same question. Did dwarf decoder performance improve? If so, could you point me the PR? Thanks!

I completely forgot that this had been an issue. The comment was even written by me :(

No, Elf decoder is still slow. But I have found myself too many times staring at NMT output now trying to make sense of the offsets. Missing source info in combination with the small stack size of 4 makes investigations a pain.

I added a simple caching mechanism to aid printing. Its pretty straight-forward, but still I am not sure it is worth the complexity. Here the numbers:

Running all NMT jtreg tests:
- Stock JVM (no source info): 40 seconds
- Source info: 2 min 30 seconds
- Source info + caching: 1 min 15 seconds

I think that is acceptable. Any more intricate caching would be over the complexity-benefit line.

@gerard-ziemski 

The cost is with Dwarf parsing, not dladdr. dladdr is cheap. But feel free to make Dwarf parsing cheaper, that would be surely welcome.

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

PR Comment: https://git.openjdk.org/jdk/pull/19655#issuecomment-2173709665


More information about the hotspot-dev mailing list