From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0B938C433DF for ; Tue, 7 Jul 2020 20:07:38 +0000 (UTC) Received: from dpdk.org (dpdk.org [92.243.14.124]) by mail.kernel.org (Postfix) with ESMTP id 7A8532067D for ; Tue, 7 Jul 2020 20:07:37 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7A8532067D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.vnet.ibm.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dev-bounces@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id AB92F1D66D; Tue, 7 Jul 2020 22:07:36 +0200 (CEST) Received: from mx0a-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by dpdk.org (Postfix) with ESMTP id 6B69C1D652 for ; Tue, 7 Jul 2020 22:07:35 +0200 (CEST) Received: from pps.filterd (m0098420.ppops.net [127.0.0.1]) by mx0b-001b2d01.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 067K1RW7140758; Tue, 7 Jul 2020 16:07:32 -0400 Received: from ppma02dal.us.ibm.com (a.bd.3ea9.ip4.static.sl-reverse.com [169.62.189.10]) by mx0b-001b2d01.pphosted.com with ESMTP id 324yj88ds6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 07 Jul 2020 16:07:32 -0400 Received: from pps.filterd (ppma02dal.us.ibm.com [127.0.0.1]) by ppma02dal.us.ibm.com (8.16.0.42/8.16.0.42) with SMTP id 067K1JgM010495; Tue, 7 Jul 2020 20:07:32 GMT Received: from b01cxnp23033.gho.pok.ibm.com (b01cxnp23033.gho.pok.ibm.com [9.57.198.28]) by ppma02dal.us.ibm.com with ESMTP id 322hd9929p-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 07 Jul 2020 20:07:32 +0000 Received: from b01ledav001.gho.pok.ibm.com (b01ledav001.gho.pok.ibm.com [9.57.199.106]) by b01cxnp23033.gho.pok.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 067K7VgH44761462 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 7 Jul 2020 20:07:31 GMT Received: from b01ledav001.gho.pok.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 45FA52805A; Tue, 7 Jul 2020 20:07:31 +0000 (GMT) Received: from b01ledav001.gho.pok.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id E602F2805E; Tue, 7 Jul 2020 20:07:29 +0000 (GMT) Received: from Davids-MBP.randomparity.org (unknown [9.211.142.50]) by b01ledav001.gho.pok.ibm.com (Postfix) with ESMTP; Tue, 7 Jul 2020 20:07:29 +0000 (GMT) To: "Ananyev, Konstantin" , Feifei Wang , Honnappa Nagarahalli Cc: "dev@dpdk.org" , nd , Ruifeng Wang References: <20200703102651.8918-1-feifei.wang2@arm.com> <20200703102651.8918-4-feifei.wang2@arm.com> From: David Christensen Message-ID: <72cff6f2-2110-ec27-a278-bdc60abff3e2@linux.vnet.ibm.com> Date: Tue, 7 Jul 2020 13:07:29 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=iso-2022-jp; format=flowed; delsp=yes Content-Language: en-US Content-Transfer-Encoding: 7bit X-TM-AS-GCONF: 00 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.235, 18.0.687 definitions=2020-07-07_10:2020-07-07, 2020-07-07 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 malwarescore=0 mlxlogscore=999 clxscore=1011 cotscore=-2147483648 impostorscore=0 adultscore=0 phishscore=0 suspectscore=0 bulkscore=0 spamscore=0 lowpriorityscore=0 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2004280000 definitions=main-2007070132 Subject: Re: [dpdk-dev] [PATCH 3/3] ring: use element APIs to implement legacy APIs 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" On 7/7/20 7:04 AM, Ananyev, Konstantin wrote: > > Hi Feifei, > > > Hi, Konstantin, David >> >> I'm Feifei Wang from Arm. Sorry to make the following request: >> Would you please do some ring performance tests of this patch in your platforms at the time you are free? >> And I want to know whether this patch has a significant impact on other platforms except ARM. > > I run few tests on SKX box and so far didn’t notice any real perf difference. > Konstantin > Full performance results for IBM POWER9 system below. I ran the tests twice for each version and the results were consistent. without this patch with this patch Testing burst enq/deq legacy APIs: SP/SC: burst (size: 8): 43.63 43.63 legacy APIs: SP/SC: burst (size: 32): 50.07 50.04 legacy APIs: MP/MC: burst (size: 8): 58.43 58.42 legacy APIs: MP/MC: burst (size: 32): 65.52 65.51 Testing bulk enq/deq legacy APIs: SP/SC: bulk (size: 8): 43.61 43.61 legacy APIs: SP/SC: bulk (size: 32): 50.05 50.02 legacy APIs: MP/MC: bulk (size: 8): 58.43 58.43 legacy APIs: MP/MC: bulk (size: 32): 65.50 65.49 HW: Architecture: ppc64le Byte Order: Little Endian CPU(s): 128 On-line CPU(s) list: 0-127 Thread(s) per core: 4 Core(s) per socket: 16 Socket(s): 2 NUMA node(s): 6 Model: 2.3 (pvr 004e 1203) Model name: POWER9, altivec supported CPU max MHz: 3800.0000 CPU min MHz: 2300.0000 L1d cache: 32K L1i cache: 32K L2 cache: 512K L3 cache: 10240K NUMA node0 CPU(s): 0-63 NUMA node8 CPU(s): 64-127 OS: RHEL 8.2 GCC: gcc version 8.3.1 20191121 (Red Hat 8.3.1-5) (GCC) DPDK: 20.08.0-rc0 (a8550b773) Unpatched =========== sudo app/test/dpdk-test -l 68,69 EAL: Detected 128 lcore(s) EAL: Detected 2 NUMA nodes EAL: Multi-process socket /var/run/dpdk/rte/mp_socket EAL: Selected IOVA mode 'VA' EAL: No available hugepages reported in hugepages-2048kB EAL: Probing VFIO support... EAL: VFIO support initialized EAL: Probe PCI driver: net_mlx5 (15b3:1019) device: 0000:01:00.0 (socket 0) EAL: Probe PCI driver: net_mlx5 (15b3:1019) device: 0000:01:00.1 (socket 0) EAL: Probe PCI driver: net_mlx5 (15b3:1019) device: 0030:01:00.0 (socket 8) EAL: Probe PCI driver: net_mlx5 (15b3:1019) device: 0030:01:00.1 (socket 8) EAL: using IOMMU type 7 (sPAPR) EAL: Probe PCI driver: net_i40e (8086:1583) device: 0034:01:00.0 (socket 8) EAL: Probe PCI driver: net_i40e (8086:1583) device: 0034:01:00.1 (socket 8) APP: HPET is not enabled, using TSC as default timer RTE>>ring_perf_autotest ### Testing single element enq/deq ### legacy APIs: SP/SC: single: 42.01 legacy APIs: MP/MC: single: 56.27 ### Testing burst enq/deq ### legacy APIs: SP/SC: burst (size: 8): 43.63 legacy APIs: SP/SC: burst (size: 32): 50.07 legacy APIs: MP/MC: burst (size: 8): 58.43 legacy APIs: MP/MC: burst (size: 32): 65.52 ### Testing bulk enq/deq ### legacy APIs: SP/SC: bulk (size: 8): 43.61 legacy APIs: SP/SC: bulk (size: 32): 50.05 legacy APIs: MP/MC: bulk (size: 8): 58.43 legacy APIs: MP/MC: bulk (size: 32): 65.50 ### Testing empty bulk deq ### legacy APIs: SP/SC: bulk (size: 8): 7.16 legacy APIs: MP/MC: bulk (size: 8): 7.16 ### Testing using two hyperthreads ### legacy APIs: SP/SC: bulk (size: 8): 12.44 legacy APIs: MP/MC: bulk (size: 8): 16.19 legacy APIs: SP/SC: bulk (size: 32): 3.10 legacy APIs: MP/MC: bulk (size: 32): 3.64 ### Testing using all slave nodes ### Bulk enq/dequeue count on size 8 Core [68] count = 362382 Core [69] count = 362516 Total count (size: 8): 724898 Bulk enq/dequeue count on size 32 Core [68] count = 361565 Core [69] count = 361852 Total count (size: 32): 723417 ### Testing single element enq/deq ### elem APIs: element size 16B: SP/SC: single: 42.81 elem APIs: element size 16B: MP/MC: single: 56.78 ### Testing burst enq/deq ### elem APIs: element size 16B: SP/SC: burst (size: 8): 45.04 elem APIs: element size 16B: SP/SC: burst (size: 32): 59.27 elem APIs: element size 16B: MP/MC: burst (size: 8): 60.68 elem APIs: element size 16B: MP/MC: burst (size: 32): 75.00 ### Testing bulk enq/deq ### elem APIs: element size 16B: SP/SC: bulk (size: 8): 45.05 elem APIs: element size 16B: SP/SC: bulk (size: 32): 59.23 elem APIs: element size 16B: MP/MC: bulk (size: 8): 60.64 elem APIs: element size 16B: MP/MC: bulk (size: 32): 75.11 ### Testing empty bulk deq ### elem APIs: element size 16B: SP/SC: bulk (size: 8): 7.16 elem APIs: element size 16B: MP/MC: bulk (size: 8): 7.16 ### Testing using two hyperthreads ### elem APIs: element size 16B: SP/SC: bulk (size: 8): 12.15 elem APIs: element size 16B: MP/MC: bulk (size: 8): 15.55 elem APIs: element size 16B: SP/SC: bulk (size: 32): 3.22 elem APIs: element size 16B: MP/MC: bulk (size: 32): 3.86 ### Testing using all slave nodes ### Bulk enq/dequeue count on size 8 Core [68] count = 374327 Core [69] count = 374433 Total count (size: 8): 748760 Bulk enq/dequeue count on size 32 Core [68] count = 324111 Core [69] count = 320038 Total count (size: 32): 644149 Test OK Patched ======= $ sudo app/test/dpdk-test -l 68,69 EAL: Detected 128 lcore(s) EAL: Detected 2 NUMA nodes EAL: Multi-process socket /var/run/dpdk/rte/mp_socket EAL: Selected IOVA mode 'VA' EAL: No available hugepages reported in hugepages-2048kB EAL: Probing VFIO support... EAL: VFIO support initialized EAL: Probe PCI driver: net_mlx5 (15b3:1019) device: 0000:01:00.0 (socket 0) EAL: Probe PCI driver: net_mlx5 (15b3:1019) device: 0000:01:00.1 (socket 0) EAL: Probe PCI driver: net_mlx5 (15b3:1019) device: 0030:01:00.0 (socket 8) EAL: Probe PCI driver: net_mlx5 (15b3:1019) device: 0030:01:00.1 (socket 8) EAL: using IOMMU type 7 (sPAPR) EAL: Probe PCI driver: net_i40e (8086:1583) device: 0034:01:00.0 (socket 8) EAL: Probe PCI driver: net_i40e (8086:1583) device: 0034:01:00.1 (socket 8) APP: HPET is not enabled, using TSC as default timer RTE>>ring_perf_autotest ### Testing single element enq/deq ### legacy APIs: SP/SC: single: 42.00 legacy APIs: MP/MC: single: 56.27 ### Testing burst enq/deq ### legacy APIs: SP/SC: burst (size: 8): 43.63 legacy APIs: SP/SC: burst (size: 32): 50.04 legacy APIs: MP/MC: burst (size: 8): 58.42 legacy APIs: MP/MC: burst (size: 32): 65.51 ### Testing bulk enq/deq ### legacy APIs: SP/SC: bulk (size: 8): 43.61 legacy APIs: SP/SC: bulk (size: 32): 50.02 legacy APIs: MP/MC: bulk (size: 8): 58.43 legacy APIs: MP/MC: bulk (size: 32): 65.49 ### Testing empty bulk deq ### legacy APIs: SP/SC: bulk (size: 8): 7.16 legacy APIs: MP/MC: bulk (size: 8): 7.16 ### Testing using two hyperthreads ### legacy APIs: SP/SC: bulk (size: 8): 12.43 legacy APIs: MP/MC: bulk (size: 8): 16.17 legacy APIs: SP/SC: bulk (size: 32): 3.10 legacy APIs: MP/MC: bulk (size: 32): 3.65 ### Testing using all slave nodes ### Bulk enq/dequeue count on size 8 Core [68] count = 363208 Core [69] count = 363334 Total count (size: 8): 726542 Bulk enq/dequeue count on size 32 Core [68] count = 361592 Core [69] count = 361690 Total count (size: 32): 723282 ### Testing single element enq/deq ### elem APIs: element size 16B: SP/SC: single: 42.78 elem APIs: element size 16B: MP/MC: single: 56.75 ### Testing burst enq/deq ### elem APIs: element size 16B: SP/SC: burst (size: 8): 45.04 elem APIs: element size 16B: SP/SC: burst (size: 32): 59.27 elem APIs: element size 16B: MP/MC: burst (size: 8): 60.66 elem APIs: element size 16B: MP/MC: burst (size: 32): 75.03 ### Testing bulk enq/deq ### elem APIs: element size 16B: SP/SC: bulk (size: 8): 45.04 elem APIs: element size 16B: SP/SC: bulk (size: 32): 59.33 elem APIs: element size 16B: MP/MC: bulk (size: 8): 60.65 elem APIs: element size 16B: MP/MC: bulk (size: 32): 75.04 ### Testing empty bulk deq ### elem APIs: element size 16B: SP/SC: bulk (size: 8): 7.16 elem APIs: element size 16B: MP/MC: bulk (size: 8): 7.16 ### Testing using two hyperthreads ### elem APIs: element size 16B: SP/SC: bulk (size: 8): 12.14 elem APIs: element size 16B: MP/MC: bulk (size: 8): 15.56 elem APIs: element size 16B: SP/SC: bulk (size: 32): 3.22 elem APIs: element size 16B: MP/MC: bulk (size: 32): 3.86 ### Testing using all slave nodes ### Bulk enq/dequeue count on size 8 Core [68] count = 372618 Core [69] count = 372415 Total count (size: 8): 745033 Bulk enq/dequeue count on size 32 Core [68] count = 318784 Core [69] count = 316066 Total count (size: 32): 634850 Test OK