On Fri, 18 Jul 2025 13:13:38 GMT, Albert Mingkun Yang wrote:
>> This patch refines Parallel's sizing strategy to improve overall memory
>> management and performance.
>>
>> The young generation layout has been reconfigured from the previous
>> `eden-from/to` arrangement to a new `from/to-eden`
On Fri, 18 Jul 2025 13:13:38 GMT, Albert Mingkun Yang wrote:
>> This patch refines Parallel's sizing strategy to improve overall memory
>> management and performance.
>>
>> The young generation layout has been reconfigured from the previous
>> `eden-from/to` arrangement to a new `from/to-eden`
> This patch refines Parallel's sizing strategy to improve overall memory
> management and performance.
>
> The young generation layout has been reconfigured from the previous
> `eden-from/to` arrangement to a new `from/to-eden` order. This new layout
> facilitates young generation resizing, si
On Mon, 7 Jul 2025 00:39:59 GMT, Zhengyu Gu wrote:
>> I don't see how I changed the semantics.
>>
>> On baseline, from `mem_allocate_work`:
>>
>>
>> if (result != nullptr) {
>> return result;
>> }
>>
>> // If certain conditions hold, try allocating from the old gen.
>> if (!is_tlab) {
>>
> This patch refines Parallel's sizing strategy to improve overall memory
> management and performance.
>
> The young generation layout has been reconfigured from the previous
> `eden-from/to` arrangement to a new `from/to-eden` order. This new layout
> facilitates young generation resizing, si
On Mon, 7 Jul 2025 07:59:45 GMT, Albert Mingkun Yang wrote:
>>> but OOM and heap dump have to be, in a sense of atomic
>>
>> I see; it can indeed be annoying that heap-dump doesn't capture the intended
>> snapshot -- a java thread can trigger a gc that changes heap-content.
>> However, AFAICS,
On Sun, 6 Jul 2025 20:47:20 GMT, Albert Mingkun Yang wrote:
>> src/hotspot/share/gc/parallel/parallelArguments.cpp line 71:
>>
>>> 69: // True in product build, since tests using debug build often stress
>>> GC
>>> 70: if (FLAG_IS_DEFAULT(UseGCOverheadLimit)) {
>>> 71: FLAG_SET_DEFAULT(
On Mon, 7 Jul 2025 07:57:32 GMT, Albert Mingkun Yang wrote:
>> This patch refines Parallel's sizing strategy to improve overall memory
>> management and performance.
>>
>> The young generation layout has been reconfigured from the previous
>> `eden-from/to` arrangement to a new `from/to-eden`
On Mon, 7 Jul 2025 07:57:32 GMT, Albert Mingkun Yang wrote:
>> This patch refines Parallel's sizing strategy to improve overall memory
>> management and performance.
>>
>> The young generation layout has been reconfigured from the previous
>> `eden-from/to` arrangement to a new `from/to-eden`
On Mon, 7 Jul 2025 07:53:24 GMT, Albert Mingkun Yang wrote:
>> Yes. I don't think it is exceeding overhead limit only problem, but OOM and
>> heap dump have to be, in a sense of `atomic`. We encountered this problem
>> in real production system.
>
>> but OOM and heap dump have to be, in a sens
> This patch refines Parallel's sizing strategy to improve overall memory
> management and performance.
>
> The young generation layout has been reconfigured from the previous
> `eden-from/to` arrangement to a new `from/to-eden` order. This new layout
> facilitates young generation resizing, si
On Mon, 7 Jul 2025 00:39:20 GMT, Zhengyu Gu wrote:
> but OOM and heap dump have to be, in a sense of atomic
I see; it can indeed be annoying that heap-dump doesn't capture the intended
snapshot -- a java thread can trigger a gc that changes heap-content. However,
AFAICS, fixing that non-atomic
On Sun, 6 Jul 2025 21:07:26 GMT, Albert Mingkun Yang wrote:
>> src/hotspot/share/gc/parallel/psParallelCompact.cpp line 898:
>>
>>> 896: size_t target_capacity_bytes = total_live_words * HeapWordSize
>>> 897:+ old_space->capacity_in_bytes() *
>>> (MarkS
On Sun, 6 Jul 2025 21:00:42 GMT, Albert Mingkun Yang wrote:
>> src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp line 381:
>>
>>> 379: HeapWord* result = young_gen()->expand_and_allocate(size);
>>> 380:
>>> 381: if (result == nullptr && !is_tlab && !should_alloc_in_eden(size)) {
>>
>>
On Sun, 6 Jul 2025 20:59:49 GMT, Albert Mingkun Yang wrote:
>> Returning `null` outside of a safe point does have unexpected negative
>> effects. e.g. `HeapDumpOnOutOfMemoryError` may not get good heap dump, as
>> other threads can come in and run additional GCs, then the heap dump may
>> cont
On Sun, 6 Jul 2025 18:03:14 GMT, Zhengyu Gu wrote:
>> Albert Mingkun Yang has updated the pull request incrementally with one
>> additional commit since the last revision:
>>
>> review
>
> src/hotspot/share/gc/parallel/psParallelCompact.cpp line 898:
>
>> 896: size_t target_capacity_by
On Thu, 3 Jul 2025 00:52:56 GMT, Zhengyu Gu wrote:
>>> I don't think throwing OOM, from gc's perspective, is an "error".
>>
>> Nevermind; I just obey the statement in methods
>> `MemAllocator::Allocation::check_out_of_memory` and
>> `Universe::out_of_memory_error_java_heap`.
>
> Returning `nul
On Sat, 21 Jun 2025 20:56:37 GMT, Zhengyu Gu wrote:
>> Albert Mingkun Yang has updated the pull request with a new target base due
>> to a merge or a rebase. The pull request now contains 19 commits:
>>
>> - review
>> - Merge branch 'master' into pgc-size-policy
>> - merge
>> - version
>>
On Mon, 30 Jun 2025 10:24:58 GMT, Albert Mingkun Yang wrote:
>> This patch refines Parallel's sizing strategy to improve overall memory
>> management and performance.
>>
>> The young generation layout has been reconfigured from the previous
>> `eden-from/to` arrangement to a new `from/to-eden`
On Mon, 19 May 2025 11:05:59 GMT, Guoxiong Li wrote:
>> The one inside the safepoint will print sth
>> `log_info(gc)("GCOverheadLimitThreshold ...`. There can be multiple
>> concurrent mutators reaching here; printing here is undesirable.
>>
>> I don't think throwing OOM, from gc's perspective
On Wed, 18 Jun 2025 09:00:58 GMT, Albert Mingkun Yang wrote:
>> This patch refines Parallel's sizing strategy to improve overall memory
>> management and performance.
>>
>> The young generation layout has been reconfigured from the previous
>> `eden-from/to` arrangement to a new `from/to-eden`
On Mon, 30 Jun 2025 10:24:58 GMT, Albert Mingkun Yang wrote:
>> This patch refines Parallel's sizing strategy to improve overall memory
>> management and performance.
>>
>> The young generation layout has been reconfigured from the previous
>> `eden-from/to` arrangement to a new `from/to-eden`
> This patch refines Parallel's sizing strategy to improve overall memory
> management and performance.
>
> The young generation layout has been reconfigured from the previous
> `eden-from/to` arrangement to a new `from/to-eden` order. This new layout
> facilitates young generation resizing, si
On Mon, 30 Jun 2025 09:29:28 GMT, Ivan Walulya wrote:
>> Albert Mingkun Yang has updated the pull request with a new target base due
>> to a merge or a rebase. The pull request now contains 25 commits:
>>
>> - Merge branch 'master' into pgc-size-policy
>> - review
>> - cast
>> - remove-youn
On Mon, 30 Jun 2025 09:08:28 GMT, Ivan Walulya wrote:
>>> so that we can do the check after all the GCs
>>
>> Well, not really. In the old impl,
>> `GCOverheadChecker::check_gc_overhead_limit` calls
>> `set_gc_overhead_limit_exceeded` only for full-gc.
>>
>> > But now you only use check_gc_o
> This patch refines Parallel's sizing strategy to improve overall memory
> management and performance.
>
> The young generation layout has been reconfigured from the previous
> `eden-from/to` arrangement to a new `from/to-eden` order. This new layout
> facilitates young generation resizing, si
On Thu, 26 Jun 2025 19:17:11 GMT, Albert Mingkun Yang wrote:
>> This patch refines Parallel's sizing strategy to improve overall memory
>> management and performance.
>>
>> The young generation layout has been reconfigured from the previous
>> `eden-from/to` arrangement to a new `from/to-eden`
On Mon, 19 May 2025 06:00:09 GMT, Albert Mingkun Yang wrote:
>> src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp line 363:
>>
>>> 361: }
>>> 362:
>>> 363: bool ParallelScavengeHeap::check_gc_overhead_limit() {
>>
>> In main-line code, the method `check_gc_overhead_limit` is invoked by
>
On Thu, 26 Jun 2025 15:35:25 GMT, Ivan Walulya wrote:
>> Albert Mingkun Yang has updated the pull request incrementally with one
>> additional commit since the last revision:
>>
>> remove-young-resize-after-full-gc
>
> src/hotspot/share/gc/parallel/psYoungGen.cpp line 305:
>
>> 303:
On Mon, 23 Jun 2025 17:26:29 GMT, Ivan Walulya wrote:
>> Albert Mingkun Yang has updated the pull request with a new target base due
>> to a merge or a rebase. The pull request now contains 20 commits:
>>
>> - Merge branch 'master' into pgc-size-policy
>> - review
>> - Merge branch 'master'
> This patch refines Parallel's sizing strategy to improve overall memory
> management and performance.
>
> The young generation layout has been reconfigured from the previous
> `eden-from/to` arrangement to a new `from/to-eden` order. This new layout
> facilitates young generation resizing, si
On Mon, 23 Jun 2025 08:34:22 GMT, Albert Mingkun Yang wrote:
>> This patch refines Parallel's sizing strategy to improve overall memory
>> management and performance.
>>
>> The young generation layout has been reconfigured from the previous
>> `eden-from/to` arrangement to a new `from/to-eden`
On Thu, 26 Jun 2025 10:17:13 GMT, Albert Mingkun Yang wrote:
>> This patch refines Parallel's sizing strategy to improve overall memory
>> management and performance.
>>
>> The young generation layout has been reconfigured from the previous
>> `eden-from/to` arrangement to a new `from/to-eden`
On Mon, 19 May 2025 11:05:40 GMT, Guoxiong Li wrote:
>> Added checking for `from_space`.
>>
>> If all live-objs don't fit in old-gen, leftovers will be kept in its own
>> space.
>>
>>
>> // Summarize the remaining spaces in the young gen. The initial target
>> space
>> // is the old gen
> This patch refines Parallel's sizing strategy to improve overall memory
> management and performance.
>
> The young generation layout has been reconfigured from the previous
> `eden-from/to` arrangement to a new `from/to-eden` order. This new layout
> facilitates young generation resizing, si
> This patch refines Parallel's sizing strategy to improve overall memory
> management and performance.
>
> The young generation layout has been reconfigured from the previous
> `eden-from/to` arrangement to a new `from/to-eden` order. This new layout
> facilitates young generation resizing, si
On Wed, 18 Jun 2025 09:00:58 GMT, Albert Mingkun Yang wrote:
>> This patch refines Parallel's sizing strategy to improve overall memory
>> management and performance.
>>
>> The young generation layout has been reconfigured from the previous
>> `eden-from/to` arrangement to a new `from/to-eden`
> This patch refines Parallel's sizing strategy to improve overall memory
> management and performance.
>
> The young generation layout has been reconfigured from the previous
> `eden-from/to` arrangement to a new `from/to-eden` order. This new layout
> facilitates young generation resizing, si
On Mon, 23 Jun 2025 07:38:09 GMT, Ivan Walulya wrote:
> Do we have other uses of class AdaptiveSizePolicy except for parallelGC?
No. A followup cleanup can be to merge this class into its sole subclass, used
by Parallel.
-
PR Comment: https://git.openjdk.org/jdk/pull/25000#issueco
On Sun, 18 May 2025 15:36:03 GMT, Guoxiong Li wrote:
>> Albert Mingkun Yang has updated the pull request with a new target base due
>> to a merge or a rebase. The pull request now contains five commits:
>>
>> - review
>> - Merge branch 'master' into pgc-size-policy
>> - review
>> - Merge br
> This patch refines Parallel's sizing strategy to improve overall memory
> management and performance.
>
> The young generation layout has been reconfigured from the previous
> `eden-from/to` arrangement to a new `from/to-eden` order. This new layout
> facilitates young generation resizing, si
> This patch refines Parallel's sizing strategy to improve overall memory
> management and performance.
>
> The young generation layout has been reconfigured from the previous
> `eden-from/to` arrangement to a new `from/to-eden` order. This new layout
> facilitates young generation resizing, si
> This patch refines Parallel's sizing strategy to improve overall memory
> management and performance.
>
> The young generation layout has been reconfigured from the previous
> `eden-from/to` arrangement to a new `from/to-eden` order. This new layout
> facilitates young generation resizing, si
On Wed, 4 Jun 2025 09:11:04 GMT, Albert Mingkun Yang wrote:
>> This patch refines Parallel's sizing strategy to improve overall memory
>> management and performance.
>>
>> The young generation layout has been reconfigured from the previous
>> `eden-from/to` arrangement to a new `from/to-eden`
> This patch refines Parallel's sizing strategy to improve overall memory
> management and performance.
>
> The young generation layout has been reconfigured from the previous
> `eden-from/to` arrangement to a new `from/to-eden` order. This new layout
> facilitates young generation resizing, si
> This patch refines Parallel's sizing strategy to improve overall memory
> management and performance.
>
> The young generation layout has been reconfigured from the previous
> `eden-from/to` arrangement to a new `from/to-eden` order. This new layout
> facilitates young generation resizing, si
> This patch refines Parallel's sizing strategy to improve overall memory
> management and performance.
>
> The young generation layout has been reconfigured from the previous
> `eden-from/to` arrangement to a new `from/to-eden` order. This new layout
> facilitates young generation resizing, si
> This patch refines Parallel's sizing strategy to improve overall memory
> management and performance.
>
> The young generation layout has been reconfigured from the previous
> `eden-from/to` arrangement to a new `from/to-eden` order. This new layout
> facilitates young generation resizing, si
> This patch refines Parallel's sizing strategy to improve overall memory
> management and performance.
>
> The young generation layout has been reconfigured from the previous
> `eden-from/to` arrangement to a new `from/to-eden` order. This new layout
> facilitates young generation resizing, si
On Tue, 27 May 2025 01:02:22 GMT, Zhengyu Gu wrote:
>> Revised a bit; the limitation of what we have on master is that it doesn't
>> detect gc-overhead for young-gcs. If many young-gcs are run, gc-overhead
>> checking should kick in as well.
>
> I wonder if you should try `expand_heap_and_alloc
On Sun, 18 May 2025 15:21:37 GMT, Albert Mingkun Yang wrote:
>> src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp line 404:
>>
>>> 402: collect_at_safepoint(!should_run_young_gc);
>>> 403:
>>> 404: if (is_gc_overhead_limit_reached()) {
>>
>> Maybe want to adopt current algorithm,
> This patch refines Parallel's sizing strategy to improve overall memory
> management and performance.
>
> The young generation layout has been reconfigured from the previous
> `eden-from/to` arrangement to a new `from/to-eden` order. This new layout
> facilitates young generation resizing, si
On Mon, 19 May 2025 06:04:56 GMT, Albert Mingkun Yang wrote:
> I don't think throwing OOM, from gc's perspective, is an "error".
Nevermind; I just obey the statement in methods
`MemAllocator::Allocation::check_out_of_memory` and
`Universe::out_of_memory_error_java_heap`.
-
PR Rev
On Mon, 19 May 2025 05:49:31 GMT, Albert Mingkun Yang wrote:
> If all live-objs don't fit in old-gen, leftovers will be kept in its own
> space.
Thanks for clarifying.
-
PR Review Comment: https://git.openjdk.org/jdk/pull/25000#discussion_r2095458158
On Mon, 19 May 2025 05:20:36 GMT, Albert Mingkun Yang wrote:
>> src/hotspot/share/gc/parallel/psAdaptiveSizePolicy.cpp line 232:
>>
>>> 230: // Major times are too long, so we want less promotion.
>>> 231: incr_tenuring_threshold = true;
>>> 232: }
>>
>> You keep the condition `minor_
On Sun, 18 May 2025 13:53:53 GMT, Guoxiong Li wrote:
>> Albert Mingkun Yang has updated the pull request with a new target base due
>> to a merge or a rebase. The incremental webrev excludes the unrelated
>> changes brought in by the merge/rebase. The pull request contains three
>> additional
On Sun, 18 May 2025 17:21:40 GMT, Guoxiong Li wrote:
> so that we can do the check after all the GCs
Well, not really. In the old impl, `GCOverheadChecker::check_gc_overhead_limit`
calls `set_gc_overhead_limit_exceeded` only for full-gc.
> But now you only use check_gc_overhead_limit in
> P
> This patch refines Parallel's sizing strategy to improve overall memory
> management and performance.
>
> The young generation layout has been reconfigured from the previous
> `eden-from/to` arrangement to a new `from/to-eden` order. This new layout
> facilitates young generation resizing, si
On Sun, 18 May 2025 18:06:15 GMT, Guoxiong Li wrote:
>> src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp line 343:
>>
>>> 341: if (_gc_overhead_counter >= GCOverheadLimitThreshold) {
>>> 342: return nullptr;
>>> 343: }
>>
>> Returning `nullptr` means the `OutOfMemoryEr
On Sun, 18 May 2025 15:20:50 GMT, Albert Mingkun Yang wrote:
>> This patch refines Parallel's sizing strategy to improve overall memory
>> management and performance.
>>
>> The young generation layout has been reconfigured from the previous
>> `eden-from/to` arrangement to a new `from/to-eden`
On Fri, 16 May 2025 08:36:22 GMT, Albert Mingkun Yang wrote:
>> This patch refines Parallel's sizing strategy to improve overall memory
>> management and performance.
>>
>> The young generation layout has been reconfigured from the previous
>> `eden-from/to` arrangement to a new `from/to-eden`
On Sun, 18 May 2025 15:20:50 GMT, Albert Mingkun Yang wrote:
>> This patch refines Parallel's sizing strategy to improve overall memory
>> management and performance.
>>
>> The young generation layout has been reconfigured from the previous
>> `eden-from/to` arrangement to a new `from/to-eden`
On Sun, 18 May 2025 18:01:44 GMT, Guoxiong Li wrote:
>> Albert Mingkun Yang has updated the pull request with a new target base due
>> to a merge or a rebase. The incremental webrev excludes the unrelated
>> changes brought in by the merge/rebase. The pull request contains five
>> additional c
On Tue, 13 May 2025 15:59:19 GMT, Zhengyu Gu wrote:
>> Albert Mingkun Yang has updated the pull request with a new target base due
>> to a merge or a rebase. The incremental webrev excludes the unrelated
>> changes brought in by the merge/rebase. The pull request contains five
>> additional co
> This patch refines Parallel's sizing strategy to improve overall memory
> management and performance.
>
> The young generation layout has been reconfigured from the previous
> `eden-from/to` arrangement to a new `from/to-eden` order. This new layout
> facilitates young generation resizing, si
On Fri, 16 May 2025 07:50:13 GMT, Albert Mingkun Yang wrote:
>> src/hotspot/share/gc/shared/adaptiveSizePolicy.hpp line 179:
>>
>>> 177: _gc_distance_timer.reset();
>>> 178: _gc_distance_timer.start();
>>> 179: }
>>
>> The method name `record_gc_pause_end_instant` is about `gc pause`,
On Fri, 16 May 2025 07:27:56 GMT, Albert Mingkun Yang wrote:
>> src/hotspot/share/gc/parallel/parallelScavengeHeap.cpp line 343:
>>
>>> 341: if (is_gc_overhead_limit_reached()) {
>>> 342: return nullptr;
>>> 343: }
>>
>> It seems the parameter `gc_overhead_limit_was_exceeded
On Fri, 16 May 2025 08:36:22 GMT, Albert Mingkun Yang wrote:
>> This patch refines Parallel's sizing strategy to improve overall memory
>> management and performance.
>>
>> The young generation layout has been reconfigured from the previous
>> `eden-from/to` arrangement to a new `from/to-eden`
On Sun, 11 May 2025 14:24:43 GMT, Guoxiong Li wrote:
>> Albert Mingkun Yang has updated the pull request with a new target base due
>> to a merge or a rebase. The incremental webrev excludes the unrelated
>> changes brought in by the merge/rebase. The pull request contains three
>> additional
> This patch refines Parallel's sizing strategy to improve overall memory
> management and performance.
>
> The young generation layout has been reconfigured from the previous
> `eden-from/to` arrangement to a new `from/to-eden` order. This new layout
> facilitates young generation resizing, si
On Fri, 2 May 2025 10:23:25 GMT, Albert Mingkun Yang wrote:
> This patch refines Parallel's sizing strategy to improve overall memory
> management and performance.
>
> The young generation layout has been reconfigured from the previous
> `eden-from/to` arrangement to a new `from/to-eden` order
This patch refines Parallel's sizing strategy to improve overall memory
management and performance.
The young generation layout has been reconfigured from the previous
`eden-from/to` arrangement to a new `from/to-eden` order. This new layout
facilitates young generation resizing, since we perfo
72 matches
Mail list logo