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

Reply via email to