[OpenWrt-Devel] [PATCH] mvebu: fix the cortex-a9 fpu configure

Ayaka ayaka at soulik.info
Thu Aug 30 23:45:52 EDT 2018



Sent from my iPad

> On Aug 30, 2018, at 6:11 PM, Hauke Mehrtens <hauke at hauke-m.de> wrote:
> 
> Hi,
> 
>> On 08/30/2018 09:29 AM, Ayaka wrote:
>> 
>> 
>> Sent from my iPad
>> 
>>>> On Aug 30, 2018, at 2:26 PM, Jonas Gorski <jonas.gorski at gmail.com> wrote:
>>>> 
>>>> On 30 August 2018 at 04:31, ayaka <ayaka at soulik.info> wrote:
>>>> Both Marvell Armada 37x and 38x support NEON and VFPv3,
>>>> so we enable the NEON FPU with the SIMD aliases.
>>> 
>>> But the Armada XP doesn't, so this would break devices based on it
>>> (like the WRT1900AC v1).
>> I was wonder whether Armada XP supports NEON. I am glad to know it doesn't.
>> Anyway advice on separate the configure for WRT1900AC?
>> With the help of neon I think we can get a better performance on crypt app
>> locations such as OpenSSL and OpenVPN. It takes more benefit from the  compatible.
> 
> We can split this into two sub targets, but this needs additional
> computation resources for our build bots.
Maybe there would be three sub targets
I found ARMADA 370 only supports vfp-d16, but ARMADA 375 supports neon, I am not sure about VPS part. And the ARMADA 38x supports both neon and vfpv3 which we can use simd aliases simply.
The commit in the below links is not correct.
https://github.com/lede-project/source/pull/1211#issuecomment-319286867
> Could you do some benchmarks on the performance differences with and
> without this specific compiler optimization and share your results
> please. This will allow us to judge if these performance improvements
> are worth the extra load on the build bots.
> 
But I think you can still use the performance benchmark in the above links as an evidence.
I will try to write a simple make rules in the weekend.
> You could try OpenSSL, OpenVPN and so on with the current build and then
> with a build which activates ARM NEON and whatever this CPU supports in
> addition.
> 
> Hauke
> 
>>> 
>>> Regards
>>> Jonas
>>> 
>>>> 
>>>> Signed-off-by: ayaka <ayaka at soulik.info>
>>>> ---
>>>> include/target.mk                     | 1 +
>>>> target/linux/mvebu/cortexa9/target.mk | 2 +-
>>>> 2 files changed, 2 insertions(+), 1 deletion(-)
>>>> 
>>>> diff --git a/include/target.mk b/include/target.mk
>>>> index 53d7436311..330eb175cc 100644
>>>> --- a/include/target.mk
>>>> +++ b/include/target.mk
>>>> @@ -201,6 +201,7 @@ ifeq ($(DUMP),1)
>>>>      CPU_CFLAGS_neon = -mfpu=neon
>>>>      CPU_CFLAGS_vfp = -mfpu=vfp
>>>>      CPU_CFLAGS_vfpv3 = -mfpu=vfpv3-d16
>>>> +      CPU_CFLAGS_simd = -mfpu=neon-vfpv3
>>>>      CPU_CFLAGS_neon-vfpv4 = -mfpu=neon-vfpv4
>>>>    endif
>>>>  endif
>>>> diff --git a/target/linux/mvebu/cortexa9/target.mk b/target/linux/mvebu/cortexa9/target.mk
>>>> index 2a75599bc9..9e6119bf6b 100644
>>>> --- a/target/linux/mvebu/cortexa9/target.mk
>>>> +++ b/target/linux/mvebu/cortexa9/target.mk
>>>> @@ -10,5 +10,5 @@ include $(TOPDIR)/rules.mk
>>>> ARCH:=arm
>>>> BOARDNAME:=Marvell Armada 37x/38x/XP
>>>> CPU_TYPE:=cortex-a9
>>>> -CPU_SUBTYPE:=vfpv3
>>>> +CPU_SUBTYPE:=simd
>>>> KERNELNAME:=zImage dtbs
>>>> --
>>>> 2.14.4
>>>> 
>>>> 
>>>> _______________________________________________
>>>> openwrt-devel mailing list
>>>> openwrt-devel at lists.openwrt.org
>>>> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
>> 
>> 
>> _______________________________________________
>> openwrt-devel mailing list
>> openwrt-devel at lists.openwrt.org
>> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
>> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.infradead.org/pipermail/openwrt-devel/attachments/20180831/de8882d9/attachment.htm>
-------------- next part --------------
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list