diff mbox series

[1/1] configs/nvidia_bf3: set BR2_cortex_a78

Message ID 20241231185346.180096-1-ju.o@free.fr
State Accepted
Delegated to: Julien Olivain
Headers show
Series [1/1] configs/nvidia_bf3: set BR2_cortex_a78 | expand

Commit Message

Julien Olivain Dec. 31, 2024, 6:53 p.m. UTC
The nvidia BlueField-3 DPU includes Arm Cortex-A78 Hercules
processors. See [1].

The Cortex-A78 support was added in Buildroot in commit [2].

This commit adds BR2_cortex_a78=y in nvidia_bf3_defconfig to enable
optimisations for this processor.

[1] https://www.nvidia.com/en-us/networking/products/data-processing-unit/
[2] https://gitlab.com/buildroot.org/buildroot/-/commit/f4690c2bfd7d51c614d09ff470e725c795bab980

Cc: Vincent Jardin <vjardin@free.fr>
Signed-off-by: Julien Olivain <ju.o@free.fr>
---
Patch tested (compilation only) in:
https://gitlab.com/jolivain/buildroot/-/jobs/8748400651

Vincent: if you have access to this board, could you do an actual
runtime test and add a "Tested-by:", please?
---
 configs/nvidia_bf3_defconfig | 1 +
 1 file changed, 1 insertion(+)

Comments

Vincent Jardin Dec. 31, 2024, 9:56 p.m. UTC | #1
Le 31 décembre 2024 19:53:56 Julien Olivain <ju.o@free.fr> a écrit :

> The nvidia BlueField-3 DPU includes Arm Cortex-A78 Hercules
> processors. See [1].
>
> The Cortex-A78 support was added in Buildroot in commit [2].
>
> This commit adds BR2_cortex_a78=y in nvidia_bf3_defconfig to enable
> optimisations for this processor.
>
> [1] https://www.nvidia.com/en-us/networking/products/data-processing-unit/
> [2] 
> https://gitlab.com/buildroot.org/buildroot/-/commit/f4690c2bfd7d51c614d09ff470e725c795bab980
>
> Cc: Vincent Jardin <vjardin@free.fr>
> Signed-off-by: Julien Olivain <ju.o@free.fr>
> ---
> Patch tested (compilation only) in:
> https://gitlab.com/jolivain/buildroot/-/jobs/8748400651
>
> Vincent: if you have access to this board, could you do an actual
> runtime test and add a "Tested-by:", please?

OK. I'll share some feedbacks early next week. Beside just booting on the 
board, do you have any specific tests your would like me to run ?

Thanks for this update,
  Vincent


> ---
> configs/nvidia_bf3_defconfig | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/configs/nvidia_bf3_defconfig b/configs/nvidia_bf3_defconfig
> index 3f958c0062..e44bb55a3a 100644
> --- a/configs/nvidia_bf3_defconfig
> +++ b/configs/nvidia_bf3_defconfig
> @@ -1,4 +1,5 @@
> BR2_aarch64=y
> +BR2_cortex_a78=y
> BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_11=y
> BR2_GLOBAL_PATCH_DIR="board/nvidia/bf3/patches"
> BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
> --
> 2.47.1
Julien Olivain Jan. 1, 2025, 6:53 p.m. UTC | #2
Hi Vincent, and happy new year!

On 31/12/2024 22:56, Vincent Jardin wrote:
> Le 31 décembre 2024 19:53:56 Julien Olivain <ju.o@free.fr> a écrit :
> 
> 
>> The nvidia BlueField-3 DPU includes Arm Cortex-A78 Hercules
>> processors. See [1].
>> 
>> The Cortex-A78 support was added in Buildroot in commit [2].
>> 
>> This commit adds BR2_cortex_a78=y in nvidia_bf3_defconfig to enable
>> optimisations for this processor.
>> 
>> [1]
>> 
> https://www.nvidia.com/en-us/networking/products/data-processing-unit/
>> 
>> [2]
>> 
> https://gitlab.com/buildroot.org/buildroot/-/commit/f4690c2bfd7d51c614d09ff470e725c795bab980
>> 
>> 
>> Cc: Vincent Jardin <vjardin@free.fr>
>> Signed-off-by: Julien Olivain <ju.o@free.fr>
>> ---
>> Patch tested (compilation only) in:
>> https://gitlab.com/jolivain/buildroot/-/jobs/8748400651
>> 
>> Vincent: if you have access to this board, could you do an actual
>> runtime test and add a "Tested-by:", please?
> 
> OK. I'll share some feedbacks early next week. Beside just booting on
> the board, do you have any specific tests your would like me to run ?

On my side, just booting the board is sufficient, to make sure
this patch is not breaking anything so it can be merged.

Feel free to do extra tests. Declaring this Cortex-A78 CPU is passed
to gcc. So it is supposed to enable A78 optimizations. I don't expect
a major performance improvement on the defconfig alone (Kernel and
BusyBox). But you could observe some improvement on some specific
benchmarks... See:
https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html#index-mcpu-2

Best regards,

Julien.
Vincent Jardin Feb. 3, 2025, 11:49 a.m. UTC | #3
On Tue, Dec 31, 2024 at 07:53:46PM +0100, Julien Olivain wrote:
> The nvidia BlueField-3 DPU includes Arm Cortex-A78 Hercules
> processors. See [1].
> 
> The Cortex-A78 support was added in Buildroot in commit [2].
> 
> This commit adds BR2_cortex_a78=y in nvidia_bf3_defconfig to enable
> optimisations for this processor.
> 
> [1] https://www.nvidia.com/en-us/networking/products/data-processing-unit/
> [2] https://gitlab.com/buildroot.org/buildroot/-/commit/f4690c2bfd7d51c614d09ff470e725c795bab980
> 
> Cc: Vincent Jardin <vjardin@free.fr>
> Signed-off-by: Julien Olivain <ju.o@free.fr>

Tested-by: Vincent Jardin <vjardin@free.fr>

Thanks Julien for this suggestion.

FYI, using gcc -dM -E - </dev/null | sort | grep ARM
with both buildroot's gcc and nvidia's bf3 Ubuntu gcc, the diff is:

+#define __ARM_FEATURE_ATOMICS 1
+#define __ARM_FEATURE_CRC32 1
+#define __ARM_FEATURE_DOTPROD 1
+#define __ARM_FEATURE_FP16_SCALAR_ARITHMETIC 1
+#define __ARM_FEATURE_FP16_VECTOR_ARITHMETIC 1
+#define __ARM_FEATURE_QRDMX 1
+#define __ARM_FEATURE_RCPC 1

that are available with buildroot gcc but not the one from Ubuntu's gcc

best regards,
  Vincent

> ---
> Patch tested (compilation only) in:
> https://gitlab.com/jolivain/buildroot/-/jobs/8748400651
> 
> Vincent: if you have access to this board, could you do an actual
> runtime test and add a "Tested-by:", please?
> ---
>  configs/nvidia_bf3_defconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/configs/nvidia_bf3_defconfig b/configs/nvidia_bf3_defconfig
> index 3f958c0062..e44bb55a3a 100644
> --- a/configs/nvidia_bf3_defconfig
> +++ b/configs/nvidia_bf3_defconfig
> @@ -1,4 +1,5 @@
>  BR2_aarch64=y
> +BR2_cortex_a78=y
>  BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_11=y
>  BR2_GLOBAL_PATCH_DIR="board/nvidia/bf3/patches"
>  BR2_DOWNLOAD_FORCE_CHECK_HASHES=y
> -- 
> 2.47.1
>
Julien Olivain Feb. 3, 2025, 11:56 a.m. UTC | #4
Hi Vincent,

On 03/02/2025 12:49, Vincent Jardin wrote:
> On Tue, Dec 31, 2024 at 07:53:46PM +0100, Julien Olivain wrote:
>> The nvidia BlueField-3 DPU includes Arm Cortex-A78 Hercules
>> processors. See [1].
>> 
>> The Cortex-A78 support was added in Buildroot in commit [2].
>> 
>> This commit adds BR2_cortex_a78=y in nvidia_bf3_defconfig to enable
>> optimisations for this processor.
>> 
>> [1] 
>> https://www.nvidia.com/en-us/networking/products/data-processing-unit/
>> [2] 
>> https://gitlab.com/buildroot.org/buildroot/-/commit/f4690c2bfd7d51c614d09ff470e725c795bab980
>> 
>> Cc: Vincent Jardin <vjardin@free.fr>
>> Signed-off-by: Julien Olivain <ju.o@free.fr>
> 
> Tested-by: Vincent Jardin <vjardin@free.fr>

Thank you for testing!  I applied this patch.

Best regards,

Julien.
diff mbox series

Patch

diff --git a/configs/nvidia_bf3_defconfig b/configs/nvidia_bf3_defconfig
index 3f958c0062..e44bb55a3a 100644
--- a/configs/nvidia_bf3_defconfig
+++ b/configs/nvidia_bf3_defconfig
@@ -1,4 +1,5 @@ 
 BR2_aarch64=y
+BR2_cortex_a78=y
 BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_11=y
 BR2_GLOBAL_PATCH_DIR="board/nvidia/bf3/patches"
 BR2_DOWNLOAD_FORCE_CHECK_HASHES=y