RFR 8204552: NMT: Separate thread stack tracking from virtual memory tracking
zgu at redhat.com
Tue Mar 26 18:21:27 UTC 2019
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.
> On Mon, Feb 18, 2019 at 5:50 AM <zgu at redhat.com <mailto:zgu at redhat.com>>
> 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/
> hotspot_nmt on Linux x64 (fastdebug and release)
More information about the hotspot-runtime-dev