I believe that somewhere in the bowels of MacOS libc there is a (hopefully public) function that will map a UID to the UUID used to construct the per-user directory path from a base 36(?) encoded string thereof, the leading 2 characters of which form the "buckets" in /var/folders and the remainder of the encoded string forms the per user directory with the appropriate bucket...

if might make sense to perform a serious investigation to locate this function and then simply make a native call to map the target JVM euid to the uuid and encode it, from which the actual /var/folders/... path can be constructed avoiding a costly traversal of the /var/folders
structure in the search for hsperfdata_user files?

Rgds

- Larry

On 6/18/25 9:40 AM, Sergey Chernyshev wrote:
On Tue, 17 Jun 2025 04:51:58 GMT, David Holmes <dhol...@openjdk.org> wrote:

Sergey Chernyshev has updated the pull request incrementally with two 
additional commits since the last revision:

  - Update 
src/jdk.attach/macosx/classes/sun/tools/attach/VirtualMachineImpl.java
Co-authored-by: Andrey Turbanov <turban...@gmail.com>
  - addressed review comments
src/hotspot/os/posix/perfMemory_posix.cpp line 133:

131: //
132:
133: #ifdef __APPLE__
This is a bit too much non-posix code in the posix file IMO. I'd rather see a 
`MACOS_ONLY` call later on to something defined in `os_bsd.cpp` for macOS.
Thanks @dholmes-ora , I moved the function to `os_bsd.cpp`

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

PR Review Comment: https://git.openjdk.org/jdk/pull/25824#discussion_r2155061182

Reply via email to