[OpenWrt-Devel] [RFC] Mips SIMD architecture (MSA)
As far i can understand MSA is a feature that is only present in the MIPS Warrior cores and, for now, seems that could be only needed in malta [1] target. As you can see in arch/mips/Kconfig MIPS32R2 and MIPS64R2 select CPU_SUPPORTS_MSA which does not apply to the majority of the mips targets in OpenWRT. Deleting select CPU_SUPPORTS_MSA in [2] and [3] and changing [4] with depends CPU_MIPS32_R2 || CPU_MIPS64_R2 will make MSA selectable and should make the kernel smaller. [1]https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/arch/mips/Kconfig?id=refs/tags/v3.18.11#n311 [2]https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/arch/mips/Kconfig?id=refs/tags/v3.18.11#n1256 [3]https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/arch/mips/Kconfig?id=refs/tags/v3.18.11#n1290 [4]https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/arch/mips/Kconfig?id=refs/tags/v3.18.11#n2135 Regards: Pepe ___ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
Re: [OpenWrt-Devel] [RFC] Mips SIMD architecture (MSA)
2015-04-13 11:15 GMT+02:00, Paul Burton paul.bur...@imgtec.com: On Mon, Apr 13, 2015 at 10:54:05AM +0200, José Vázquez wrote: As far i can understand MSA is a feature that is only present in the MIPS Warrior cores and, for now, seems that could be only needed in malta [1] target. As you can see in arch/mips/Kconfig MIPS32R2 and MIPS64R2 select CPU_SUPPORTS_MSA which does not apply to the majority of the mips targets in OpenWRT. Deleting select CPU_SUPPORTS_MSA in [2] and [3] and changing [4] with depends CPU_MIPS32_R2 || CPU_MIPS64_R2 will make MSA selectable and should make the kernel smaller. Hello, I'm not sure I understand the problem here - CPU_HAS_MSA should already be configurable via Kconfig, so you can just disable it if you don't need it (as indicated in the Kconfig help text). The CPU_SUPPORTS_MSA entries are there just to enforce that you can only enable CPU_HAS_MSA on a system which might possibly include MSA (ie. MIPSr2+, well really MIPSr5+). In essence, the fact that your system selects CPU_SUPPORTS_MSA shouldn't increase the size of your kernel unless you also enable the configurable CPU_HAS_MSA. Am I missing something? Thanks, Paul [1]https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/arch/mips/Kconfig?id=refs/tags/v3.18.11#n311 [2]https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/arch/mips/Kconfig?id=refs/tags/v3.18.11#n1256 [3]https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/arch/mips/Kconfig?id=refs/tags/v3.18.11#n1290 [4]https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/arch/mips/Kconfig?id=refs/tags/v3.18.11#n2135 Regards: Pepe MSA is not selectable if in Kconfig the target selects SYS_HAS_CPU_MIPS32_R2 or SYS_HAS_CPU_MIPS64_R2, like Lantiq, PMC_MSP, Ralink and some others because of [2] and [3]. I.e., in the case of EVA it is only selected if SYS_HAS_CPU_MIPS32_R3_5. Pepe ___ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
Re: [OpenWrt-Devel] [RFC] Mips SIMD architecture (MSA)
2015-04-13 12:28 GMT+02:00, Paul Burton paul.bur...@imgtec.com: On Mon, Apr 13, 2015 at 11:59:20AM +0200, José Vázquez wrote: 2015-04-13 11:15 GMT+02:00, Paul Burton paul.bur...@imgtec.com: On Mon, Apr 13, 2015 at 10:54:05AM +0200, José Vázquez wrote: As far i can understand MSA is a feature that is only present in the MIPS Warrior cores and, for now, seems that could be only needed in malta [1] target. As you can see in arch/mips/Kconfig MIPS32R2 and MIPS64R2 select CPU_SUPPORTS_MSA which does not apply to the majority of the mips targets in OpenWRT. Deleting select CPU_SUPPORTS_MSA in [2] and [3] and changing [4] with depends CPU_MIPS32_R2 || CPU_MIPS64_R2 will make MSA selectable and should make the kernel smaller. Hello, I'm not sure I understand the problem here - CPU_HAS_MSA should already be configurable via Kconfig, so you can just disable it if you don't need it (as indicated in the Kconfig help text). The CPU_SUPPORTS_MSA entries are there just to enforce that you can only enable CPU_HAS_MSA on a system which might possibly include MSA (ie. MIPSr2+, well really MIPSr5+). In essence, the fact that your system selects CPU_SUPPORTS_MSA shouldn't increase the size of your kernel unless you also enable the configurable CPU_HAS_MSA. Am I missing something? Thanks, Paul [1]https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/arch/mips/Kconfig?id=refs/tags/v3.18.11#n311 [2]https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/arch/mips/Kconfig?id=refs/tags/v3.18.11#n1256 [3]https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/arch/mips/Kconfig?id=refs/tags/v3.18.11#n1290 [4]https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/arch/mips/Kconfig?id=refs/tags/v3.18.11#n2135 Regards: Pepe MSA is not selectable if in Kconfig the target selects SYS_HAS_CPU_MIPS32_R2 or SYS_HAS_CPU_MIPS64_R2, like Lantiq, PMC_MSP, Ralink and some others because of [2] and [3]. I.e., in the case of EVA it is only selected if SYS_HAS_CPU_MIPS32_R3_5. Pepe ...but [2] [3] both only select CPU_SUPPORTS_MSA, not CPU_HAS_MSA. You should still be able to disable CPU_HAS_MSA in your configuration. Nothing depends upon or selects CPU_HAS_MSA, so you should always be able to disable it regardless of the platform you build for. To take one of your examples I just checked out v3.18.11, started from the Lantiq xway_defconfig and ran menuconfig. MSA is disabled by default as expected, and can be enabled if ( only if) its dependency CONFIG_MIPS_O32_FP64_SUPPORT is enabled. Even when that is enabled MSA is still disabled by default. I still don't see what you're trying to do here - MSA can already always be disabled via Kconfig, and is automatically enforced disabled on systems where it doesn't make sense. Thanks, Paul You are right. Sorry and thanks for the clarification. Best regards: Pepe ___ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel