RFR: JDK-8155618 aarch32: implement CRC32 intrinsics
Andrey Petushkov
andrey.petushkov at gmail.com
Fri Apr 29 20:01:12 UTC 2016
Great thanks! Indeed the problem was such that it could manifest itself in
a random way. So hopefully it's fixed now
Regards,
Andrey
On Fri, Apr 29, 2016 at 8:43 PM Alex Kashchenko <akashche at redhat.com> wrote:
> Hi Andrey,
>
> On 04/29/2016 03:59 PM, Andrey Petushkov wrote:
> > Hi Alex,
> >
> > In the meanwhile I’ve found one bug in the cc32-based implementation,
> which is exactly the one chosen on rpi3 by default. Could you please
> reapply the patch from the same location. Please let me know if the problem
> persists
>
> I restarted the builds with the new patch. I haven't look at the details
> or a minimal reproducer yet - will wait for the new builds to finish.
>
> >
> > Great thanks,
> > Andrey
> >
> >> On 29 Apr 2016, at 01:34, Alex Kashchenko <akashche at redhat.com> wrote:
> >>
> >> Hi Andrey,
> >>
> >> On 04/28/2016 11:49 AM, Andrey Petushkov wrote:
> >>> Dear Ed, All,
> >>>
> >>> Please consider the below patch to implement intrinsics for CRC32
> functionality
> >>> All 3 possible implementations are provided: generic cpu, neon and
> crc32 ARM v8 instruction based.
> >>> The evaluated performance gain of the calculation itself is the
> following:
> >>> cortex a7 a8 a53
> >>> c 123.487 132.013 309.565
> >>> asm 131.755 7% 141.297 7% 307.401 -1%
> >>> neon 118.91 -4% 159.718 21% 479.442 55%
> >>> crc32 1361.446 343%
> >>> As you can see there is no benefit in using neon on Cortex A7 (and
> presumably A5). So neon is turned on by default only on Cortex A8 and above
> >>>
> >>> The above numbers are for CRC calculation itself, so elimination of
> JNI overhead provides additional benefit. E.g. on Cortex A7 the generic asm
> implementation gives the below benefit:
> >>>
> >>> buffer size + ops/s
> >>> Xint 128 20.56%
> >>>
> >>> 512 18.06%
> >>>
> >>> 1024 14.66%
> >>>
> >>> 1048576 5.52%
> >>>
> >>>
> >>>
> >>> Xcomp Xbatch 128 77.85%
> >>>
> >>> 512 32.63%
> >>>
> >>> 1024 20.53%
> >>>
> >>> 1048576 6.59%
> >>>
> >>> The patch is here:
> >>> http://cr.openjdk.java.net/~snazarki/8155618/ <
> http://cr.openjdk.java.net/~snazarki/8155618/> <
> http://cr.openjdk.java.net/~snazarki/8155618/ <
> http://cr.openjdk.java.net/~snazarki/8155618/>>
> >>
> >> I am getting the following error in bootcycle build with this patch on
> Raspberry Pi 3:
> >>
> >> - crash log:
> http://cr.openjdk.java.net/~akasko/aarch32/jdk8u/8155618/hs_err_pid13951.log
> <
> http://cr.openjdk.java.net/~akasko/aarch32/jdk8u/8155618/hs_err_pid13951.log
> >
> >> - build log:
> http://cr.openjdk.java.net/~akasko/aarch32/jdk8u/8155618/201604280_rpi3_rpm.log.xz
> <
> http://cr.openjdk.java.net/~akasko/aarch32/jdk8u/8155618/201604280_rpi3_rpm.log.xz
> >
> >>
> >> I don't have any more details now, builds on all other devices are
> still in progress. This is the first time I see any problems with the build
> after prec1 change, so it may well be an incorrect patching or a hardware
> glitch.
> >>
> >> --
> >> -Alex
> >
> >
>
>
> --
> -Alex
>
More information about the aarch32-port-dev
mailing list