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

Hauke Mehrtens hauke at hauke-m.de
Thu Aug 30 06:11:51 EDT 2018


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.
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.

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
> 

_______________________________________________
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