From patchwork Sun Jul 24 17:07:40 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerin Jacob X-Patchwork-Id: 15004 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 148514AAD; Sun, 24 Jul 2016 19:08:11 +0200 (CEST) Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0066.outbound.protection.outlook.com [104.47.41.66]) by dpdk.org (Postfix) with ESMTP id 93BCF47D1 for ; Sun, 24 Jul 2016 19:08:08 +0200 (CEST) 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=txWQ/cioX+QN1Z0SRArlHqMCDsDxFbq3ajo9NM/Co20=; b=T2YdYZiIgoGsWttjL3/Kxsw/D7lx8ogV96tqMkAkvr+YZNv5vITXg0PRW53RiVZxSzCyDyF/P6SIefmmmc6XmX3l2O91yZTcd8T1laVJxI6bub4JFu+78lWv9Zd/y3AsLZJHB+0VqTG0NfGlX3gngGBBxavdmyJjoj0I/0vPHpo= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.Jacob@cavium.com; Received: from localhost.localdomain.localdomain (122.167.222.104) by BY1PR0701MB1722.namprd07.prod.outlook.com (10.162.111.141) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.544.10; Sun, 24 Jul 2016 17:08:02 +0000 From: Jerin Jacob To: CC: , , Jerin Jacob Date: Sun, 24 Jul 2016 22:37:40 +0530 Message-ID: <1469380060-26696-1-git-send-email-jerin.jacob@caviumnetworks.com> X-Mailer: git-send-email 2.5.5 MIME-Version: 1.0 X-Originating-IP: [122.167.222.104] X-ClientProxiedBy: MAXPR01CA0023.INDPRD01.PROD.OUTLOOK.COM (10.164.147.30) To BY1PR0701MB1722.namprd07.prod.outlook.com (10.162.111.141) X-MS-Office365-Filtering-Correlation-Id: 2885b9ef-fb23-4270-4683-08d3b3e5137f X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1722; 2:p+O+ACnKmfQuSom94j8W4gFewDXm03T11gRldYgKq+DrhZ1GHGXFgvjs/SJ+TJrOiHNp9OWIifxIQJK/2ME5kc++/HBPP5BQS9TnujbDgdsDMPmLlvYKgogXvBf/Sx5frusxBGkfwj5CbVkThCvDZGcsz0vYVz3cy89wiOqDW9ANyIYaBZu1K1jqdrwuJU0Y; 3:dRzv7pbdFj7U+IuHPvlLQ5ry0ZCHMr6dymB7koDRnakcs5Lj0ZFfTSfi2qTdHCAkhsHLwRp24tIec1xvvNTuHA4DYLbXb4c0ogqv56/p+BwJlm4yO4w09es1GcxLQ4Ri X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY1PR0701MB1722; X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1722; 25:y8uSfxS178W/CIGReutKYYNGEV7geQ+BVWcCXwm2l72idVLIs5KVG7vrAPHPDQDC+S3cVL2sIHDMY/1tE3CZRB7O5k8up43p18TjGS/8Jo5laM4x6M2sUZU8QlsilXlvQxoGQ8b8j3JmS5tYPOvz5n0Q6rObvMWnkciY//KaMC7ZVuMpPuiQOmxiLLKV1YstpnVCndnfh3KBUx+i7IlO7Odxg5bARpwoHgvhjv0jg/R9xS3kTWeFCvLRlTPaiBPpblJP5RuT4LiCTm/mCvUyIPzkhg3e8GdKeDPYEzdJkwIdGfbMrWmqP4yBLSZOnIX516XcOy1QAFuWbcuAuaOXiJnsthZBNl4bZ2r4H6RLgIKNwMhISNggx2QGuasdAWmq+ylXRMASrJ+DGb9+dUg4YbvMU+opV5UxuqOa3xtf58Jy86u4X0QMuKV9L3FbW0M7LLFQtZI4LiZDIgvJuaPSNUTncHQCmpyOw+nlbDF1vzUf8sjYu/0N6fplTg5tJlK4Kdcv1d2O4o1xK+sp6bqdP3rOGQeHd9i1PR3LHCpIGRbzJycvgRcLXu18DtuZo4XZYJ5RdRLutbtCACCAk9pEmnYB/wvhh7T68pDx/06KSMjyfiYz72/p3QPRqFL2MTL2DcPbZ/K+/g35Ik3LCE6CEeOt3XbYXZtRKeDqUEVisop+UIV0MGpXYFN1iwfg2cxGk5BKztmd2QQ052wvV+7YP3ND05yOh0pR+XrwP6ri5+HN44LVyFulKHLg5/giuZWMbhjTQu2QDat4sCHbZC6BGQ== X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1722; 31:4RNnN+ciBLqOKEYfAvWIQH9dOh9p7bd+yZ8yEskOUjE1BgO5gxtvPXseZsQMc65xOfAFLUbQ6e4Uimt/61j8Z+v3n3D5JCI1Fja9sz7e83J8A6erXRDaGdkCOA1E2fK8dwnZ3JdW4m8SznYh/404/GoPm6U3B5teerjgAPJvbrmmP/j/x5b/z8jT/uNjDt3CFv6GM7aGhPdL2I6hbnDPRA==; 20:2hXDsacUoZ5CX0Q0G+drqYjib5F319/T56/gy8EL4mwZeJEGlSC/jYhikUzMOcO1Co5HozElJ05kO/PsNaZw5HPfB6MWwod5423Onw7OELJPhNNG8fmlwwTotCRSjbnZIoisLmwrHADqDvy58TbD4ur+OPJl7oddCeRJ2CjGEDill/hV7amx0se9J6HWGQ0A1sRbfrqUSKCivM2aAlTw5Ja9i+SsMCHUmnZafyRFKJCxiYU6U+H3slS0DMZBXMB0j8wfIUb0P25M6p5DKRDSdnPGzkOl70stpZFKe/IHtep/9Pk+e5cgEsvY8qZuR37O5ayaw7ec3HzmtgqyI9h1mGGqsXDGQhA65IqubnS9sqTX2dWczH4bvN61dRFL9igTnJ1Cnv4u0yTVu0QyWpjthlTz05lWn1iR8jGt4qJcfl3gblEb5iIQfUsBqFMhX+xmKbqBZldE4KuUBBPoNB5ihrpdWu7N2+d0yOp46VvVVdtpuxRnC1Znr2KdhBvfdFU4O6oCJewo3W3t9nEq4MntLljnKmz5xb5n1G4y73BsZ08ktToExFAHtuDFsi/H8s9jSRXQxQCaoT6MVCml1WLIB8QpLuL1U4TaMFEriagn5/8= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001); SRVR:BY1PR0701MB1722; BCL:0; PCL:0; RULEID:; SRVR:BY1PR0701MB1722; X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1722; 4:ZE6fL7cuq42QsMGE86bwGS3T7JxC1oqaGwMyP0Bg3WVIU8InGR+loADNYF5u4g0IzV8QDwCgzjZBf/2IwhmBYwPbz3RK9pBAQgpz7XhaKXZ/N+l5osEahjoNMYEmgxjsNca51Ea84MrSmjd175ou83IJeQxCBak12MNTmFROzJ0gLUprgKx2OEJ7wsVIENFQkPmcjF+pLwTqjE8cRqW5obkkou26R08UZrHD/4EwiIH1vfoVUEgecabFJHuogADoZdihJMoF9B+7MOhoSPyQohXfeMa3c1LbHEGYKLDsfv6X6uLg1zy+SyOFmIgh2Eyvs6aw/qsoHczBfP5VXOrKUJ0w86B274r95MKEAi1voaQMC2qz2bvfirjJXLQw8B0g X-Forefront-PRVS: 0013079544 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6069001)(6009001)(7916002)(189002)(199003)(105586002)(36756003)(81166006)(48376002)(50466002)(8676002)(5003940100001)(92566002)(81156014)(4001430100002)(77096005)(305945005)(586003)(33646002)(19580405001)(66066001)(19580395003)(47776003)(4326007)(110136002)(107886002)(42186005)(68736007)(2906002)(50226002)(101416001)(106356001)(7736002)(7846002)(50986999)(3846002)(6116002)(97736004)(189998001)(2351001)(229853001)(7099028); DIR:OUT; SFP:1101; SCL:1; SRVR:BY1PR0701MB1722; H:localhost.localdomain.localdomain; 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: =?us-ascii?Q?1; BY1PR0701MB1722; 23:Fj4tJmD4EJnSoVy3K8ziVxB+HfbxV8hYqzQ97D1?= =?us-ascii?Q?nlNxj/JQNbyD+Q+SlKgQjkjFP5s6yC0ClJRqw91AAtzwKJ98L+zaRYxwPVFX?= =?us-ascii?Q?BEh4zCwAamDgtv+DuW73Rvb8Ex9yIB8vM0d0ftrbFwyNDkAtCAImmpu2iAgs?= =?us-ascii?Q?zd8817ImYdaPjeqE6vlo96J8dOlj6pb7jb9wpO4/oKPqK/xmoNjZ0VUQcxDN?= =?us-ascii?Q?8KFH+uO6kcwpOiz0z4ZR6E9JODHkT0PcVB+X5bc1nCMv0cwLOMPhRsPRlsyE?= =?us-ascii?Q?d+kZyhcsUtqlC7yAjqKnEvztlH+I42gxVgobVgAlt1XVCkVT5OKe4OQWr2Pj?= =?us-ascii?Q?imtIppBkxybli2oZnbRHxH1dG+upcIEMqJym5ROupWkbt1N3/Scba1Ly06br?= =?us-ascii?Q?gOYMTt5jkyNurhP61iNFNQO6v6o6wfhBxTrXVAsybkRstfbcEwGDVOMIcSWw?= =?us-ascii?Q?/7PmazAUWW8Rmjd+ae+sgg8jMLhPCaMkPZrxRtTGfN2Y8HL4/m9q4VFSgBRj?= =?us-ascii?Q?McrO3Qnu2LcZd7xoVoiW93ZhEv4Zs1BiXK/HGbkxpwnYImB//j26Hfq5zDDN?= =?us-ascii?Q?uieiH/ZZ5skynXlPXq2qf10TQ3j6GePNib0opVJvYqkpW+hMd48f+sn0k4el?= =?us-ascii?Q?1uMs4LyIF+IrynVIsdByx6lY13Z+t669ePvaLvBwsaF20Nq9SbeFpQhdE6o+?= =?us-ascii?Q?Yy1eMJbMRlbaiBpM8eSXXskMsh1aSIc8EGy6qEName5PqmdieK5yXcv1FjH9?= =?us-ascii?Q?uQ5EIet5xQiaf7MFW8PgnF1TdgBjj0KDJ5dC4JXxREK37926jV9eiYEj7ILP?= =?us-ascii?Q?c11hEN7pwpZ2NIweu0yRQba5+1eKpQEEYQk7x4UeCy94s6ILO7QZwccjw9FJ?= =?us-ascii?Q?H+8tZ7fJLYxtiKZ91HDK7coBZVxtt9rUM8hTKu3vqQjGXt5VokfWSvd2ueMU?= =?us-ascii?Q?BptI0vrPG2ldh6M/SN4l60IxyMYi+SHkNn+V1U6ZLLoRLb5Q5rh/zQh1bp/B?= =?us-ascii?Q?JtnPjPrSRJDHm8vCiP22HvsOpQS7H9yLbjOHtevOOqXd7DXlOTw/k9c7gwhL?= =?us-ascii?Q?oXZPy8t5cNsDkhFAnuZcRTdEnYSQzItuzzF8g2o6v7Ml5N3JZvg=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1722; 6:QX+Oeexi3nceX/6bvBqc6eSQ4v661UQbCNwatVpOv8ofYWnAcR0FcA5LddrgN1F+HGxhA8EqW0nvn3j+zgkZpORSU2LL2fNPEn5dnOvPG4hbopA8y5q2REOD2WCaAi8kBeSy0/xi3mlBLSTxCoEFlep2nkTSPLwbeCJpjqQ104ijk53zMfF7VqwPGKFgaA+XpPD4LFOYpdSi2BPy/1BI3Vq1VfkaYa3C4nncrwvpMMox72PirDEyWx58xewNyBYSilD6X65OT7VEhEOgqvmH93uUAzq5Fw0/0ha9A5p6u+8=; 5:j+4w0d/hknBf4Fvf8CF89Jvsb5Bk4aZl8IK9HqF9DN5Y9bpTUNhnUVSfXasy/TLbiYxxrBeMism1rdlRJIJqHzyPmGgYbPyS5V1jjwkP/yaaw2YauQvsb6lfsJ2OLqAiOgewSymDnQqrrjTvDb0LRQ==; 24:3TG5ukx/3hk0e9Xlkk53icbQzqLncPsNyAefD7QvbLkIGZq3w+TBifZZowmxMEyMHi47Uo18YDNqjMXMBwKVOcajjU6y78QhNLl9ikAdRv8=; 7:ugCsmX96Qk4jkDG4u23HEfO7rNMlXaV7yrC2+HttOcMTAUB+Jm80CqwLoq5YTf9fq2/1NspybsuGarku4bHtUTSnkoWLnr4UjOD7cpwS+rNqnxPGfQ0MUW+5h7cekDTCBMHl5KqBfso8wl9oT5fqVvFriue46IG1czCO9BPjF8K/pAMaVjd+++AZZXjHpxBO2mOuB+QEMycl/aEzNXnJNe5QIO1p7K8A3uELXALiN2gQ8PhiNbD2T1rkZ5Yc9odj SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jul 2016 17:08:02.8298 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR0701MB1722 Subject: [dpdk-dev] [PATCH] ring: fix sc dequeue performance issue X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list 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" Use of rte_smb_wmb() instead of rte_smb_rmb() in sc dequeue function creates the additional overhead of waiting for all the STOREs to be completed to local buffer from ring buffer memory. The sc dequeue function demands only LOAD-STORE barrier where LOADs from ring buffer memory needs to be completed before tail pointer update. Changing to rte_smb_rmb() to enable the required LOAD-STORE barrier. Fixes: ecc7d10e448e ("ring: guarantee dequeue ordering before tail update") Signed-off-by: Jerin Jacob Acked-by: Konstantin Ananyev --- lib/librte_ring/rte_ring.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/librte_ring/rte_ring.h b/lib/librte_ring/rte_ring.h index f928324..0e22e69 100644 --- a/lib/librte_ring/rte_ring.h +++ b/lib/librte_ring/rte_ring.h @@ -756,7 +756,7 @@ __rte_ring_sc_do_dequeue(struct rte_ring *r, void **obj_table, /* copy in table */ DEQUEUE_PTRS(); - rte_smp_wmb(); + rte_smp_rmb(); __RING_STAT_ADD(r, deq_success, n); r->cons.tail = cons_next;