-----Original Message-----
> Date: Thu, 14 Jun 2018 06:42:40 +0000
> From: Sachin Saxena <sachin.sax...@nxp.com>
> To: Jerin Jacob <jerin.ja...@caviumnetworks.com>
> CC: Hemant Agrawal <hemant.agra...@nxp.com>, "dev@dpdk.org" <dev@dpdk.org>,
>  "nitin.sax...@cavium.com" <nitin.sax...@cavium.com>,
>  "narayanaprasad.athr...@cavium.com" <narayanaprasad.athr...@cavium.com>
> Subject: RE: [dpdk-dev] [PATCH] mk: change TLS model for ARMv8 and DPAA
>  machine
> 
> 
> > -----Original Message-----
> > From: Jerin Jacob [mailto:jerin.ja...@caviumnetworks.com]
> > Sent: Monday, June 11, 2018 1:15 PM
> > To: Sachin Saxena <sachin.sax...@nxp.com>
> > Cc: Hemant Agrawal <hemant.agra...@nxp.com>; dev@dpdk.org;
> > nitin.sax...@cavium.com; narayanaprasad.athr...@cavium.com
> > Subject: Re: [dpdk-dev] [PATCH] mk: change TLS model for ARMv8 and DPAA
> > machine
> >
> 
> [....]
> 
> > > > > Signed-off-by: Sachin Saxena <sachin.sax...@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?
> > > [Sachin Saxena]  The issue is currently visible On NXP platforms with VPP-
> > dpdk solution only. Similar behavior like random crashes or initialization
> > failures have been seen by Cavium guys on VPP but they are still
> > investigating whether the issues are related to TLS corruption.
> >
> > I checked with Cavium-VPP team. According to them, they are not facing any
> > issue related to TLS
> >
> [Sachin Saxena] Some more information. - The issue is appearing on NXP ARM 
> platforms as DPDK drivers are also using __thread TLS variables. If the total 
> number of TLS variables (main application + dpdk shared Lib) increases beyond 
> Static TLS Size limit, one will start facing issue like Corruption in TLS 
> variable values.

OK. Then it is generic problem. Any information on what is the limit of
number of __thread variable ? Is it possible to increase that limit by gcc 
command line arguments?
You may not have answers for this, but, could you ask in Linaro/gcc mailing 
list.

If it is fixed in some specific gcc/glibc version and applying blindly to
all GCC versions is not good IMO.

Reply via email to