On Thu, 24 Oct 2024 09:28:13 GMT, Amit Kumar <[email protected]> wrote:
>>> But then, what exactly is the error? If it's just the test assuming that
>>> cache line size is log 6, then the test should be fixed for ppc, not
>>> hotspot.
>>
>> that is the problem, test assumes log2 of 6 for chacheline size
>
> PPC log2 will be `7` (`DEFAULT_CACHE_LINE_SIZE = 128`) and for S390x it will
> be `8` (`DEFAULT_CACHE_LINE_SIZE = 256`).
>
> So I guess this change should be fine for now :
>
> diff --git
> a/test/hotspot/jtreg/runtime/CompressedOops/CompressedClassPointersEncodingScheme.java
>
> b/test/hotspot/jtreg/runtime/CompressedOops/CompressedClassPointersEncodingScheme.java
> index e04e716315a..c1be59e77ab 100644
> ---
> a/test/hotspot/jtreg/runtime/CompressedOops/CompressedClassPointersEncodingScheme.java
> +++
> b/test/hotspot/jtreg/runtime/CompressedOops/CompressedClassPointersEncodingScheme.java
> @@ -108,7 +108,9 @@ public static void main(String[] args) throws Exception {
>
> long ccsSize = 128 * M;
> int expectedShift = 6;
> - test(forceAddress, true, ccsSize, forceAddress, expectedShift);
> + if (!Platform.isPPC() && !Platform.isS390x()) {
> + test(forceAddress, true, ccsSize, forceAddress, expectedShift);
> + }
>
> ccsSize = 512 * M;
> expectedShift = 8;
As I understand the comment, it says alignment <= cache line size. But the
implementation makes alignment >= cache line size. "hyper alignment" means
alignment > cache line size?
If we want alignment = cache line size, I'll be ok with disabling the +COH part
of the test on PPC64 and s390. Correct, the problem is that the test assumes
that log cache line size = 6.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/20677#discussion_r1814666149