RFR: 8245000: Windows GDI functions don't support large pages

Kim Barrett kim.barrett at oracle.com
Fri May 15 18:26:07 UTC 2020


> On May 15, 2020, at 1:47 PM, Stefan Karlsson <stefan.karlsson at oracle.com> wrote:
> 
> Hi all,
> 
> Please review this patch to turn off -XX:+UseLargePages as long as Windows GDI functions don't work with large pages.
> 
> https://cr.openjdk.java.net/~stefank/8245000/webrev.00.cleanup
> https://cr.openjdk.java.net/~stefank/8245000/webrev.01.workaround
> https://cr.openjdk.java.net/~stefank/8245000/webrev.all/

A couple of things that may or may not need to be addressed.
Otherwise, looks good to me.

------------------------------------------------------------------------------
src/hotspot/os/windows/os_windows.cpp
3118   if (_large_page_size > default_page_size) {
...
3124   UseLargePages = _large_page_size != 0;

Should UseLargePages be true if _large_page_size > 0 but < default_page_size?
(Assuming that's actually possible, but I see nothing in this code
that makes that impossible.  The OS might...)

The old code did the same thing, so if it's a bug, it's been there all along.

------------------------------------------------------------------------------
src/hotspot/os/windows/os_windows.cpp
2920   if (!gdi_can_use_split_reservation_memory(UseLargePages, min_interleave_granularity)) {
2921     WARN("Windows GDI cannot handle split reservations.");
2922     WARN("...Ignoring UseNUMAInterleaving flag.");

If the failure is due to UseLargePages, it might be worth mentioning
that in the warning.

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



More information about the hotspot-dev mailing list