-
Enhancement
-
Resolution: Fixed
-
P4
-
8-shenandoah, 11-shenandoah, 14, 15
-
b18
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8245347 | 14u-cpu | Aleksey Shipilev | P4 | Resolved | Fixed | master |
JDK-8244353 | 14.0.2 | Aleksey Shipilev | P4 | Resolved | Fixed | b05 |
Current ShenandoahHeapRegion definition has a trailing padding to isolate it from other regions. We can instead allocate every SHR at cache line boundary and then ditch the padding.
Assuming 64-byte cache lines in the following calculation. Current SHR takes 112 bytes in 64-bit mode and 64 bytes in 32-bit mode (afterJDK-8241841). Adding trailing alignment ballons that to 176 and 128 bytes, respectively. Aligning to cache line size would make apparent SHR sizes to be 128 and 64 bytes, respectively. This saves 96...128K of native memory with the default number of regions, and more with more fine-grained regions with larger heaps.
Plus, we can allocate a large page for the entire storage at once.
Assuming 64-byte cache lines in the following calculation. Current SHR takes 112 bytes in 64-bit mode and 64 bytes in 32-bit mode (after
Plus, we can allocate a large page for the entire storage at once.
- backported by
-
JDK-8244353 Shenandoah: align ShenandoahHeapRegions to cache lines
-
- Resolved
-
-
JDK-8245347 Shenandoah: align ShenandoahHeapRegions to cache lines
-
- Resolved
-
- is blocked by
-
JDK-8241673 Shenandoah: refactor anti-false-sharing padding
-
- Resolved
-
-
JDK-8241841 Shenandoah: ditch one of allocation type counters in ShenandoahHeapRegion
-
- Resolved
-
- relates to
-
JDK-8242267 Shenandoah: regions space needs to be aligned by os::vm_allocation_granularity()
-
- Resolved
-