From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-BL2-obe.outbound.protection.outlook.com (mail-bl2nam02on0065.outbound.protection.outlook.com [104.47.38.65]) by dpdk.org (Postfix) with ESMTP id 5F96E1B1EB for ; Tue, 31 Oct 2017 12:15:38 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=gtgd20ZQjz/ztnIMD5Ll3u9DrrylzgonEpJ8B7SmaNk=; b=IcweQmtSL7WO86K07SmEydkSRSFtBuz1gu36lQ6+h5lImfwfLHUS3jLcA3R8UXR2GhZQLyJrUvdn45gjF51X/9vQFn73RYKsMT6FIY0O++hQCRFdVq+YjqkJrtj+BSZ70T4dHmEAKBPM74+LqOKURmT0w+w8cFKZALZuMS/1ekE= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.JacobKollanukkaran@cavium.com; Received: from jerin (111.93.218.67) by CY1PR07MB2523.namprd07.prod.outlook.com (10.167.16.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.178.6; Tue, 31 Oct 2017 11:15:32 +0000 Date: Tue, 31 Oct 2017 16:44:35 +0530 From: Jerin Jacob To: Jia He Cc: "Ananyev, Konstantin" , "Zhao, Bing" , Olivier MATZ , "dev@dpdk.org" , "jia.he@hxt-semitech.com" , "jie2.liu@hxt-semitech.com" , "bing.zhao@hxt-semitech.com" , "Richardson, Bruce" , jianbo.liu@arm.com, hemant.agrawal@nxp.com Message-ID: <20171031111433.GA21742@jerin> References: <8806e2bd-c57b-03ff-a315-0a311690f1d9@163.com> <2601191342CEEE43887BDE71AB9772585FAAB404@IRSMSX103.ger.corp.intel.com> <2601191342CEEE43887BDE71AB9772585FAAB570@IRSMSX103.ger.corp.intel.com> <3e580cd7-2854-d855-be9c-7c4ce06e3ed5@gmail.com> <20171020054319.GA4249@jerin> <20171023100617.GA17957@jerin> <20171025132642.GA13977@jerin> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.9.1 (2017-09-22) X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: PN1PR01CA0105.INDPRD01.PROD.OUTLOOK.COM (10.174.144.21) To CY1PR07MB2523.namprd07.prod.outlook.com (10.167.16.14) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 207405f3-7c25-415a-85bc-08d52050b5c1 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(4534020)(4602075)(2017052603199); SRVR:CY1PR07MB2523; X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2523; 3:OE6gCyOCWsonlQUEY+YHbuwJGcZHIvPuhoU61wVzOuL4DbqZvsoW7gcjE4ukpcuxRiUA6+iHiimXKVWbOKw6qaJpXihiMNZMtVpcp6MgLV3Ncc7uWsZclnOMmxF8INgnWgDdAZc1CcB8TMx5yij9SBCscPBbcQkjvJHlJh+6NpyRaR25SOb2TOdSGb/wOI51Z4RhXnLWMfcrsonfmUbNsAT50JnQNw0dJt0bUGjzJ1UdYnL9dTNLLvR46hlSgK+4; 25:vx+30DxLKLizkMT2HraqeFoTNKQeJUu9f7Ynlp6MojJz4vPxxF+zLCkh3hPfBWNJh7LVrgGkbEzyl/aRcHBCi7gRtnyfr1+ZXTIfrMz3WNcYDZV5bC5gujs06U0NQ4KkckF/4OFDmCXvBZnrjCRW4V5N+I0XpwaBR2mnG3MKows2dT8VhIv70iYS9Mw2Ptw7jlst5RCkE9/czK54ro1MTg7COG8iOQhC/5Xu384eGXAXWsrPpM8OCbQWKE5usq8XRDqgQ040vcRwPJPhc/kw/ZwsoquxgQuQChkvd616lkRvz4szGyNSP6IM++FIKyEa2kB9FzUB41TgvyjlEl2w8Q==; 31:Louoei0YZ0IMqJ7KxZixYUr282icJlDnqnpv6A7IpheLQGRNctiryorSaTu6nk9vLNRqXgyk3Sm9Fv2LgOCtNOaMue211mlkqfriX6bzP5UQ4aF9ORTKc06B8NOez8CDMZOPCsBCc2phv+13eOF7vs5LqVeRCXSFxgPX/rSxB5NVf8pwiBGi9UO6tCMizK2U7jD40tjsYI2z3CTASpro9dPBxsPunAU0o+LWYy0FT9A= X-MS-TrafficTypeDiagnostic: CY1PR07MB2523: X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2523; 20:+PEkg9iMvXOrx+FSlGyGylMjrAa0yqrziHRPpCj4Mer70plwKdt0I3uHvz2zrRQ2n8gJ23ahrQfAVi6hoEWjKFAVg+0+PjW+/2CflafIfcYvnkfmOHbkqkKb72K49Owp0lovtv/yb/E/fFhbdi78VUDrfIAk27JhzNwm//AqrWciGqejAXR0g6QaJRQupFim/xrDWKvWtgP8eagSt7HTstdTanXunF1ljeyIxb3ddG8n+MA10jqhdNJQ/KmADgpEleDNfKDaP/wlvse14Y0NrrsaKY9j7ifikigP3yiikLRXFjGiaj5UMFUkR3PaBRGEl1e95gmciXS+qoRlmNo7rqcHMDFJZQ+c/S8sLhrgAYkPvTcIZ2HTErMTYaTPhPKBF1y5pRbcknKJsEDH+vhen7fZs+NLKkIoXRDHh0wgekTFJIZ62DJXe3gKWnpykKQTk24xb5Z+y52oF6tSmAtB0DWcujS9TSlaNSUd2l5+T7Ehs5gGwQKjaE7gsbk/cxFJ1Nip8H5lNSM3TakqLd8GUd3tlbCD5i1G6qLPbG9do8WX8hzTbqMG5+4TZoroGZOqCaOUtA2x87WFe2htRN/PhaEywSPanKBq4UIUxP4DehM= X-Exchange-Antispam-Report-Test: UriScan:(166708455590820)(130843839470238)(228905959029699); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(100000703101)(100105400095)(3002001)(3231020)(10201501046)(93006095)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123555025)(20161123562025)(20161123564025)(20161123560025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:CY1PR07MB2523; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:CY1PR07MB2523; X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2523; 4:0gAM/mTDy0Z+oJcgl52dmp7uTB0ssQCDplU4iNTVBQ7ovDSRbG0I84gMWdNi7+IfhYgyXPTuH7zCgDj9av7OfGrx9UmotvacL54WROCf2J+nPLHTuviNzR23IYPg5sLXXspHee7J2siyOc2c2pHMzF1NJ3MWGE+HqG2gSaj84oTUO4N+cf2Kmw5C5QyOaBPjDK0i1GLP7SNEhRpKbDgOqGUJKu7eo+FRYt6pRehXq/VGHCrcrTxZQH+QAj8k/JG+4eh9cv4jbg4Ka9LTaM1kkx5ptncNmtZNDRoJht+2dPBPdfqa5kSzBQkR1qPa8Vi/CPaDurS3eta+2F9RYweCELgGAI8diG7Z25mb/5gnJrFldXLiyQGicfsOwEmQbxBb X-Forefront-PRVS: 04772EA191 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(346002)(376002)(13464003)(189002)(51234002)(199003)(2906002)(2870700001)(8656006)(106356001)(83506002)(50466002)(23756003)(58126008)(72206003)(97736004)(7416002)(966005)(478600001)(189998001)(54906003)(33716001)(5660300001)(33656002)(105586002)(53936002)(7736002)(6916009)(8936002)(305945005)(5009440100003)(39060400002)(6496005)(101416001)(50986999)(76176999)(47776003)(66066001)(54356999)(55016002)(2950100002)(25786009)(68736007)(42882006)(229853002)(4326008)(316002)(93886005)(1076002)(16526018)(6306002)(81166006)(53376002)(81156014)(1411001)(6246003)(8676002)(6116002)(9686003)(3846002)(18370500001); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR07MB2523; H:jerin; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?iso-8859-1?Q?1; CY1PR07MB2523; 23:kHY5huP0uuzqSgV33iWSyQTPHkst4UoJvw7WIqT?= =?iso-8859-1?Q?R9W41s0KcBd9ZeAcXG3exM9G58qvBr/kmRmrhKaCzhYqrdoITO7PEnmOrn?= =?iso-8859-1?Q?I9KWm7shXj3ILZ815bpGaNHv6oiK084hV1iXe5O5KQvYFZYjBq+6HFeK69?= =?iso-8859-1?Q?F2FotA81/ln/N0O1X1Fpg196ggQiynsNEP5ng3ssolJB7N2CPD5whC/fXJ?= =?iso-8859-1?Q?uSxLyvVSwRdq/1PF+wWT4xcqOwJMJ6dFa8yQDcjs50xB00JueRHYm6gh1U?= =?iso-8859-1?Q?CHTs2YYdjo8YzntTyiREH38nFPJ3LzzkI4QSh5IPGgOWP1SG0/FQFsfM0V?= =?iso-8859-1?Q?I31Hqa5v0QD1Bjldbz4p9iOVvk0vcZeDi4468AkGifMZtyero5xLUu8N9c?= =?iso-8859-1?Q?v4jWn0A1F7e4pbAQipShVFCOMCIP3XqwB6psyqbeYeAvUBoxe7v4WIALlO?= =?iso-8859-1?Q?4jrIpxnS9QfIQl6+69AsfdV3j/uEaM/KGZNcPvrgeqeYJf6VvAeRHTK5yI?= =?iso-8859-1?Q?DYtw9rtHghLhe2ePL0hJTrzMiyv1sMqX+Iv4YHsL7wMBeDw1N+rsFoqiw4?= =?iso-8859-1?Q?XANf9/za5INEv0WXuW9WaaFGCtbwrZAsGVZNoc9+2ccRy+8Oda0WLK2JqO?= =?iso-8859-1?Q?FGG9Akb9wtmqf8np7ycjd4mt58f7plqFC6WwJ3iPSE+Upm107bK0ZqqYIO?= =?iso-8859-1?Q?AlGWxaiCuDWIshJ5lyDIzWAAVajrmFFa9FW4+gTfe/wPgxIEcGuYtOnQJh?= =?iso-8859-1?Q?li5PiJ+eFQuWL0VAFOvuKJWjyXiUDTku6UMuGLv4IC6Tj/wsa9G+d6F7nd?= =?iso-8859-1?Q?FaNRChrsBvsylxEoeEI9kZqDQ4ca9n5NeX2Dyoh2lJU+B9bI7KJonWXRKI?= =?iso-8859-1?Q?y2zxqajC6MFRqaXnzWCfRJJsJ2NB4mDCv6emw5KpJRcIKERHPNcc5W1Czg?= =?iso-8859-1?Q?MeC6EOAYzojWD/wv2UHFsXJhPY2zCKrSI/A7tG2W54UQbfvqwst/MQKww1?= =?iso-8859-1?Q?tADP9P2cR/bApqLtHPBqVQWflJapO2RSlTgBnZjGaQubIcppe7KvsNN0GQ?= =?iso-8859-1?Q?0EyziB1PwFnDOWQU83o9cbKYV+ST8Lu70kY8YfchCvQmR1LKYSsI0FmYL+?= =?iso-8859-1?Q?WSLze8eZdFtSm5O0thDmcK17cNwlBOeZe4lKvMnUXWTu4AIPo5ua22bT+e?= =?iso-8859-1?Q?xYwzLaOkLYjhQwqKRiWja2GIKWb7zckdW/Dh98iZEvP2xzgAQHDcywwTs7?= =?iso-8859-1?Q?jSsqVXqIYXqC1bHiP0vD7aWQm0PKAzwLS3VC5CHSOFAGdWeaHOTWNPMkXK?= =?iso-8859-1?Q?sHEBG8nKLkYaxthB0Llc9FoT1BqAXOA2HEIvFJ06WECpAUxZAH71Wn1CV3?= =?iso-8859-1?Q?WJyBX00OE2SIXzU3EBbXG7foLZd9uvnH4v1sEEAZ6XIOq6F3Aa27ug5dyc?= =?iso-8859-1?Q?/LWRRAOCxVX58hGl7eKyTNFDy5YeLOHvunBx1ZMuk7Ih1Qo3U0O7d9gAQ?= =?iso-8859-1?Q?=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR07MB2523; 6:NbvLEv0cFI0EMGGxmbSds4bsi026075bBNF3pLg/+f1YhPbThO9At2hjLNTupOzu5o48ny7lQwAdwEt4XnHY26HM2qy+exb/gndsA/z2NBX9UBDnnfkHXbKWcdPmNSsK9GS44pjvUBIQzqxl5ziAscodk9AlIIvETC5QxzP6yuVUDg6Tyjevem76Gc9KpajckhQu2cA/HbddzmDbZtRxLsXxSXNGMMqwab8DEj9TNfwewX15fqe0qDEFuOwfjt9NhouHSzC9tM8bGORd5rrr0qgO/UGoky2Z6/UAL3aaEUD7McODtu/9HkTxm7UtpXp4hi0UG+YdjKigFLkHgrtKjOiBXDrJsMzpW1tUNRjU0wE=; 5:K077EZTqrmPxg2h+MULPeXlIvVrizZkFj1KvHmCU5t4YlGdVLp5f2bkAywEYpsxugFPq/H7fxaV6k3qvjurEexmlxXFndJX8TiRag2JaggeA4YX+OWtul5HK/5iPHjJO2ZHB6+J3sW2OWW/+P+wCbjdMsu+flif0PUZHM6vhjMc=; 24:WoxaIOadyoO+VErScG7fmxit4bFPmMNUAEXuXOHe5x5lbj/p3vIpipho8ejJ7Pazaw2qHpmtyJaY/RHiyV9ZjAxXOsFChKw0ofCCsFJZI5Q=; 7:St7nxNEPVhuT3oglPajcufjyR4K1NpqpGcL+osD+Vn+0UKcoAhYE8wBocO1OpFM20ZMPdahEgKYKo5tlb9sLL0uofD0mX1zRz38j+9YkFi2jea+2LD1Rwb1rFLsILS78+Qwk4CGI2xUlq2RL0G/y8kZseMTi/ODSXMBBEHvM+OO9mwwylD9vHsWcN+UQNg7Pxx+gTPClXv3VLvwcmQq8yi8EAv6BKW9miQM9c/vp34XQPty6QRA5vNMgdT+soxD4 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Oct 2017 11:15:32.4906 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 207405f3-7c25-415a-85bc-08d52050b5c1 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR07MB2523 Subject: Re: [dpdk-dev] [PATCH] ring: guarantee ordering of cons/prod loading when doing enqueue/dequeue 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: , X-List-Received-Date: Tue, 31 Oct 2017 11:15:38 -0000 -----Original Message----- > Date: Tue, 31 Oct 2017 10:55:15 +0800 > From: Jia He > To: Jerin Jacob > Cc: "Ananyev, Konstantin" , "Zhao, Bing" > , Olivier MATZ , > "dev@dpdk.org" , "jia.he@hxt-semitech.com" > , "jie2.liu@hxt-semitech.com" > , "bing.zhao@hxt-semitech.com" > , "Richardson, Bruce" > > Subject: Re: [dpdk-dev] [PATCH] ring: guarantee ordering of cons/prod > loading when doing enqueue/dequeue > User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 > Thunderbird/52.4.0 > > Hi Jerin Hi Jia, > > Do you think  next step whether I need to implement the load_acquire half > barrier as per freebsd I did a quick prototype using C11 memory model(ACQUIRE/RELEASE) schematics and tested on two arm64 platform in Cavium(Platform A: Non arm64 OOO machine) and Platform B: arm64 OOO machine) smp_rmb() performs better in Platform A: acquire/release semantics perform better in platform B: Here is the patch: https://github.com/jerinjacobk/mytests/blob/master/ring/0001-ring-using-c11-memory-model.patch In terms of next step: - I am not sure the cost associated with acquire/release semantics on x86 or ppc. IMO, We need to have both options under conditional compilation flags and let the target platform choose the best one. Thoughts? Here is the performance numbers: - Both platforms are running at different frequency, So absolute numbers does not matter, Just check the relative numbers. Platform A: Performance numbers: ================================ no patch(Non arm64 OOO machine) ------------------------------- SP/SC single enq/dequeue: 40 MP/MC single enq/dequeue: 282 SP/SC burst enq/dequeue (size: 8): 11 MP/MC burst enq/dequeue (size: 8): 42 SP/SC burst enq/dequeue (size: 32): 8 MP/MC burst enq/dequeue (size: 32): 16 ### Testing empty dequeue ### SC empty dequeue: 8.01 MC empty dequeue: 11.01 ### Testing using a single lcore ### SP/SC bulk enq/dequeue (size: 8): 11.30 MP/MC bulk enq/dequeue (size: 8): 42.85 SP/SC bulk enq/dequeue (size: 32): 8.25 MP/MC bulk enq/dequeue (size: 32): 16.46 ### Testing using two physical cores ### SP/SC bulk enq/dequeue (size: 8): 20.62 MP/MC bulk enq/dequeue (size: 8): 56.30 SP/SC bulk enq/dequeue (size: 32): 10.94 MP/MC bulk enq/dequeue (size: 32): 18.66 Test OK # smp_rmb() patch((Non OOO arm64 machine) http://dpdk.org/dev/patchwork/patch/30029/ ----------------------------------------- SP/SC single enq/dequeue: 42 MP/MC single enq/dequeue: 291 SP/SC burst enq/dequeue (size: 8): 12 MP/MC burst enq/dequeue (size: 8): 44 SP/SC burst enq/dequeue (size: 32): 8 MP/MC burst enq/dequeue (size: 32): 16 ### Testing empty dequeue ### SC empty dequeue: 13.01 MC empty dequeue: 15.01 ### Testing using a single lcore ### SP/SC bulk enq/dequeue (size: 8): 11.60 MP/MC bulk enq/dequeue (size: 8): 44.32 SP/SC bulk enq/dequeue (size: 32): 8.60 MP/MC bulk enq/dequeue (size: 32): 16.50 ### Testing using two physical cores ### SP/SC bulk enq/dequeue (size: 8): 20.95 MP/MC bulk enq/dequeue (size: 8): 56.90 SP/SC bulk enq/dequeue (size: 32): 10.90 MP/MC bulk enq/dequeue (size: 32): 18.78 Test OK RTE>> # c11 memory model patch((Non OOO arm64 machine) https://github.com/jerinjacobk/mytests/blob/master/ring/0001-ring-using-c11-memory-model.patch --------------------------------------------------------------------------------------------- ### Testing single element and burst enq/deq ### SP/SC single enq/dequeue: 197 MP/MC single enq/dequeue: 328 SP/SC burst enq/dequeue (size: 8): 31 MP/MC burst enq/dequeue (size: 8): 50 SP/SC burst enq/dequeue (size: 32): 13 MP/MC burst enq/dequeue (size: 32): 18 ### Testing empty dequeue ### SC empty dequeue: 13.01 MC empty dequeue: 18.02 ### Testing using a single lcore ### SP/SC bulk enq/dequeue (size: 8): 30.95 MP/MC bulk enq/dequeue (size: 8): 50.30 SP/SC bulk enq/dequeue (size: 32): 13.27 MP/MC bulk enq/dequeue (size: 32): 18.11 ### Testing using two physical cores ### SP/SC bulk enq/dequeue (size: 8): 43.38 MP/MC bulk enq/dequeue (size: 8): 64.42 SP/SC bulk enq/dequeue (size: 32): 16.71 MP/MC bulk enq/dequeue (size: 32): 22.21 Platform B: Performance numbers: ============================== #no patch(OOO arm64 machine) ---------------------------- ### Testing single element and burst enq/deq ### SP/SC single enq/dequeue: 81 MP/MC single enq/dequeue: 207 SP/SC burst enq/dequeue (size: 8): 15 MP/MC burst enq/dequeue (size: 8): 31 SP/SC burst enq/dequeue (size: 32): 7 MP/MC burst enq/dequeue (size: 32): 11 ### Testing empty dequeue ### SC empty dequeue: 3.00 MC empty dequeue: 5.00 ### Testing using a single lcore ### SP/SC bulk enq/dequeue (size: 8): 15.38 MP/MC bulk enq/dequeue (size: 8): 30.64 SP/SC bulk enq/dequeue (size: 32): 7.25 MP/MC bulk enq/dequeue (size: 32): 11.06 ### Testing using two hyperthreads ### SP/SC bulk enq/dequeue (size: 8): 31.51 MP/MC bulk enq/dequeue (size: 8): 49.38 SP/SC bulk enq/dequeue (size: 32): 14.32 MP/MC bulk enq/dequeue (size: 32): 15.89 ### Testing using two physical cores ### SP/SC bulk enq/dequeue (size: 8): 72.66 MP/MC bulk enq/dequeue (size: 8): 121.89 SP/SC bulk enq/dequeue (size: 32): 16.88 MP/MC bulk enq/dequeue (size: 32): 24.23 Test OK RTE>> # smp_rmb() patch((OOO arm64 machine) http://dpdk.org/dev/patchwork/patch/30029/ ------------------------------------------- ### Testing single element and burst enq/deq ### SP/SC single enq/dequeue: 152 MP/MC single enq/dequeue: 265 SP/SC burst enq/dequeue (size: 8): 24 MP/MC burst enq/dequeue (size: 8): 39 SP/SC burst enq/dequeue (size: 32): 9 MP/MC burst enq/dequeue (size: 32): 13 ### Testing empty dequeue ### SC empty dequeue: 31.01 MC empty dequeue: 32.01 ### Testing using a single lcore ### SP/SC bulk enq/dequeue (size: 8): 24.26 MP/MC bulk enq/dequeue (size: 8): 39.52 SP/SC bulk enq/dequeue (size: 32): 9.47 MP/MC bulk enq/dequeue (size: 32): 13.31 ### Testing using two hyperthreads ### SP/SC bulk enq/dequeue (size: 8): 40.29 MP/MC bulk enq/dequeue (size: 8): 59.57 SP/SC bulk enq/dequeue (size: 32): 17.34 MP/MC bulk enq/dequeue (size: 32): 21.58 ### Testing using two physical cores ### SP/SC bulk enq/dequeue (size: 8): 79.05 MP/MC bulk enq/dequeue (size: 8): 153.46 SP/SC bulk enq/dequeue (size: 32): 26.41 MP/MC bulk enq/dequeue (size: 32): 38.37 Test OK RTE>> # c11 memory model patch((OOO arm64 machine) https://github.com/jerinjacobk/mytests/blob/master/ring/0001-ring-using-c11-memory-model.patch ---------------------------------------------------------------------------------------------- ### Testing single element and burst enq/deq ### SP/SC single enq/dequeue: 98 MP/MC single enq/dequeue: 130 SP/SC burst enq/dequeue (size: 8): 18 MP/MC burst enq/dequeue (size: 8): 22 SP/SC burst enq/dequeue (size: 32): 7 MP/MC burst enq/dequeue (size: 32): 9 ### Testing empty dequeue ### SC empty dequeue: 4.00 MC empty dequeue: 5.00 ### Testing using a single lcore ### SP/SC bulk enq/dequeue (size: 8): 17.40 MP/MC bulk enq/dequeue (size: 8): 22.88 SP/SC bulk enq/dequeue (size: 32): 7.62 MP/MC bulk enq/dequeue (size: 32): 8.96 ### Testing using two hyperthreads ### SP/SC bulk enq/dequeue (size: 8): 20.24 MP/MC bulk enq/dequeue (size: 8): 25.83 SP/SC bulk enq/dequeue (size: 32): 12.21 MP/MC bulk enq/dequeue (size: 32): 13.20 ### Testing using two physical cores ### SP/SC bulk enq/dequeue (size: 8): 67.54 MP/MC bulk enq/dequeue (size: 8): 124.63 SP/SC bulk enq/dequeue (size: 32): 21.13 MP/MC bulk enq/dequeue (size: 32): 28.44 Test OK RTE>>quit > or find any other performance test case to compare the performance impact? As far as I know, ring_perf_autotest is the better performance test. If you have trouble in using "High-resolution cycle counter" in your platform then also you can use ring_perf_auto test to compare the performance(as relative number matters) Jerin > Thanks for any suggestions. > > Cheers, > Jia