On Wed, 1 Nov 2023 06:26:57 GMT, Thomas Stuefe <stu...@openjdk.org> wrote:

>> src/hotspot/os/linux/memMapPrinter_linux.cpp line 59:
>> 
>>> 57:   void print_OS_specific_details(outputStream* st) const override {
>>> 58:     st->print("%s %s ", _info.prot, _info.offset);
>>> 59:   }
>> 
>> If that's all this is doing, do we really need it?
>
> This prints protection and offset. The former is interesting for obvious 
> reasons (e.g. lets you tell apart stack guard regions from stack, or 
> uncommitted from committed regions) and the latter interesting for some 
> corner cases (e.g. ZGC mapped regions).
> 
> I don't want to do this in shared code though since I am not sure every OS 
> has this information or whether I can obtain this information. I rather not 
> print out a bunch of 0s or empty strings.
> 
> The alternative would be carrying a non-descriptive text string around with 
> "OS information", but I don't want to have to think about storage and copying 
> stuff around. It would not be simpler than this.
> 
> BTW, the way to implement this on MacOS would be probably by spawning off 
> `vmmap` and parsing the output; on Windows one would use `VirtualQuery`. But 
> I leave this for other folks, I am happy with Linux for now.

On ZGC, by the way, it's possible to see many `memfd:java_heap (deleted)`, does 
this work allow annotate these mappings ?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/16301#discussion_r1380330786

Reply via email to