Code Review for jdk11u-dev

Prepared by:Hao Tang on Wed Jun 24 10:19:24 CST 2020
Workspace:/home/albert.th/hg/jdk11u-dev
Compare against: http://hg.openjdk.java.net/jdk-updates/jdk11u-dev/
Compare against version:52969
Summary of changes: 1237 lines changed: 607 ins; 597 del; 33 mod; 3999 unchg
Changeset: jdk11u-dev.changeset
Legend: Modified file
Deleted file
New file

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/hotspot/share/gc/z/zDirector.cpp

rev 53288 : Balance ZGC page cache to avoid page cache flush

Summary: Introduce option ZBalancePageCache
- Page cache flush happens if an object fails to allocate in the current
  page and fails to find a matched type of page in the page cache, which
  acquires a global lock in ZPageAllocator and makes some threads wait
  for its unlock (however, page cache flush is a time-consuming task).
- By enabling ZBalancePageCache, both small and medium pages in the page
  cache will be rebalanced by the predicted allocation pattern, which
  can alleviate the case that fails to find a matched type of page. This
  process is concurrent.

Test Plan: gc/z/TestAvoidPageCacheFlush.java
4 lines changed: 4 ins; 0 del; 0 mod; 222 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/hotspot/share/gc/z/zHeap.cpp

rev 53288 : Balance ZGC page cache to avoid page cache flush

Summary: Introduce option ZBalancePageCache
- Page cache flush happens if an object fails to allocate in the current
  page and fails to find a matched type of page in the page cache, which
  acquires a global lock in ZPageAllocator and makes some threads wait
  for its unlock (however, page cache flush is a time-consuming task).
- By enabling ZBalancePageCache, both small and medium pages in the page
  cache will be rebalanced by the predicted allocation pattern, which
  can alleviate the case that fails to find a matched type of page. This
  process is concurrent.

Test Plan: gc/z/TestAvoidPageCacheFlush.java
17 lines changed: 17 ins; 0 del; 0 mod; 586 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/hotspot/share/gc/z/zPageAllocator.cpp

rev 53288 : Balance ZGC page cache to avoid page cache flush

Summary: Introduce option ZBalancePageCache
- Page cache flush happens if an object fails to allocate in the current
  page and fails to find a matched type of page in the page cache, which
  acquires a global lock in ZPageAllocator and makes some threads wait
  for its unlock (however, page cache flush is a time-consuming task).
- By enabling ZBalancePageCache, both small and medium pages in the page
  cache will be rebalanced by the predicted allocation pattern, which
  can alleviate the case that fails to find a matched type of page. This
  process is concurrent.

Test Plan: gc/z/TestAvoidPageCacheFlush.java
7 lines changed: 7 ins; 0 del; 0 mod; 513 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/hotspot/share/gc/z/zPageAllocator.hpp

rev 53288 : Balance ZGC page cache to avoid page cache flush

Summary: Introduce option ZBalancePageCache
- Page cache flush happens if an object fails to allocate in the current
  page and fails to find a matched type of page in the page cache, which
  acquires a global lock in ZPageAllocator and makes some threads wait
  for its unlock (however, page cache flush is a time-consuming task).
- By enabling ZBalancePageCache, both small and medium pages in the page
  cache will be rebalanced by the predicted allocation pattern, which
  can alleviate the case that fails to find a matched type of page. This
  process is concurrent.

Test Plan: gc/z/TestAvoidPageCacheFlush.java
2 lines changed: 2 ins; 0 del; 0 mod; 112 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/hotspot/share/gc/z/zPageCache.cpp

rev 53288 : Balance ZGC page cache to avoid page cache flush

Summary: Introduce option ZBalancePageCache
- Page cache flush happens if an object fails to allocate in the current
  page and fails to find a matched type of page in the page cache, which
  acquires a global lock in ZPageAllocator and makes some threads wait
  for its unlock (however, page cache flush is a time-consuming task).
- By enabling ZBalancePageCache, both small and medium pages in the page
  cache will be rebalanced by the predicted allocation pattern, which
  can alleviate the case that fails to find a matched type of page. This
  process is concurrent.

Test Plan: gc/z/TestAvoidPageCacheFlush.java
16 lines changed: 16 ins; 0 del; 0 mod; 197 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/hotspot/share/gc/z/zPageCache.hpp

rev 53288 : Balance ZGC page cache to avoid page cache flush

Summary: Introduce option ZBalancePageCache
- Page cache flush happens if an object fails to allocate in the current
  page and fails to find a matched type of page in the page cache, which
  acquires a global lock in ZPageAllocator and makes some threads wait
  for its unlock (however, page cache flush is a time-consuming task).
- By enabling ZBalancePageCache, both small and medium pages in the page
  cache will be rebalanced by the predicted allocation pattern, which
  can alleviate the case that fails to find a matched type of page. This
  process is concurrent.

Test Plan: gc/z/TestAvoidPageCacheFlush.java
4 lines changed: 4 ins; 0 del; 0 mod; 58 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/hotspot/share/gc/z/zPageCache.inline.hpp

rev 53288 : Balance ZGC page cache to avoid page cache flush

Summary: Introduce option ZBalancePageCache
- Page cache flush happens if an object fails to allocate in the current
  page and fails to find a matched type of page in the page cache, which
  acquires a global lock in ZPageAllocator and makes some threads wait
  for its unlock (however, page cache flush is a time-consuming task).
- By enabling ZBalancePageCache, both small and medium pages in the page
  cache will be rebalanced by the predicted allocation pattern, which
  can alleviate the case that fails to find a matched type of page. This
  process is concurrent.

Test Plan: gc/z/TestAvoidPageCacheFlush.java
13 lines changed: 13 ins; 0 del; 0 mod; 33 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/hotspot/share/gc/z/zRelocationSetSelector.cpp

rev 53288 : Balance ZGC page cache to avoid page cache flush

Summary: Introduce option ZBalancePageCache
- Page cache flush happens if an object fails to allocate in the current
  page and fails to find a matched type of page in the page cache, which
  acquires a global lock in ZPageAllocator and makes some threads wait
  for its unlock (however, page cache flush is a time-consuming task).
- By enabling ZBalancePageCache, both small and medium pages in the page
  cache will be rebalanced by the predicted allocation pattern, which
  can alleviate the case that fails to find a matched type of page. This
  process is concurrent.

Test Plan: gc/z/TestAvoidPageCacheFlush.java
13 lines changed: 13 ins; 0 del; 0 mod; 225 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/hotspot/share/gc/z/zRelocationSetSelector.hpp

rev 53288 : Balance ZGC page cache to avoid page cache flush

Summary: Introduce option ZBalancePageCache
- Page cache flush happens if an object fails to allocate in the current
  page and fails to find a matched type of page in the page cache, which
  acquires a global lock in ZPageAllocator and makes some threads wait
  for its unlock (however, page cache flush is a time-consuming task).
- By enabling ZBalancePageCache, both small and medium pages in the page
  cache will be rebalanced by the predicted allocation pattern, which
  can alleviate the case that fails to find a matched type of page. This
  process is concurrent.

Test Plan: gc/z/TestAvoidPageCacheFlush.java
5 lines changed: 5 ins; 0 del; 0 mod; 84 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/hotspot/share/gc/z/zStat.cpp

rev 53288 : Balance ZGC page cache to avoid page cache flush

Summary: Introduce option ZBalancePageCache
- Page cache flush happens if an object fails to allocate in the current
  page and fails to find a matched type of page in the page cache, which
  acquires a global lock in ZPageAllocator and makes some threads wait
  for its unlock (however, page cache flush is a time-consuming task).
- By enabling ZBalancePageCache, both small and medium pages in the page
  cache will be rebalanced by the predicted allocation pattern, which
  can alleviate the case that fails to find a matched type of page. This
  process is concurrent.

Test Plan: gc/z/TestAvoidPageCacheFlush.java
37 lines changed: 6 ins; 7 del; 24 mod; 1348 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/hotspot/share/gc/z/zStat.hpp

rev 53288 : Balance ZGC page cache to avoid page cache flush

Summary: Introduce option ZBalancePageCache
- Page cache flush happens if an object fails to allocate in the current
  page and fails to find a matched type of page in the page cache, which
  acquires a global lock in ZPageAllocator and makes some threads wait
  for its unlock (however, page cache flush is a time-consuming task).
- By enabling ZBalancePageCache, both small and medium pages in the page
  cache will be rebalanced by the predicted allocation pattern, which
  can alleviate the case that fails to find a matched type of page. This
  process is concurrent.

Test Plan: gc/z/TestAvoidPageCacheFlush.java
35 lines changed: 27 ins; 0 del; 8 mod; 519 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/hotspot/share/gc/z/z_globals.hpp

rev 53288 : Balance ZGC page cache to avoid page cache flush

Summary: Introduce option ZBalancePageCache
- Page cache flush happens if an object fails to allocate in the current
  page and fails to find a matched type of page in the page cache, which
  acquires a global lock in ZPageAllocator and makes some threads wait
  for its unlock (however, page cache flush is a time-consuming task).
- By enabling ZBalancePageCache, both small and medium pages in the page
  cache will be rebalanced by the predicted allocation pattern, which
  can alleviate the case that fails to find a matched type of page. This
  process is concurrent.

Test Plan: gc/z/TestAvoidPageCacheFlush.java
13 lines changed: 12 ins; 0 del; 1 mod; 102 unchg

------ ------ ------ ------ Old --- ----- --- .hgtags

590 lines changed: 0 ins; 590 del; 0 mod; 0 unchg

------ ------ ------ ------ --- New ----- Raw src/hotspot/share/gc/z/zPageCacheBalance.cpp

rev 53288 : Balance ZGC page cache to avoid page cache flush

Summary: Introduce option ZBalancePageCache
- Page cache flush happens if an object fails to allocate in the current
  page and fails to find a matched type of page in the page cache, which
  acquires a global lock in ZPageAllocator and makes some threads wait
  for its unlock (however, page cache flush is a time-consuming task).
- By enabling ZBalancePageCache, both small and medium pages in the page
  cache will be rebalanced by the predicted allocation pattern, which
  can alleviate the case that fails to find a matched type of page. This
  process is concurrent.

Test Plan: gc/z/TestAvoidPageCacheFlush.java
291 lines changed: 291 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ --- New ----- Raw src/hotspot/share/gc/z/zPageCacheBalance.hpp

rev 53288 : Balance ZGC page cache to avoid page cache flush

Summary: Introduce option ZBalancePageCache
- Page cache flush happens if an object fails to allocate in the current
  page and fails to find a matched type of page in the page cache, which
  acquires a global lock in ZPageAllocator and makes some threads wait
  for its unlock (however, page cache flush is a time-consuming task).
- By enabling ZBalancePageCache, both small and medium pages in the page
  cache will be rebalanced by the predicted allocation pattern, which
  can alleviate the case that fails to find a matched type of page. This
  process is concurrent.

Test Plan: gc/z/TestAvoidPageCacheFlush.java
63 lines changed: 63 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ --- New ----- Raw test/hotspot/jtreg/gc/z/TestAvoidPageCacheFlush.java

rev 53288 : Balance ZGC page cache to avoid page cache flush

Summary: Introduce option ZBalancePageCache
- Page cache flush happens if an object fails to allocate in the current
  page and fails to find a matched type of page in the page cache, which
  acquires a global lock in ZPageAllocator and makes some threads wait
  for its unlock (however, page cache flush is a time-consuming task).
- By enabling ZBalancePageCache, both small and medium pages in the page
  cache will be rebalanced by the predicted allocation pattern, which
  can alleviate the case that fails to find a matched type of page. This
  process is concurrent.

Test Plan: gc/z/TestAvoidPageCacheFlush.java
127 lines changed: 127 ins; 0 del; 0 mod; 0 unchg

This code review page was prepared using /home/denghui.ddh/openjdk/webrev.ksh (vers 25.18-hg+openjdk.java.net).