DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] event/octeontx: add event timer adapter driver
@ 2018-04-22 16:03 Ali Alnubani
  2018-04-23  8:44 ` Pavan Nikhilesh
  0 siblings, 1 reply; 6+ messages in thread
From: Ali Alnubani @ 2018-04-22 16:03 UTC (permalink / raw)
  To: 'pbhagavatula@caviumnetworks.com'
  Cc: 'dev@dpdk.org', 'users@dpdk.org',
	Thomas Monjalon, Shahaf Shuler, Raslan Darawsheh

Hi Pavan,

The patchset http://dpdk.org/ml/archives/dev/2018-April/094928.html is causing a compilation error on QUALCOMM ARM with RHEL7.5 and gcc version 4.8.5:

"""
/download/dpdk-next-net-mlx/drivers/event/octeontx/timvf_worker.c: In function 'timvf_timer_arm_burst_sp':
/download/dpdk-next-net-mlx/drivers/event/octeontx/timvf_worker.c:89:1: error: could not split insn
}
^
(insn 95 98 99 (parallel [
            (set (reg:DI 0 x0 [orig:98 D.8130 ] [98])
                (mem/v:DI (reg/f:DI 21 x21 [orig:88 D.8136 ] [88]) [-1  S8 A64]))
            (set (mem/v:DI (reg/f:DI 21 x21 [orig:88 D.8136 ] [88]) [-1  S8 A64])
                (unspec_volatile:DI [
                        (plus:DI (mem/v:DI (reg/f:DI 21 x21 [orig:88 D.8136 ] [88]) [-1  S8 A64])
                            (const_int -281474976710656 [0xffff000000000000]))
                        (const_int 0 [0])
                    ] UNSPECV_ATOMIC_OP))
            (clobber (reg:CC 66 cc))
            (clobber (reg:DI 1 x1))
            (clobber (reg:SI 2 x2))
        ]) /download/dpdk-next-net-mlx/drivers/event/octeontx/timvf_worker.h:95 1832 {atomic_fetch_adddi}
     (expr_list:REG_UNUSED (reg:CC 66 cc)
        (expr_list:REG_UNUSED (reg:SI 2 x2)
            (expr_list:REG_UNUSED (reg:DI 1 x1)
                (nil)))))
/download/dpdk-next-net-mlx/drivers/event/octeontx/timvf_worker.c:89:1: internal compiler error: in final_scan_insn, at final.c:2897
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://bugzilla.redhat.com/bugzilla> for instructions.
  PMDINFO opdl_evdev.o.pmd.c
  CC opdl_evdev.o.pmd.o
  LD opdl_evdev.o
  PMDINFO sw_evdev.o.pmd.c
  CC sw_evdev.o.pmd.o
  LD sw_evdev.o
Preprocessed source stored into /tmp/ccmqxmH7.out file, please attach this to your bugreport.
make[6]: *** [timvf_worker.o] Error 1
make[5]: *** [octeontx] Error 2
make[5]: *** Waiting for unfinished jobs....
  AR librte_pmd_opdl_event.a
  INSTALL-LIB librte_pmd_opdl_event.a
  AR librte_pmd_sw_event.a
  INSTALL-LIB librte_pmd_sw_event.a
make[4]: *** [event] Error 2
make[3]: *** [drivers] Error 2
make[2]: *** [all] Error 2
make[1]: *** [pre_install] Error 2
make: *** [install] Error
"""

The compilation only passes with CONFIG_RTE_LIBRTE_OCTEONTX_PMD, CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF and CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL set to false.
It also passes if I upgrade gcc, but can we have a fix for old gcc versions?

Thanks,
Ali

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-dev] event/octeontx: add event timer adapter driver
  2018-04-22 16:03 [dpdk-dev] event/octeontx: add event timer adapter driver Ali Alnubani
@ 2018-04-23  8:44 ` Pavan Nikhilesh
  2018-05-06 13:17   ` Shahaf Shuler
  0 siblings, 1 reply; 6+ messages in thread
From: Pavan Nikhilesh @ 2018-04-23  8:44 UTC (permalink / raw)
  To: Ali Alnubani, Thomas Monjalon, Shahaf Shuler, Raslan Darawsheh,
	jerin.jacob
  Cc: dev

Hi Ali,

Looks like a compiler bug rather than code issue, I have verified this on x86
with gcc 4.8.5 and don't see an issue.

Looking around I found that compiling with -O1 on aarch64 gcc 4.8.5 seems to
fix the compiler bug.

Thanks,
Pavan.

On Sun, Apr 22, 2018 at 04:03:36PM +0000, Ali Alnubani wrote:
> Hi Pavan,
>
> The patchset http://dpdk.org/ml/archives/dev/2018-April/094928.html is causing a compilation error on QUALCOMM ARM with RHEL7.5 and gcc version 4.8.5:
>
> """
> /download/dpdk-next-net-mlx/drivers/event/octeontx/timvf_worker.c: In function 'timvf_timer_arm_burst_sp':
> /download/dpdk-next-net-mlx/drivers/event/octeontx/timvf_worker.c:89:1: error: could not split insn
> }
> ^
> (insn 95 98 99 (parallel [
>             (set (reg:DI 0 x0 [orig:98 D.8130 ] [98])
>                 (mem/v:DI (reg/f:DI 21 x21 [orig:88 D.8136 ] [88]) [-1  S8 A64]))
>             (set (mem/v:DI (reg/f:DI 21 x21 [orig:88 D.8136 ] [88]) [-1  S8 A64])
>                 (unspec_volatile:DI [
>                         (plus:DI (mem/v:DI (reg/f:DI 21 x21 [orig:88 D.8136 ] [88]) [-1  S8 A64])
>                             (const_int -281474976710656 [0xffff000000000000]))
>                         (const_int 0 [0])
>                     ] UNSPECV_ATOMIC_OP))
>             (clobber (reg:CC 66 cc))
>             (clobber (reg:DI 1 x1))
>             (clobber (reg:SI 2 x2))
>         ]) /download/dpdk-next-net-mlx/drivers/event/octeontx/timvf_worker.h:95 1832 {atomic_fetch_adddi}
>      (expr_list:REG_UNUSED (reg:CC 66 cc)
>         (expr_list:REG_UNUSED (reg:SI 2 x2)
>             (expr_list:REG_UNUSED (reg:DI 1 x1)
>                 (nil)))))
> /download/dpdk-next-net-mlx/drivers/event/octeontx/timvf_worker.c:89:1: internal compiler error: in final_scan_insn, at final.c:2897
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See <http://bugzilla.redhat.com/bugzilla> for instructions.
>   PMDINFO opdl_evdev.o.pmd.c
>   CC opdl_evdev.o.pmd.o
>   LD opdl_evdev.o
>   PMDINFO sw_evdev.o.pmd.c
>   CC sw_evdev.o.pmd.o
>   LD sw_evdev.o
> Preprocessed source stored into /tmp/ccmqxmH7.out file, please attach this to your bugreport.
> make[6]: *** [timvf_worker.o] Error 1
> make[5]: *** [octeontx] Error 2
> make[5]: *** Waiting for unfinished jobs....
>   AR librte_pmd_opdl_event.a
>   INSTALL-LIB librte_pmd_opdl_event.a
>   AR librte_pmd_sw_event.a
>   INSTALL-LIB librte_pmd_sw_event.a
> make[4]: *** [event] Error 2
> make[3]: *** [drivers] Error 2
> make[2]: *** [all] Error 2
> make[1]: *** [pre_install] Error 2
> make: *** [install] Error
> """
>
> The compilation only passes with CONFIG_RTE_LIBRTE_OCTEONTX_PMD, CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF and CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL set to false.
> It also passes if I upgrade gcc, but can we have a fix for old gcc versions?
>
> Thanks,
> Ali

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-dev] event/octeontx: add event timer adapter driver
  2018-04-23  8:44 ` Pavan Nikhilesh
@ 2018-05-06 13:17   ` Shahaf Shuler
  2018-05-06 13:33     ` Jerin Jacob
  0 siblings, 1 reply; 6+ messages in thread
From: Shahaf Shuler @ 2018-05-06 13:17 UTC (permalink / raw)
  To: Pavan Nikhilesh, Ali Alnubani, Thomas Monjalon, Raslan Darawsheh,
	jerin.jacob
  Cc: dev

Monday, April 23, 2018 11:45 AM, Pavan Nikhilesh:
> Subject: Re: event/octeontx: add event timer adapter driver
> 
> Hi Ali,
> 
> Looks like a compiler bug rather than code issue, I have verified this on x86
> with gcc 4.8.5 and don't see an issue.
> 
> Looking around I found that compiling with -O1 on aarch64 gcc 4.8.5 seems to
> fix the compiler bug.

Even if compiler bug, can we W.A in the PMD code? Surely you want your PMD to be compiled in most/all inbox gcc compilers. 

Here is even more problematic since it means DPDK doesn't compile natively on aarch with RH7.5. not sure how octeontx PMD can be enabled by default with such case. 


> 
> Thanks,
> Pavan.
> 
> On Sun, Apr 22, 2018 at 04:03:36PM +0000, Ali Alnubani wrote:
> > Hi Pavan,
> >
> > The patchset
> https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdpd
> k.org%2Fml%2Farchives%2Fdev%2F2018-
> April%2F094928.html&data=02%7C01%7Cshahafs%40mellanox.com%7C0829
> 941a97144eed811508d5a8f680c8%7Ca652971c7d2e4d9ba6a4d149256f461b%7
> C0%7C0%7C636600699041780885&sdata=hyAPljSPsY5PY2Had7vNwF5JX1zC0T
> i8WLEZr1lzhwo%3D&reserved=0 is causing a compilation error on
> QUALCOMM ARM with RHEL7.5 and gcc version 4.8.5:
> >
> > """
> > /download/dpdk-next-net-mlx/drivers/event/octeontx/timvf_worker.c:
> In function 'timvf_timer_arm_burst_sp':
> > /download/dpdk-next-net-
> mlx/drivers/event/octeontx/timvf_worker.c:89:1
> > : error: could not split insn } ^ (insn 95 98 99 (parallel [
> >             (set (reg:DI 0 x0 [orig:98 D.8130 ] [98])
> >                 (mem/v:DI (reg/f:DI 21 x21 [orig:88 D.8136 ] [88]) [-1  S8 A64]))
> >             (set (mem/v:DI (reg/f:DI 21 x21 [orig:88 D.8136 ] [88]) [-1  S8 A64])
> >                 (unspec_volatile:DI [
> >                         (plus:DI (mem/v:DI (reg/f:DI 21 x21 [orig:88 D.8136 ] [88]) [-1  S8
> A64])
> >                             (const_int -281474976710656 [0xffff000000000000]))
> >                         (const_int 0 [0])
> >                     ] UNSPECV_ATOMIC_OP))
> >             (clobber (reg:CC 66 cc))
> >             (clobber (reg:DI 1 x1))
> >             (clobber (reg:SI 2 x2))
> >         ]) /download/dpdk-next-net-
> mlx/drivers/event/octeontx/timvf_worker.h:95 1832 {atomic_fetch_adddi}
> >      (expr_list:REG_UNUSED (reg:CC 66 cc)
> >         (expr_list:REG_UNUSED (reg:SI 2 x2)
> >             (expr_list:REG_UNUSED (reg:DI 1 x1)
> >                 (nil)))))
> > /download/dpdk-next-net-
> mlx/drivers/event/octeontx/timvf_worker.c:89:1
> > : internal compiler error: in final_scan_insn, at final.c:2897 Please
> > submit a full bug report, with preprocessed source if appropriate.
> > See
> <https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fbu
> gzilla.redhat.com%2Fbugzilla&data=02%7C01%7Cshahafs%40mellanox.com%
> 7C0829941a97144eed811508d5a8f680c8%7Ca652971c7d2e4d9ba6a4d149256f
> 461b%7C0%7C0%7C636600699041780885&sdata=bPZVI%2BkCTkDrHmUscl%2
> FqJyuwe%2BmZw795yiAvoUX%2BPE8%3D&reserved=0> for instructions.
> >   PMDINFO opdl_evdev.o.pmd.c
> >   CC opdl_evdev.o.pmd.o
> >   LD opdl_evdev.o
> >   PMDINFO sw_evdev.o.pmd.c
> >   CC sw_evdev.o.pmd.o
> >   LD sw_evdev.o
> > Preprocessed source stored into /tmp/ccmqxmH7.out file, please attach
> this to your bugreport.
> > make[6]: *** [timvf_worker.o] Error 1
> > make[5]: *** [octeontx] Error 2
> > make[5]: *** Waiting for unfinished jobs....
> >   AR librte_pmd_opdl_event.a
> >   INSTALL-LIB librte_pmd_opdl_event.a
> >   AR librte_pmd_sw_event.a
> >   INSTALL-LIB librte_pmd_sw_event.a
> > make[4]: *** [event] Error 2
> > make[3]: *** [drivers] Error 2
> > make[2]: *** [all] Error 2
> > make[1]: *** [pre_install] Error 2
> > make: *** [install] Error
> > """
> >
> > The compilation only passes with CONFIG_RTE_LIBRTE_OCTEONTX_PMD,
> CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF and
> CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL set to false.
> > It also passes if I upgrade gcc, but can we have a fix for old gcc versions?
> >
> > Thanks,
> > Ali

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-dev] event/octeontx: add event timer adapter driver
  2018-05-06 13:17   ` Shahaf Shuler
@ 2018-05-06 13:33     ` Jerin Jacob
  2018-05-07  5:30       ` Shahaf Shuler
  0 siblings, 1 reply; 6+ messages in thread
From: Jerin Jacob @ 2018-05-06 13:33 UTC (permalink / raw)
  To: Shahaf Shuler
  Cc: Pavan Nikhilesh, Ali Alnubani, Thomas Monjalon, Raslan Darawsheh, dev

-----Original Message-----
> Date: Sun, 6 May 2018 13:17:55 +0000
> From: Shahaf Shuler <shahafs@mellanox.com>
> To: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>, Ali Alnubani
>  <alialnu@mellanox.com>, Thomas Monjalon <thomas@monjalon.net>, Raslan
>  Darawsheh <rasland@mellanox.com>, "jerin.jacob@caviumnetworks.com"
>  <jerin.jacob@caviumnetworks.com>
> CC: "dev@dpdk.org" <dev@dpdk.org>
> Subject: RE: event/octeontx: add event timer adapter driver
> 
> Monday, April 23, 2018 11:45 AM, Pavan Nikhilesh:
> > Subject: Re: event/octeontx: add event timer adapter driver
> > 
> > Hi Ali,
> > 
> > Looks like a compiler bug rather than code issue, I have verified this on x86
> > with gcc 4.8.5 and don't see an issue.
> > 
> > Looking around I found that compiling with -O1 on aarch64 gcc 4.8.5 seems to
> > fix the compiler bug.
> 
> Even if compiler bug, can we W.A in the PMD code? Surely you want your PMD to be compiled in most/all inbox gcc compilers. 
> 
> Here is even more problematic since it means DPDK doesn't compile natively on aarch with RH7.5. not sure how octeontx PMD can be enabled by default with such case. 


One option could be disable the specific driver for specific GCC
version IF GCC VERSION IS BUGGY instead of disabling.

For arm64 being relativity new architecture, support for OLD compilers
are not that good NOR really in use.

> 
> 
> > 
> > Thanks,
> > Pavan.
> > 
> > On Sun, Apr 22, 2018 at 04:03:36PM +0000, Ali Alnubani wrote:
> > > Hi Pavan,
> > >
> > > The patchset
> > https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdpd
> > k.org%2Fml%2Farchives%2Fdev%2F2018-
> > April%2F094928.html&data=02%7C01%7Cshahafs%40mellanox.com%7C0829
> > 941a97144eed811508d5a8f680c8%7Ca652971c7d2e4d9ba6a4d149256f461b%7
> > C0%7C0%7C636600699041780885&sdata=hyAPljSPsY5PY2Had7vNwF5JX1zC0T
> > i8WLEZr1lzhwo%3D&reserved=0 is causing a compilation error on
> > QUALCOMM ARM with RHEL7.5 and gcc version 4.8.5:
> > >
> > > """
> > > /download/dpdk-next-net-mlx/drivers/event/octeontx/timvf_worker.c:
> > In function 'timvf_timer_arm_burst_sp':
> > > /download/dpdk-next-net-
> > mlx/drivers/event/octeontx/timvf_worker.c:89:1
> > > : error: could not split insn } ^ (insn 95 98 99 (parallel [
> > >             (set (reg:DI 0 x0 [orig:98 D.8130 ] [98])
> > >                 (mem/v:DI (reg/f:DI 21 x21 [orig:88 D.8136 ] [88]) [-1  S8 A64]))
> > >             (set (mem/v:DI (reg/f:DI 21 x21 [orig:88 D.8136 ] [88]) [-1  S8 A64])
> > >                 (unspec_volatile:DI [
> > >                         (plus:DI (mem/v:DI (reg/f:DI 21 x21 [orig:88 D.8136 ] [88]) [-1  S8
> > A64])
> > >                             (const_int -281474976710656 [0xffff000000000000]))
> > >                         (const_int 0 [0])
> > >                     ] UNSPECV_ATOMIC_OP))
> > >             (clobber (reg:CC 66 cc))
> > >             (clobber (reg:DI 1 x1))
> > >             (clobber (reg:SI 2 x2))
> > >         ]) /download/dpdk-next-net-
> > mlx/drivers/event/octeontx/timvf_worker.h:95 1832 {atomic_fetch_adddi}
> > >      (expr_list:REG_UNUSED (reg:CC 66 cc)
> > >         (expr_list:REG_UNUSED (reg:SI 2 x2)
> > >             (expr_list:REG_UNUSED (reg:DI 1 x1)
> > >                 (nil)))))
> > > /download/dpdk-next-net-
> > mlx/drivers/event/octeontx/timvf_worker.c:89:1
> > > : internal compiler error: in final_scan_insn, at final.c:2897 Please
> > > submit a full bug report, with preprocessed source if appropriate.
> > > See
> > <https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fbu
> > gzilla.redhat.com%2Fbugzilla&data=02%7C01%7Cshahafs%40mellanox.com%
> > 7C0829941a97144eed811508d5a8f680c8%7Ca652971c7d2e4d9ba6a4d149256f
> > 461b%7C0%7C0%7C636600699041780885&sdata=bPZVI%2BkCTkDrHmUscl%2
> > FqJyuwe%2BmZw795yiAvoUX%2BPE8%3D&reserved=0> for instructions.
> > >   PMDINFO opdl_evdev.o.pmd.c
> > >   CC opdl_evdev.o.pmd.o
> > >   LD opdl_evdev.o
> > >   PMDINFO sw_evdev.o.pmd.c
> > >   CC sw_evdev.o.pmd.o
> > >   LD sw_evdev.o
> > > Preprocessed source stored into /tmp/ccmqxmH7.out file, please attach
> > this to your bugreport.
> > > make[6]: *** [timvf_worker.o] Error 1
> > > make[5]: *** [octeontx] Error 2
> > > make[5]: *** Waiting for unfinished jobs....
> > >   AR librte_pmd_opdl_event.a
> > >   INSTALL-LIB librte_pmd_opdl_event.a
> > >   AR librte_pmd_sw_event.a
> > >   INSTALL-LIB librte_pmd_sw_event.a
> > > make[4]: *** [event] Error 2
> > > make[3]: *** [drivers] Error 2
> > > make[2]: *** [all] Error 2
> > > make[1]: *** [pre_install] Error 2
> > > make: *** [install] Error
> > > """
> > >
> > > The compilation only passes with CONFIG_RTE_LIBRTE_OCTEONTX_PMD,
> > CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF and
> > CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL set to false.
> > > It also passes if I upgrade gcc, but can we have a fix for old gcc versions?
> > >
> > > Thanks,
> > > Ali
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-dev] event/octeontx: add event timer adapter driver
  2018-05-06 13:33     ` Jerin Jacob
@ 2018-05-07  5:30       ` Shahaf Shuler
  2018-05-07  5:49         ` Jerin Jacob
  0 siblings, 1 reply; 6+ messages in thread
From: Shahaf Shuler @ 2018-05-07  5:30 UTC (permalink / raw)
  To: Jerin Jacob
  Cc: Pavan Nikhilesh, Ali Alnubani, Thomas Monjalon, Raslan Darawsheh, dev

Sunday, May 6, 2018 4:33 PM, Jerin Jacob:
> Subject: Re: event/octeontx: add event timer adapter driver
> 
> -----Original Message-----
> > Date: Sun, 6 May 2018 13:17:55 +0000
> > From: Shahaf Shuler <shahafs@mellanox.com>
> > To: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>, Ali Alnubani
> > <alialnu@mellanox.com>, Thomas Monjalon <thomas@monjalon.net>,
> Raslan
> > Darawsheh <rasland@mellanox.com>, "jerin.jacob@caviumnetworks.com"
> >  <jerin.jacob@caviumnetworks.com>
> > CC: "dev@dpdk.org" <dev@dpdk.org>
> > Subject: RE: event/octeontx: add event timer adapter driver
> >
> > Monday, April 23, 2018 11:45 AM, Pavan Nikhilesh:
> > > Subject: Re: event/octeontx: add event timer adapter driver
> > >
> > > Hi Ali,
> > >
> > > Looks like a compiler bug rather than code issue, I have verified
> > > this on x86 with gcc 4.8.5 and don't see an issue.
> > >
> > > Looking around I found that compiling with -O1 on aarch64 gcc 4.8.5
> > > seems to fix the compiler bug.
> >
> > Even if compiler bug, can we W.A in the PMD code? Surely you want your
> PMD to be compiled in most/all inbox gcc compilers.
> >
> > Here is even more problematic since it means DPDK doesn't compile
> natively on aarch with RH7.5. not sure how octeontx PMD can be enabled by
> default with such case.
> 
> 
> One option could be disable the specific driver for specific GCC version IF GCC
> VERSION IS BUGGY instead of disabling.

Yes this is yet another option. 

> 
> For arm64 being relativity new architecture, support for OLD compilers are
> not that good NOR really in use.

Well there are. Customer installing "new" OS (RH7.5) on his arm server will currently not be able to compile DPDK.


> 
> >
> >
> > >
> > > Thanks,
> > > Pavan.
> > >
> > > On Sun, Apr 22, 2018 at 04:03:36PM +0000, Ali Alnubani wrote:
> > > > Hi Pavan,
> > > >
> > > > The patchset
> > >
> https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdp
> > > d
> > > k.org%2Fml%2Farchives%2Fdev%2F2018-
> > >
> April%2F094928.html&data=02%7C01%7Cshahafs%40mellanox.com%7C0829
> > >
> 941a97144eed811508d5a8f680c8%7Ca652971c7d2e4d9ba6a4d149256f461b%7
> > >
> C0%7C0%7C636600699041780885&sdata=hyAPljSPsY5PY2Had7vNwF5JX1zC0T
> > > i8WLEZr1lzhwo%3D&reserved=0 is causing a compilation error on
> > > QUALCOMM ARM with RHEL7.5 and gcc version 4.8.5:
> > > >
> > > > """
> > > > /download/dpdk-next-net-
> mlx/drivers/event/octeontx/timvf_worker.c:
> > > In function 'timvf_timer_arm_burst_sp':
> > > > /download/dpdk-next-net-
> > > mlx/drivers/event/octeontx/timvf_worker.c:89:1
> > > > : error: could not split insn } ^ (insn 95 98 99 (parallel [
> > > >             (set (reg:DI 0 x0 [orig:98 D.8130 ] [98])
> > > >                 (mem/v:DI (reg/f:DI 21 x21 [orig:88 D.8136 ] [88]) [-1  S8 A64]))
> > > >             (set (mem/v:DI (reg/f:DI 21 x21 [orig:88 D.8136 ] [88]) [-1  S8 A64])
> > > >                 (unspec_volatile:DI [
> > > >                         (plus:DI (mem/v:DI (reg/f:DI 21 x21
> > > > [orig:88 D.8136 ] [88]) [-1  S8
> > > A64])
> > > >                             (const_int -281474976710656 [0xffff000000000000]))
> > > >                         (const_int 0 [0])
> > > >                     ] UNSPECV_ATOMIC_OP))
> > > >             (clobber (reg:CC 66 cc))
> > > >             (clobber (reg:DI 1 x1))
> > > >             (clobber (reg:SI 2 x2))
> > > >         ]) /download/dpdk-next-net-
> > > mlx/drivers/event/octeontx/timvf_worker.h:95 1832
> > > {atomic_fetch_adddi}
> > > >      (expr_list:REG_UNUSED (reg:CC 66 cc)
> > > >         (expr_list:REG_UNUSED (reg:SI 2 x2)
> > > >             (expr_list:REG_UNUSED (reg:DI 1 x1)
> > > >                 (nil)))))
> > > > /download/dpdk-next-net-
> > > mlx/drivers/event/octeontx/timvf_worker.c:89:1
> > > > : internal compiler error: in final_scan_insn, at final.c:2897
> > > > Please submit a full bug report, with preprocessed source if
> appropriate.
> > > > See
> > >
> <https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fb
> > > u
> > >
> gzilla.redhat.com%2Fbugzilla&data=02%7C01%7Cshahafs%40mellanox.com%
> > >
> 7C0829941a97144eed811508d5a8f680c8%7Ca652971c7d2e4d9ba6a4d149256f
> > >
> 461b%7C0%7C0%7C636600699041780885&sdata=bPZVI%2BkCTkDrHmUscl%2
> > > FqJyuwe%2BmZw795yiAvoUX%2BPE8%3D&reserved=0> for instructions.
> > > >   PMDINFO opdl_evdev.o.pmd.c
> > > >   CC opdl_evdev.o.pmd.o
> > > >   LD opdl_evdev.o
> > > >   PMDINFO sw_evdev.o.pmd.c
> > > >   CC sw_evdev.o.pmd.o
> > > >   LD sw_evdev.o
> > > > Preprocessed source stored into /tmp/ccmqxmH7.out file, please
> > > > attach
> > > this to your bugreport.
> > > > make[6]: *** [timvf_worker.o] Error 1
> > > > make[5]: *** [octeontx] Error 2
> > > > make[5]: *** Waiting for unfinished jobs....
> > > >   AR librte_pmd_opdl_event.a
> > > >   INSTALL-LIB librte_pmd_opdl_event.a
> > > >   AR librte_pmd_sw_event.a
> > > >   INSTALL-LIB librte_pmd_sw_event.a
> > > > make[4]: *** [event] Error 2
> > > > make[3]: *** [drivers] Error 2
> > > > make[2]: *** [all] Error 2
> > > > make[1]: *** [pre_install] Error 2
> > > > make: *** [install] Error
> > > > """
> > > >
> > > > The compilation only passes with
> CONFIG_RTE_LIBRTE_OCTEONTX_PMD,
> > > CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF and
> > > CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL set to false.
> > > > It also passes if I upgrade gcc, but can we have a fix for old gcc versions?
> > > >
> > > > Thanks,
> > > > Ali
> >

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-dev] event/octeontx: add event timer adapter driver
  2018-05-07  5:30       ` Shahaf Shuler
@ 2018-05-07  5:49         ` Jerin Jacob
  0 siblings, 0 replies; 6+ messages in thread
From: Jerin Jacob @ 2018-05-07  5:49 UTC (permalink / raw)
  To: Shahaf Shuler
  Cc: Pavan Nikhilesh, Ali Alnubani, Thomas Monjalon, Raslan Darawsheh, dev

-----Original Message-----
> Date: Mon, 7 May 2018 05:30:56 +0000
> From: Shahaf Shuler <shahafs@mellanox.com>
> To: Jerin Jacob <jerin.jacob@caviumnetworks.com>
> CC: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>, Ali Alnubani
>  <alialnu@mellanox.com>, Thomas Monjalon <thomas@monjalon.net>, Raslan
>  Darawsheh <rasland@mellanox.com>, "dev@dpdk.org" <dev@dpdk.org>
> Subject: RE: event/octeontx: add event timer adapter driver
> 
> Sunday, May 6, 2018 4:33 PM, Jerin Jacob:
> > Subject: Re: event/octeontx: add event timer adapter driver
> > 
> > -----Original Message-----
> > > Date: Sun, 6 May 2018 13:17:55 +0000
> > > From: Shahaf Shuler <shahafs@mellanox.com>
> > > To: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>, Ali Alnubani
> > > <alialnu@mellanox.com>, Thomas Monjalon <thomas@monjalon.net>,
> > Raslan
> > > Darawsheh <rasland@mellanox.com>, "jerin.jacob@caviumnetworks.com"
> > >  <jerin.jacob@caviumnetworks.com>
> > > CC: "dev@dpdk.org" <dev@dpdk.org>
> > > Subject: RE: event/octeontx: add event timer adapter driver
> > >
> > > Monday, April 23, 2018 11:45 AM, Pavan Nikhilesh:
> > > > Subject: Re: event/octeontx: add event timer adapter driver
> > > >
> > > > Hi Ali,
> > > >
> > > > Looks like a compiler bug rather than code issue, I have verified
> > > > this on x86 with gcc 4.8.5 and don't see an issue.
> > > >
> > > > Looking around I found that compiling with -O1 on aarch64 gcc 4.8.5
> > > > seems to fix the compiler bug.
> > >
> > > Even if compiler bug, can we W.A in the PMD code? Surely you want your
> > PMD to be compiled in most/all inbox gcc compilers.
> > >
> > > Here is even more problematic since it means DPDK doesn't compile
> > natively on aarch with RH7.5. not sure how octeontx PMD can be enabled by
> > default with such case.
> > 
> > 
> > One option could be disable the specific driver for specific GCC version IF GCC
> > VERSION IS BUGGY instead of disabling.
> 
> Yes this is yet another option. 
> 
> > 
> > For arm64 being relativity new architecture, support for OLD compilers are
> > not that good NOR really in use.
> 
> Well there are. Customer installing "new" OS (RH7.5) on his arm server will currently not be able to compile DPDK.

We will disable the PMD for gcc 4.8.5(as compiler is emitting "internal
compiler error" for aarm64). In the new OS(RH 7.5), we can always upgrade the compiler.
Looks like gcc 4.8 where the first port of arm64 is introduced.
https://gcc.gnu.org/gcc-4.8/changes.html

> 
> 
> > 
> > >
> > >
> > > >
> > > > Thanks,
> > > > Pavan.
> > > >
> > > > On Sun, Apr 22, 2018 at 04:03:36PM +0000, Ali Alnubani wrote:
> > > > > Hi Pavan,
> > > > >
> > > > > The patchset
> > > >
> > https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdp
> > > > d
> > > > k.org%2Fml%2Farchives%2Fdev%2F2018-
> > > >
> > April%2F094928.html&data=02%7C01%7Cshahafs%40mellanox.com%7C0829
> > > >
> > 941a97144eed811508d5a8f680c8%7Ca652971c7d2e4d9ba6a4d149256f461b%7
> > > >
> > C0%7C0%7C636600699041780885&sdata=hyAPljSPsY5PY2Had7vNwF5JX1zC0T
> > > > i8WLEZr1lzhwo%3D&reserved=0 is causing a compilation error on
> > > > QUALCOMM ARM with RHEL7.5 and gcc version 4.8.5:
> > > > >
> > > > > """
> > > > > /download/dpdk-next-net-
> > mlx/drivers/event/octeontx/timvf_worker.c:
> > > > In function 'timvf_timer_arm_burst_sp':
> > > > > /download/dpdk-next-net-
> > > > mlx/drivers/event/octeontx/timvf_worker.c:89:1
> > > > > : error: could not split insn } ^ (insn 95 98 99 (parallel [
> > > > >             (set (reg:DI 0 x0 [orig:98 D.8130 ] [98])
> > > > >                 (mem/v:DI (reg/f:DI 21 x21 [orig:88 D.8136 ] [88]) [-1  S8 A64]))
> > > > >             (set (mem/v:DI (reg/f:DI 21 x21 [orig:88 D.8136 ] [88]) [-1  S8 A64])
> > > > >                 (unspec_volatile:DI [
> > > > >                         (plus:DI (mem/v:DI (reg/f:DI 21 x21
> > > > > [orig:88 D.8136 ] [88]) [-1  S8
> > > > A64])
> > > > >                             (const_int -281474976710656 [0xffff000000000000]))
> > > > >                         (const_int 0 [0])
> > > > >                     ] UNSPECV_ATOMIC_OP))
> > > > >             (clobber (reg:CC 66 cc))
> > > > >             (clobber (reg:DI 1 x1))
> > > > >             (clobber (reg:SI 2 x2))
> > > > >         ]) /download/dpdk-next-net-
> > > > mlx/drivers/event/octeontx/timvf_worker.h:95 1832
> > > > {atomic_fetch_adddi}
> > > > >      (expr_list:REG_UNUSED (reg:CC 66 cc)
> > > > >         (expr_list:REG_UNUSED (reg:SI 2 x2)
> > > > >             (expr_list:REG_UNUSED (reg:DI 1 x1)
> > > > >                 (nil)))))
> > > > > /download/dpdk-next-net-
> > > > mlx/drivers/event/octeontx/timvf_worker.c:89:1
> > > > > : internal compiler error: in final_scan_insn, at final.c:2897
> > > > > Please submit a full bug report, with preprocessed source if
> > appropriate.
> > > > > See
> > > >
> > <https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fb
> > > > u
> > > >
> > gzilla.redhat.com%2Fbugzilla&data=02%7C01%7Cshahafs%40mellanox.com%
> > > >
> > 7C0829941a97144eed811508d5a8f680c8%7Ca652971c7d2e4d9ba6a4d149256f
> > > >
> > 461b%7C0%7C0%7C636600699041780885&sdata=bPZVI%2BkCTkDrHmUscl%2
> > > > FqJyuwe%2BmZw795yiAvoUX%2BPE8%3D&reserved=0> for instructions.
> > > > >   PMDINFO opdl_evdev.o.pmd.c
> > > > >   CC opdl_evdev.o.pmd.o
> > > > >   LD opdl_evdev.o
> > > > >   PMDINFO sw_evdev.o.pmd.c
> > > > >   CC sw_evdev.o.pmd.o
> > > > >   LD sw_evdev.o
> > > > > Preprocessed source stored into /tmp/ccmqxmH7.out file, please
> > > > > attach
> > > > this to your bugreport.
> > > > > make[6]: *** [timvf_worker.o] Error 1
> > > > > make[5]: *** [octeontx] Error 2
> > > > > make[5]: *** Waiting for unfinished jobs....
> > > > >   AR librte_pmd_opdl_event.a
> > > > >   INSTALL-LIB librte_pmd_opdl_event.a
> > > > >   AR librte_pmd_sw_event.a
> > > > >   INSTALL-LIB librte_pmd_sw_event.a
> > > > > make[4]: *** [event] Error 2
> > > > > make[3]: *** [drivers] Error 2
> > > > > make[2]: *** [all] Error 2
> > > > > make[1]: *** [pre_install] Error 2
> > > > > make: *** [install] Error
> > > > > """
> > > > >
> > > > > The compilation only passes with
> > CONFIG_RTE_LIBRTE_OCTEONTX_PMD,
> > > > CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF and
> > > > CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL set to false.
> > > > > It also passes if I upgrade gcc, but can we have a fix for old gcc versions?
> > > > >
> > > > > Thanks,
> > > > > Ali
> > >

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-05-07  5:50 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-22 16:03 [dpdk-dev] event/octeontx: add event timer adapter driver Ali Alnubani
2018-04-23  8:44 ` Pavan Nikhilesh
2018-05-06 13:17   ` Shahaf Shuler
2018-05-06 13:33     ` Jerin Jacob
2018-05-07  5:30       ` Shahaf Shuler
2018-05-07  5:49         ` Jerin Jacob

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).