[dpdk-dev] [PATCH v2 0/6] enable lpm, acl and other missing libraries in ppc64le

Chao Zhu chaozhu at linux.vnet.ibm.com
Fri Jul 15 05:15:51 CEST 2016


Gowrishankar,

When I tried the patches, I got some compilation error:

In file included from
/root/test/sub/dpdk/lib/librte_acl/acl_run_altivec.c:34:0:
/root/test/sub/dpdk/lib/librte_acl/acl_run_altivec.h: In function
'transition4':
/root/test/sub/dpdk/lib/librte_acl/acl_run_altivec.h:198:2: error:
dereferencing type-punned pointer will break strict-aliasing rules
[-Werror=strict-aliasing]
  *indices1 = (xmm_t){((uint32_t *)&v)[0], ((uint32_t *)&v)[1],
  ^
/root/test/sub/dpdk/lib/librte_acl/acl_run_altivec.h:202:2: error:
dereferencing type-punned pointer will break strict-aliasing rules
[-Werror=strict-aliasing]
  *indices2 = (xmm_t){((uint32_t *)&v)[0], ((uint32_t *)&v)[1],

Can you help to take a look?


-----Original Message-----
From: Gowrishankar [mailto:gowrishankar.m at linux.vnet.ibm.com] 
Sent: 2016年7月10日 15:51
To: dev at dpdk.org
Cc: Chao Zhu <chaozhu at linux.vnet.ibm.com>; Bruce Richardson
<bruce.richardson at intel.com>; Konstantin Ananyev
<konstantin.ananyev at intel.com>; Thomas Monjalon <thomas.monjalon at 6wind.com>;
Cristian Dumitrescu <cristian.dumitrescu at intel.com>; Pradeep
<pradeep at us.ibm.com>; gowrishankar <gowrishankar.m at linux.vnet.ibm.com>
Subject: [PATCH v2 0/6] enable lpm, acl and other missing libraries in
ppc64le

From: gowrishankar <gowrishankar.m at linux.vnet.ibm.com>

This patchset enables LPM, ACL and other few missing libs in ppc64le and
also address few patches in related examples (ip_pipeline and l3fwd).

Test report:
LPM and ACL unit tests verified as in patch set v1.
Same results as before observed.

v2 changes:
- enabling libs in config included as part of lib changes itself.

gowrishankar (6):
  lpm: add altivec intrinsics for dpdk lpm on ppc_64
  acl: add altivec intrinsics for dpdk acl on ppc_64
  ip_pipeline: fix lcore mapping for varying SMT threads as in ppc64
  table: cache align rte_bucket_4_8
  sched: enable sched library for ppc64le
  l3fwd: add altivec support for em_hash_key

 app/test-acl/main.c                                |   4 +
 app/test/test_xmmt_ops.h                           |  16 +
 config/defconfig_ppc_64-power8-linuxapp-gcc        |   7 -
 examples/ip_pipeline/cpu_core_map.c                |  12 +-
 examples/ip_pipeline/init.c                        |   4 +
 examples/l3fwd/l3fwd_em.c                          |   8 +
 lib/librte_acl/Makefile                            |   2 +
 lib/librte_acl/acl.h                               |   4 +
 lib/librte_acl/acl_run.h                           |   2 +
 lib/librte_acl/acl_run_altivec.c                   |  47 +++
 lib/librte_acl/acl_run_altivec.h                   | 328
+++++++++++++++++++++
 lib/librte_acl/rte_acl.c                           |  13 +
 lib/librte_acl/rte_acl.h                           |   1 +
 .../common/include/arch/ppc_64/rte_vect.h          |  60 ++++
 lib/librte_lpm/Makefile                            |   2 +
 lib/librte_lpm/rte_lpm.h                           |   2 +
 lib/librte_lpm/rte_lpm_altivec.h                   | 154 ++++++++++
 lib/librte_table/rte_table_hash_key8.c             |   2 +-
 18 files changed, 649 insertions(+), 19 deletions(-)  create mode 100644
lib/librte_acl/acl_run_altivec.c  create mode 100644
lib/librte_acl/acl_run_altivec.h  create mode 100644
lib/librte_eal/common/include/arch/ppc_64/rte_vect.h
 create mode 100644 lib/librte_lpm/rte_lpm_altivec.h

--
1.9.1




More information about the dev mailing list