Review request 8008257 - NMT: assert(new_rec->is_allocation_record()) failed when running with shared memory option
Coleen Phillimore
coleen.phillimore at oracle.com
Mon Mar 4 10:07:09 PST 2013
Hi Zhengyu,
This looks good except one suggestion. In the lines where CALLER_PC
appears twice, it should be called once, assigned to a variable and
passed to both of the MemTracker functions, since CALLER_PC will walk
the stack and it's not necessary to do it twice in a row.
Otherwise, looks good.
Coleen
On 02/28/2013 10:45 AM, Zhengyu Gu wrote:
> NMT did not probably record memory allocations from
> os::reserve_memory_special() path, which is usually related to
> UseLargePages VM option.
>
> The symptom of this bug is assertion failure in debug/fastdebug build
> or missing Java Heap in NMT output in production build.
>
> Bug: http://bugs.sun.com/view_bug.do?bug_id=8008257
> Webrev: http://cr.openjdk.java.net/~zgu/8008257/webrev.00/
>
> To trigger the failures:
>
> 1. On Windows, run with -XX:+UseLargePages (with/without
> -XX:+UseLargePagesIndividualAllocation)
>
> 2. On Linux, run with -XX:+UseLargePages -XX:+UseSHM
>
> 3. On Solaris, run with -XX:+UseLargePages -XX:+UseISM
>
> 4. On MacOSX, UseLargePages is disabled.
>
> Beware that fail to allocate large pages, does not cause JVM to fail.
> Instead, JVM will fallback to use regular pages.
>
> Tests:
> Many thanks to Christian Törnqvist to find capable hardware and
> figure out how to get large pages to work. We were able to test the
> fix on Solaris sparcv9, Linux x64 and Windows x64.
>
>
> Thanks,
>
> -Zhengyu
>
>
More information about the hotspot-dev
mailing list