On Wed, 1 Feb 2023 08:46:12 GMT, Alan Bateman <al...@openjdk.org> wrote:
>> Hi Alan, here is output: >> >> level:0, strategy: 2, dowrap: true >> >> is finished: true >> is finished: true >> is finished: true >> is finished: true >> is finished: true >> level:1, strategy: 0, dowrap: false >> is finished: false >> m=525312, n=497972, len=524288, eq=false >> STDERR: >> java.lang.RuntimeException: De/inflater >> failed:java.util.zip.Deflater@23a0858b >> >> >> >> >> But I guess this behaviour could be explained (by zEDC). On s390x, there is >> additional instruction present and it could be enabled by setting >> `DFLTCC=1`. And for accelerator the size of compressed data could go`2 >> times` the size of actual data. Again this is not deterministic as well, >> i.e. for same data there could be different valid deflate stream. > >> level:1, strategy: 0, dowrap: false >> is finished: false > > Thanks for checking that. So "is finished: false" is telling us that not all > of the input was compressed. So I think the right thing is to do the deflate > in a loop until there is more input to compress, the inflate probably needs > the same. Your original proposal was to make the output buffer larger and I > suspect that is just working around a threshold or block size used by the > accelerator. Hi @AlanBateman , with latest changes (doing inflate/deinflate) test passes over s390 and x86 as well. Please take a look now. ------------- PR: https://git.openjdk.org/jdk/pull/12283