Re: bpf: jit: s390 64/32 bits for index in tail call

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> ```
>    With this patch a tail call generates the following code on s390x:
> 
>     if (index >= array->map.max_entries)
>             goto out
>     000003ff8001c7e4: e31030100016   llgf    %r1,16(%r3)
>     000003ff8001c7ea: ec41001fa065   clgrj   %r4,%r1,10,3ff8001c828
> ```
> 
> Do I understand corretly, that it uses 64 bit index value?
> 
> "runtime/jit: pass > 32bit index to tail_call"
> test_verifier's test fails for me and I see, for example,
> /* mov edx, edx */  in the x86 implementation

Hi Yauheni,

llgf zero-extends a 32-bit value and puts it into a register, so I would
expect index to be a 32-bit value here. This test passes for me:

#752/u runtime/jit: pass > 32bit index to tail_call OK
#752/p runtime/jit: pass > 32bit index to tail_call OK

Which machine are you using for testing? I tried that on z14 (3906).

Best regards,
Ilya




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux