From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id E29A1A2E1B for ; Tue, 3 Sep 2019 12:59:24 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id BB62A1E895; Tue, 3 Sep 2019 12:59:24 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by dpdk.org (Postfix) with ESMTP id AB0271D424 for ; Tue, 3 Sep 2019 12:59:23 +0200 (CEST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id x83AtKmP026911; Tue, 3 Sep 2019 03:59:19 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : mime-version : content-transfer-encoding : content-type; s=pfpt0818; bh=6NxKo1xJ1LDvDNjNuNrE2/ANo06Xw0YfPiqY8lSOUQw=; b=YUwPL6Vikc/LAz9WS3geyqG23GSN3nJHnOoYzSjXBon/CF6daL5Pd8DWJ6YTNm+8IGhh vq9VQWC1hKJ0Sv7D2sl/UGqi8fkV+4ZSsZjW2NzTpqOjNZo5afRmhFHKSkT54/fEhqhW hB3M0o/mtuYJhZMQyjneD/PnRzUNzAcau5vpjGv0MFHdXCiJspVB+Dz5KJSCqds6HTZB e6PH2euPDAbqYXXtoGkzgWy2SldArd4jpRWR2jPJm3g2Fs8RnfXO3p+e1pbZjHtWlcxp C7ReyHFDUJ1EUf3Zezaylq0byah013H/fgxVEyMgQOANP08Y/AczFRgUBMDGohKkIjHZ Zg== Received: from sc-exch01.marvell.com ([199.233.58.181]) by mx0a-0016f401.pphosted.com with ESMTP id 2uqp8p9tk3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Tue, 03 Sep 2019 03:59:19 -0700 Received: from SC-EXCH03.marvell.com (10.93.176.83) by SC-EXCH01.marvell.com (10.93.176.81) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Tue, 3 Sep 2019 03:59:16 -0700 Received: from maili.marvell.com (10.93.176.43) by SC-EXCH03.marvell.com (10.93.176.83) with Microsoft SMTP Server id 15.0.1367.3 via Frontend Transport; Tue, 3 Sep 2019 03:59:16 -0700 Received: from jerin-lab.marvell.com (jerin-lab.marvell.com [10.28.34.14]) by maili.marvell.com (Postfix) with ESMTP id 8B10D3F7041; Tue, 3 Sep 2019 03:59:14 -0700 (PDT) From: To: CC: , , , , Jerin Jacob Date: Tue, 3 Sep 2019 16:29:30 +0530 Message-ID: <20190903105938.33231-1-jerinj@marvell.com> X-Mailer: git-send-email 2.23.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.70,1.0.8 definitions=2019-09-03_01:2019-09-03,2019-09-03 signatures=0 Subject: [dpdk-dev] [PATCH 0/8] eBPF arm64 JIT support X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Jerin Jacob Added eBPF arm64 JIT support to improve the eBPF program performance on arm64. dpdk.org/examples/bpf/t1.c application shows around 50% improvement on OCTEON TX2 platform in JIT vs interpreter mode. Verified the implementation using existing bpf_autotest application. # echo "bpf_autotest" | sudo ./build/app/test -c 0x3 RTE>>bpf_autotest run_test(test_store1) start run_test(test_store2) start run_test(test_load1) start run_test(test_ldimm1) start run_test(test_mul1) start run_test(test_shift1) start run_test(test_jump1) start run_test(test_alu1) start run_test(test_bele1) start run_test(test_xadd1) start run_test(test_div1) start bpf_exec(0xffffa37c0000): division by 0 at pc: 0x68; run_test(test_call1) start run_test(test_call2) start run_test(test_call3) start Test OK Jerin Jacob (8): bpf/arm64: add build infrastructure bpf/arm64: add prologue and epilogue bpf/arm64: add basic arithmetic operations bpf/arm64: add logical operations bpf/arm64: add byte swap operations bpf/arm64: add load and store operations bpf/arm64: add atomic-exchange-and-add operation bpf/arm64: add branch operation MAINTAINERS | 1 + doc/guides/prog_guide/bpf_lib.rst | 2 +- doc/guides/rel_notes/release_19_11.rst | 5 + lib/librte_bpf/Makefile | 2 + lib/librte_bpf/bpf.c | 4 +- lib/librte_bpf/bpf_impl.h | 3 +- lib/librte_bpf/bpf_jit_arm64.c | 1451 ++++++++++++++++++++++++ lib/librte_bpf/meson.build | 2 + 8 files changed, 1466 insertions(+), 4 deletions(-) create mode 100644 lib/librte_bpf/bpf_jit_arm64.c -- 2.23.0