Commit graph

91 commits

Author SHA1 Message Date
Thomas Schatzl
1830b8da90 8275056: Virtualize G1CardSet containers over heap region
Reviewed-by: sjohanss, ayang
2021-11-15 18:09:32 +00:00
Thomas Schatzl
7320b77b3e 8276548: Use range based visitor for Howl-Full cards
Reviewed-by: ayang, sjohanss
2021-11-08 15:00:31 +00:00
Albert Mingkun Yang
7f94302cec 8275511: G1: Rename needs_remset_update to remset_is_tracked in G1HeapRegionAttr
Reviewed-by: tschatzl, sjohanss
2021-10-25 13:18:20 +00:00
Per Liden
54b8870766 8275035: Clean up worker thread infrastructure
Reviewed-by: stefank, ayang
2021-10-14 14:05:36 +00:00
Kim Barrett
0597cde87d 8221360: Eliminate Shared_DirtyCardQ_lock
Reviewed-by: tschatzl, iwalulya
2021-08-24 13:17:37 +00:00
Thomas Schatzl
1692fd2eba 8017163: G1: Refactor remembered sets
8048504: G1: Investigate replacing the coarse and fine grained data structures in the remembered sets
6949259: G1: Merge sparse and fine remembered set hash tables

Co-authored-by: Ivan Walulya <iwalulya@openjdk.org>
Co-authored-by: Thomas Schatzl <tschatzl@openjdk.org>
Reviewed-by: sjohanss, iwalulya
2021-06-21 10:06:05 +00:00
Thomas Schatzl
2d494bffff 8267836: Separate eager reclaim remembered set threshold from G1RSetSparseRegionEntries
Reviewed-by: sjohanss, lkorinth
2021-06-02 09:31:59 +00:00
Thomas Schatzl
a564f2cbd5 8266821: G1: Prefetch cards during merge heap roots phase
Reviewed-by: kbarrett, iwalulya
2021-05-13 11:22:31 +00:00
Thomas Schatzl
14f0afe811 8214237: Join parallel phases post evacuation
Reviewed-by: iwalulya, sjohanss
2021-05-07 11:38:29 +00:00
Ivan Walulya
fc89fe6458 8265119: G1: update_remset_before_rebuild mixes liveness in words with liveness in bytes
Reviewed-by: tschatzl, sjohanss
2021-04-16 07:29:55 +00:00
Stefan Karlsson
a79f095697 8263721: Unify oop casting
Reviewed-by: kbarrett, coleenp
2021-03-24 10:28:38 +00:00
Claes Redestad
9d160aa1b7 8257815: Replace global log2 functions with efficient implementations
Reviewed-by: kbarrett, stefank
2021-01-04 21:01:25 +00:00
Albert Mingkun Yang
20525d2110 8257149: Improve G1 Service thread task scheduling to guarantee task delay
Reviewed-by: sjohanss, iwalulya
2020-11-27 11:57:11 +00:00
Stefan Johansson
ee99686b28 8252645: Change time measurements in G1ServiceThread to only account remembered set work
Reviewed-by: ayang, tschatzl
2020-11-27 08:44:35 +00:00
Stefan Johansson
f6d6a07c30 8256938: Improve remembered set sampling task scheduling
Reviewed-by: tschatzl, ayang
2020-11-26 10:06:14 +00:00
Stefan Johansson
1b7a61ff4a 8254999: Move G1RemSetSamplingTask to more appropriate location
Reviewed-by: tschatzl, ayang
2020-11-24 20:56:14 +00:00
Thomas Schatzl
c520469639 8255131: G1CollectedHeap::is_in() returns wrong result
Reviewed-by: sjohanss, kbarrett, ayang
2020-10-23 08:22:05 +00:00
Thomas Schatzl
bf46acf933 8254028: G1 incorrectly updates scan_top for collection set regions during preparation of evacuation
Reviewed-by: kbarrett
2020-10-12 07:42:22 +00:00
Thomas Schatzl
e9c178276f 8252752: Clear card table for old regions during scan in G1
Reviewed-by: kbarrett, iwalulya, ayang
2020-09-28 08:28:57 +00:00
Thomas Schatzl
955c2e6292 8253303: G1: Move static initialization of G1FromCardCache to a proper location
Reviewed-by: ayang, sjohanss
2020-09-21 11:28:24 +00:00
Thomas Schatzl
3570f5a924 8252041: G1: Fix incorrect uses of HeapRegionManager::max_length
Reviewed-by: sjohanss, kbarrett
2020-09-17 15:40:54 +00:00
Thomas Schatzl
f9e6f26ca4 8252035: G1: Clean up G1CollectedHeap::*reserved* methods
Reviewed-by: sjohanss, iwalulya
2020-09-02 10:07:03 +02:00
Ioi Lam
92d1c4a61a 8244775: Remove unnecessary dependency to jfrEvents.hpp
Reviewed-by: kbarrett, kvn
2020-05-13 10:56:51 -07:00
Kim Barrett
4694da31f8 8242078: G1: Improve concurrent refinement analytics and logging
Unify data collection and reporting.

Reviewed-by: tschatzl, sjohanss
2020-04-14 17:31:53 -04:00
Stefan Karlsson
46423b0f70 8237637: Remove dubious type conversions from oop
Reviewed-by: kbarrett, dholmes, mdoerr
2020-01-24 09:27:07 +01:00
Stefan Karlsson
17106c9e9d 8236778: Add Atomic::fetch_and_add
Reviewed-by: kbarrett, dholmes
2020-01-24 09:15:08 +01:00
Stefan Johansson
8d00c5aa0d 8235119: Incomplete initialization of scan_top values results in out-of-bounds scanning of regions
Reviewed-by: kbarrett, tschatzl, sangheki
2019-12-20 09:42:38 -08:00
Thomas Schatzl
5bcd794646 8227739: Merge cost predictions for scanning cards and log buffer entries
Revamp the cost predictions for the changes in JDK-8200545 and JDK-8213108.

Reviewed-by: sjohanss, kbarrett
2019-11-29 10:20:14 +01:00
Stefan Johansson
4266daf9c9 8141637: Parallelize single threaded heap region iteration during Pre Evacuate Collection Set
Reviewed-by: tschatzl, lkorinth
2019-11-27 12:18:40 +01:00
Stefan Karlsson
161333eeba 8234748: Clean up atomic and orderAccess includes
Reviewed-by: dholmes
2019-11-26 10:47:46 +01:00
Stefan Karlsson
0ad50c2b5c 8234740: Harmonize parameter order in Atomic - cmpxchg
Reviewed-by: rehn, dholmes
2019-11-25 12:33:15 +01:00
Stefan Karlsson
d45ec50076 8234737: Harmonize parameter order in Atomic - add
Reviewed-by: rehn, dholmes
2019-11-25 12:31:39 +01:00
Man Cao
5f2ac35cd0 8087198: G1 card refinement: batching, sorting
Reviewed-by: tschatzl, kbarrett
2019-11-22 17:03:55 -08:00
Man Cao
7e6ebde13c 8232232: G1RemSetSummary::_rs_threads_vtimes is not initialized to zero
Fix error in "Concurrent refinement threads times" in GC log and cleanup.

Reviewed-by: tschatzl, kbarrett
2019-10-14 18:48:10 -07:00
Kim Barrett
d7fcd0ccac 8231153: Improve concurrent refinement statistics
8043505: G1RemSet::_conc_refine_cards is incremented unsynchronized

Added refinement rates and counts, removed _conc_refine_cards

Reviewed-by: tschatzl, sjohanss
2019-10-08 15:15:50 -04:00
Thomas Schatzl
f92526e6fd 8231189: Rename worker_i parameters to worker_id
Reviewed-by: kbarrett, sjohanss
2019-09-23 11:37:08 +02:00
Thomas Schatzl
9ccc00d1dd 8231117: Remove G1EvacuationRootClosures::raw_strong_oops()
Reviewed-by: kbarrett, sjohanss
2019-09-23 11:36:53 +02:00
Kim Barrett
40565a845c 8230404: Refactor logged card refinement support in G1DirtyCardQueueSet
Separate concurrent refinement from STW refinement.

Reviewed-by: sjohanss, tschatzl
2019-09-06 13:38:55 -04:00
Thomas Schatzl
5e48c76e81 8228388: Add information about dirty/skipped card for Merge HCC in G1 log
Collect and print informatio about the number of processed cards during the Merge HCC phase to improve log output.

Reviewed-by: kbarrett, sangheki
2019-07-24 11:49:39 +02:00
Thomas Schatzl
550408d240 8226913: Scale cards per chunk used during heap root scanning with region size
Scale cards per chunk based on heap size to decrease constant overhead with heap root scanning data structure initialization

Reviewed-by: kbarrett, sangheki
2019-07-24 11:49:39 +02:00
Kim Barrett
4b3c528140 8162929: Enqueuing dirty cards into a single DCQS during GC does not scale
Refactor into G1RedirtyCardsQueue[Set] and G1DirtyCardQueueSet

Reviewed-by: tschatzl, sangheki
2019-07-19 16:47:11 -04:00
Thomas Schatzl
b4d014896a 8227089: Add timing information for merging humongous remembered sets
Reviewed-by: sangheki, kbarrett
2019-07-17 16:33:19 +02:00
Thomas Schatzl
ffe79a37c3 8227084: Add timing information for merge heap root preparation
Reviewed-by: sangheki, kbarrett
2019-07-17 16:33:19 +02:00
Thomas Schatzl
bb7bf64fd7 8226232: Move merge heap roots code out from G1RemSetScanState
Reviewed-by: sangheki, kbarrett
2019-07-17 16:33:19 +02:00
Thomas Schatzl
c03b0c2f62 8224741: Optimize the scan area during the Scan Heap Roots phase
When scanning card blocks, remember the last address already scanned. Continue scanning from this address.

Reviewed-by: kbarrett, lkorinth
2019-07-08 09:24:40 +02:00
Thomas Schatzl
d46d9318c1 8213108: Improve work distribution during remembered set scan
Before scanning the heap for roots into the collection set, merge them into a single remembered set (card table) and do work distribution based on location like other collectors do.

Reviewed-by: kbarrett, lkorinth
2019-06-27 11:48:32 +02:00
Thomas Schatzl
8c6727240e 8224160: Move G1RemSetScanClosure into g1RemSet.cpp file
Reviewed-by: kbarrett, sangheki
2019-05-22 11:19:14 +02:00
Thomas Schatzl
4b086a28a5 8222492: G1 unnecessarily scans remembered set cards for regions that already have been evacuated
Filter out cards from the current collection set during evacuation increments.

Reviewed-by: kbarrett, sangheki
2019-05-18 22:11:25 +02:00
Thomas Schatzl
b1278c587f 8223018: Rename G1RemSet::*oops_into_collection_set_do methods
Reviewed-by: manc, sangheki
2019-05-14 15:36:26 +02:00
Thomas Schatzl
3d149df158 8200545: Improve filter for enqueued deferred cards
Reviewed-by: kbarrett, sangheki
2019-05-14 15:36:26 +02:00