[dpdk-dev] [PATCH] mk: change TLS model for ARMv8 and DPAA machine

Jerin Jacob jerin.jacob at caviumnetworks.com
Sun Jun 10 13:07:03 CEST 2018


-----Original Message-----
> Date: Tue,  5 Jun 2018 12:03:45 +0530
> From: Hemant Agrawal <hemant.agrawal at nxp.com>
> To: dev at dpdk.org
> CC: Sachin Saxena <sachin.saxena at nxp.com>
> Subject: [dpdk-dev] [PATCH] mk: change TLS model for ARMv8 and DPAA machine
> X-Mailer: git-send-email 2.7.4
> 
> From: Sachin Saxena <sachin.saxena at nxp.com>
> 
> Random corruptions observed on ARM platfoms with using
> the dpdk library in shared mode with VPP software (plugin).
> 
> sing traditional TLS scheme resolved the issue.
> 
> Tested with VPP with DPDK as a plugin.
> 
> Signed-off-by: Sachin Saxena <sachin.saxena at nxp.com>
> ---
>  mk/machine/armv8a/rte.vars.mk | 3 +++
>  mk/machine/dpaa/rte.vars.mk   | 3 +++
>  mk/machine/dpaa2/rte.vars.mk  | 3 +++
>  3 files changed, 9 insertions(+)
> 
> diff --git a/mk/machine/armv8a/rte.vars.mk b/mk/machine/armv8a/rte.vars.mk
> index 8252efb..6897cd6 100644
> --- a/mk/machine/armv8a/rte.vars.mk
> +++ b/mk/machine/armv8a/rte.vars.mk
> @@ -29,3 +29,6 @@
>  # CPU_ASFLAGS =
>  
>  MACHINE_CFLAGS += -march=armv8-a+crc+crypto
> +
> +# To avoid TLS corruption issue.
> +MACHINE_CFLAGS += -mtls-dialect=trad

This issue is not reproducible on Cavium ARMv8 platforms. Just wondering,
Do we need to change default ARMv8 config?

The GNU (descriptor) dialect for TLS is the default has been
since for a while on aarch64.

I think, it will be mostly a glibc issue with your SDK based toolchain.
Are you able to reproduce this issue with Linaro toolchain + standard
OS distribution environments? if so, could you please share more
details.

I am only concerned about, any performance issue with traditional tls
dialect model vs descriptor dialect.

I think, we have two options,
1) If you can identify if it is due a specific glibc version then we
could detect at runtime
2) In a worst case, it can be a conditional compilation option.

/Jerin



More information about the dev mailing list