RFR: 8291106: ZPlatformGranuleSizeShift is redundant [v3]

Leslie Zhai lzhai at openjdk.org
Wed Jul 27 08:44:17 UTC 2022


On Wed, 27 Jul 2022 08:37:31 GMT, Leslie Zhai <lzhai at openjdk.org> wrote:

>> Hi,
>> 
>> When I am tunning `ZPageSizeSmall` to 16 MB from 2MB:
>> 
>> 
>> const size_t ZPlatformGranuleSizeShift          = 24; // 16MB
>> 
>> // Granule shift/size
>> const size_t      ZGranuleSizeShift             = ZPlatformGranuleSizeShift;
>> 
>> // Page size shifts
>> const size_t      ZPageSizeSmallShift           = ZGranuleSizeShift;
>> 
>> // Page sizes
>> const size_t      ZPageSizeSmall                = (size_t)1 << ZPageSizeSmallShift;
>> 
>> 
>> `zBitField` failed to work:
>> 
>> 
>> Internal Error
>>  (/home/zhaixiang/jdk/src/hotspot/share/gc/z/zBitField.hpp:76), pid=923047, tid=923069
>> #  assert(((ContainerType)value & (FieldMask << ValueShift)) == (ContainerType)value) failed: Invalid value
>> #
>> # JRE version: OpenJDK Runtime Environment (20.0) (fastdebug build 20-internal-adhoc.root.jdk)
>> # Java VM: OpenJDK 64-Bit Server VM (fastdebug 20-internal-adhoc.root.jdk, mixed mode, sharing, tiered, compressed class ptrs, z gc, linux-aarch64)
>> 
>> 
>> Perhaps `mask` also need to be adjusted:
>> 
>> 
>> static size_t object_index(oop obj) {
>>   const uintptr_t addr = ZOop::to_address(obj);
>>   const uintptr_t offset = ZAddress::offset(addr);
>>   const uintptr_t mask = ZGranuleSize - 1;
>>   return (offset & mask) >> ZObjectAlignmentSmallShift;
>> }
>> 
>> 
>> Back to the point: ZPlatformGranuleSizeShift is redundant due to it can not be modified, for example, `24`, so I removed the `ZPlatformGranuleSizeShift` from cpu backends, just keep it for debugging AArch64 to see the issue.
>> 
>> Please review my patch.
>> 
>> Thanks,
>> Leslie Zhai
>
> Leslie Zhai has updated the pull request incrementally with one additional commit since the last revision:
> 
>   8291106: ZPlatformGranuleSizeShift is redundant

Hi Erik,

Please review it again.

Thanks,
Leslie Zhai

Hi Erik,

Thanks for your review.

Cheers,
Leslie Zhai

-------------

PR: https://git.openjdk.org/jdk/pull/9582



More information about the hotspot-gc-dev mailing list