RFR 8204552: NMT: Separate thread stack tracking from virtual memory tracking

zgu at redhat.com zgu at redhat.com
Mon Feb 18 19:57:00 UTC 2019


On Mon, 2019-02-18 at 08:50 -0500, zgu at redhat.com wrote:
> NMT tracks thread stacks as virtual memory since day one, as most of
> platofrms are using virtual memory to back thread stacks. However,
> there are exceptions, e.g. AIX. The matter of fact, POSIX standard
> does
> not dictate what kind of memory or even alignment requirement for
> thread stacks.
> 
> This patch separates thread stack tracking from virtual memory
> tracking. It delegates to virtual memory tracker if thread stack is
> backed by virtual memory.
> 
> For thread stacks that are backed by malloc'd memory, it can not
> simply
> utilize malloc tracker for detail tracking, since it can not install
> tracking header in place. Therefore, it has to track those memory
> separately, then piggybacks to existing malloc tracking
> infrastructure
> during snapshot, for baselining and reporting.
> 
> Thanks for Goetz Lindenmaier and Thomas Stüfe's help to run the patch
> through SAP buidling and testing infrastructure, that is especially
> helpful for verifying the fix for AIX.
> 
> 
> Bug: https://bugs.openjdk.java.net/browse/JDK-8204552
> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8204552/webrev.01/
> 
> Test:
>   hotspot_nmt on Linux x64 (fastdebug and release)

Also passed JDK-submit tests.

Thanks,

-Zhengyu

> 
> Thanks,
> 
> -Zhengyu
> 
> 
> 


More information about the hotspot-runtime-dev mailing list