[dpdk-dev] FW: [PATCH v6 0/9] enable lpm, acl and other missing libraries in ppc64le
Chao Zhu
chaozhu at linux.vnet.ibm.com
Fri Aug 26 12:55:26 CEST 2016
Thomas,
Any comments of this patch set? Are we waiting for more acks?
Thank you!
-----Original Message-----
From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Chao Zhu
Sent: 2016年8月17日 16:49
To: 'Gowrishankar Muthukrishnan' <gowrishankar.m at linux.vnet.ibm.com>;
dev at dpdk.org
Cc: '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>
Subject: Re: [dpdk-dev] [PATCH v6 0/9] enable lpm, acl and other missing
libraries in ppc64le
-----Original Message-----
From: Gowrishankar Muthukrishnan [mailto:gowrishankar.m at linux.vnet.ibm.com]
Sent: 2016年8月16日 18:28
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>
Subject: [PATCH v6 0/9] enable lpm, acl and other missing libraries in
ppc64le
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:
1. LPM and ACL unit tests passed.
Steps:
compile test app and run (with any needed params)
lpm_autotest
acl_autotest
table_autotest
test_table_lpm_combined fails same as in intel in current master.
2. Example ip_pipeline application verified for port forwarding.
compile examples/ip_pipeline (adjust app_init_core_map
param for ht to 1 in case of ppc64le in SMT=off mode).
modify config/l3fwd.cfg as per enabled PMD ports.
run ip_pipeline with config file option and check packets fwd.
v6 changes:
- added cache alignment fix for rte hash table structs.
v5 changes:
- no change in lpm lib enablement
- no change in acl lib enablement
- config file changes individually for sched,table,port,pipeline
lib enablement
- ip_pipeline patch description and changes flagged only for ppc64le.
app_init_core_map changes removed (due to bug found and under
investigation only on ppc64le/smt=off case).
v4 changes:
- fix transition4 in acl_run_altivec.h for gcc strict-aliasing error.
Thanks to Chao Zhu for bringing up.
v3 changes:
- rebase over master to fix conflict in examples/l3fwd/l3fwd_em.c
v2 changes:
- enabling libs in config included as part of lib changes itself.
Gowrishankar Muthukrishnan (9):
lpm: add altivec intrinsics for dpdk lpm on ppc_64
acl: add altivec intrinsics for dpdk acl on ppc_64
l3fwd: add altivec support for em_hash_key
table: enable table library for ppc64le
sched: enable sched library for ppc64le
port: enable port library for ppc64le
pipeline: enable pipeline library for ppc64le
ip_pipeline: fix lcore mapping for varying SMT threads as in ppc64
table: align rte table hash structs for cache line size
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 | 8 +
examples/l3fwd/l3fwd_em.c | 10 +-
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 | 329
+++++++++++++++++++++
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_key16.c | 4 +-
lib/librte_table/rte_table_hash_key32.c | 4 +-
lib/librte_table/rte_table_hash_key8.c | 2 +-
19 files changed, 658 insertions(+), 13 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
I think this patch set is good enough.
Acked-by: Chao Zhu <chaozhu at linux.vnet.ibm.com>
More information about the dev
mailing list