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

Zhengyu Gu zgu at redhat.com
Tue Mar 26 18:21:27 UTC 2019


Thanks, Yumin.

-Zhengyu

On 3/26/19 2:19 PM, yumin qi wrote:
> Hi,  Zhengyu
> 
>    Good to see tracking thread stack separated from tracking virtual 
> memory. It looks good to me.
> 
> Thanks
> Yumin
> 
> On Mon, Feb 18, 2019 at 5:50 AM <zgu at redhat.com <mailto: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)
> 
>     Thanks,
> 
>     -Zhengyu
> 
> 
> 


More information about the hotspot-runtime-dev mailing list