RFR: Allocation tracker should really report bytes

Roman Kennke rkennke at redhat.com
Fri Jul 13 14:54:41 UTC 2018


Am 13.07.2018 um 16:51 schrieb Aleksey Shipilev:
> -XX:+ShenandoahAllocationTrace log says:
> 
> [125.673s][info   ][gc,stats] Sizes (in bytes):
> [125.673s][info   ][gc,stats]     256 -     512:           0           0           0         381
> [125.673s][info   ][gc,stats]     512 -    1024:           0           0           1         217
> [125.673s][info   ][gc,stats]    1024 -    2048:           0          18           0         157
> [125.673s][info   ][gc,stats]    2048 -    4096:           0          20           3         144
> [125.673s][info   ][gc,stats]    4096 -    8192:           0           6           0          58
> [125.673s][info   ][gc,stats]    8192 -   16384:           0          57           1          14
> [125.673s][info   ][gc,stats]   16384 -   32768:           0           0           0          14
> [125.673s][info   ][gc,stats]   32768 -   65536:           0           1           1          16
> [125.673s][info   ][gc,stats]   65536 -  131072:           2           7          42          14
> 
> ...but "in bytes" part is a lie, because we need to do:
> 
> diff -r 95c1c543d1a5 -r 9bfd1fa84d27 src/hotspot/share/gc/shenandoah/shenandoahAllocTracker.cpp
> --- a/src/hotspot/share/gc/shenandoah/shenandoahAllocTracker.cpp	Fri Jul 13 16:08:29 2018 +0200
> +++ b/src/hotspot/share/gc/shenandoah/shenandoahAllocTracker.cpp	Fri Jul 13 16:40:38 2018 +0200
> @@ -70,7 +70,9 @@
> 
>    out->print_cr("Sizes (in bytes):");
>    for (int c = size_min_level; c <= size_max_level; c++) {
> -    out->print("%7d - %7d:", (c == 0) ? 0 : 1 << (c - 1), 1 << c);
> +    int l = (c == 0) ? 0 : 1 << (c - 1);
> +    int r = 1 << c;
> +    out->print("%7d - %7d:", l * HeapWordSize, r * HeapWordSize);
>      for (size_t t = 0; t < ShenandoahHeap::_ALLOC_LIMIT; t++) {
>        out->print(SIZE_FORMAT_W(12), _alloc_size[t].level(c));
>      }
> 
> Testing: tier1_gc_shenandoah, cross-referencing stats with TLAB sizes
> 
> Thanks,
> -Aleksey
> 

Yes, please push. Thanks!
Roman





More information about the shenandoah-dev mailing list