On Mon, 28 Jun 2021 13:07:21 GMT, Kevin Walls <kev...@openjdk.org> wrote:

> If so (and if we don't discover more tools that prefer hex for thread IDs!), 
> then we want to be consistent, so in addition to the native/built in 
> implementation, we should also update:

> src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/runtime/JavaThread.java
..to keep the SA implementation in sync. It would be odd to have thread dumps 
looking more different depending on what generated them.

> And if changing that, also change:
test/hotspot/jtreg/serviceability/sa/JhsdbThreadInfoTest.java

Thanks for the comments! I will change the corresponding SA implementation and 
tests.


> > Hi,
> > If you attach WinDbg on Windows to a JVM, you might be glad of the 
> > nid=0x... format as that is its choice of base for the thread ids.
> > So this depends on your tools. Maybe frustrated top users outnumber happy 
> > WinDbg users for the JVM, and maybe they don't. Maybe this change delights 
> > some users and frustrates others.
> 
> Why not do it platform dependent then? This would make sense especially since 
> the type is opaque. Let each platform handling printing. Windows can 
> hex-print its DWORD thread id. Linux can print its kernel LWP. And platforms 
> where the thread id is 64bit, or a structure, can print that.
> 
> For now default implementations could live in 
> `os::Windows::print_thread_id(thread_t)` and 
> `os::Posix::print_thread_id(thread_t)`, respectively.

Will it be too heavy to add a platform-dependent implementation for this small 
function? As Kevin said, maybe this change delights some users and frustrates 
others. But since POSIX is the vast majority of users, it may be a better 
choice to adapt to them. Just IMHO..

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

PR: https://git.openjdk.java.net/jdk/pull/4449

Reply via email to