From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gowrishankar Muthukrishnan Subject: [PATCH v4 0/6] enable lpm, acl and other missing libraries in ppc64le Date: Sat, 6 Aug 2016 18:02:39 +0530 Message-ID: <1470486765-2672-1-git-send-email-gowrishankar.m@linux.vnet.ibm.com> Cc: Chao Zhu , Bruce Richardson , Konstantin Ananyev , Thomas Monjalon , Cristian Dumitrescu , Pradeep To: dev@dpdk.org Return-path: Received: from mx0a-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by dpdk.org (Postfix) with ESMTP id E4A242C69 for ; Sat, 6 Aug 2016 14:33:03 +0200 (CEST) Received: from pps.filterd (m0098420.ppops.net [127.0.0.1]) by mx0b-001b2d01.pphosted.com (8.16.0.11/8.16.0.11) with SMTP id u76COZNe003180 for ; Sat, 6 Aug 2016 08:33:03 -0400 Received: from e28smtp09.in.ibm.com (e28smtp09.in.ibm.com [125.16.236.9]) by mx0b-001b2d01.pphosted.com with ESMTP id 24nc2wp5w8-1 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT) for ; Sat, 06 Aug 2016 08:33:03 -0400 Received: from localhost by e28smtp09.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Sat, 6 Aug 2016 18:02:59 +0530 Received: from d28relay01.in.ibm.com (d28relay01.in.ibm.com [9.184.220.58]) by d28dlp02.in.ibm.com (Postfix) with ESMTP id CD172394005C for ; Sat, 6 Aug 2016 18:02:57 +0530 (IST) Received: from d28av01.in.ibm.com (d28av01.in.ibm.com [9.184.220.63]) by d28relay01.in.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id u76CWvJf41222334 for ; Sat, 6 Aug 2016 18:02:57 +0530 Received: from d28av01.in.ibm.com (localhost [127.0.0.1]) by d28av01.in.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id u76CWuEQ016392 for ; Sat, 6 Aug 2016 18:02:57 +0530 List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 passed. RTE>>acl_autotest ACL: allocation of 25166728 bytes on socket 33 for ACL_acl_ctx failed ACL: rte_acl_add_rules(acl_ctx): rule #1 is invalid ACL: rte_acl_ipv4vlan_add_rules: rule #1 is invalid ACL: rte_acl_ipv4vlan_add_rules: rule #1 is invalid ACL: rte_acl_ipv4vlan_add_rules: rule #1 is invalid ACL: rte_acl_ipv4vlan_add_rules: rule #1 is invalid ACL: rte_acl_add_rules(acl_ctx): rule #1 is invalid acl context @0x3effe07ffb80 socket_id=-1 alg=5 max_rules=196608 rule_size=128 num_rules=0 num_categories=0 num_tries=0 acl context @0x3effe07ffb80 socket_id=-1 alg=5 max_rules=196608 rule_size=128 num_rules=0 num_categories=0 num_tries=0 running test_convert_rules(acl_ipv4vlan_tuple) running test_convert_rules(acl_ipv4vlan_tuple, RTE_ACL_FIELD_TYPE_BITMASK type for IPv4) running test_convert_rules(acl_ipv4vlan_tuple, RTE_ACL_FIELD_TYPE_RANGE type for IPv4) running test_convert_rules(acl_ipv4vlan_tuple: swap VLAN and PORTs order) running test_convert_rules(acl_ipv4vlan_tuple: swap SRC and DST IPv4 order) Test OK RTE>>lpm_autotest Test OK 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 (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 | 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_key8.c | 2 +- 18 files changed, 651 insertions(+), 20 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