From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-CO1-obe.outbound.protection.outlook.com (mail-co1nam03on0073.outbound.protection.outlook.com [104.47.40.73]) by dpdk.org (Postfix) with ESMTP id 5BC2D58CF for ; Thu, 5 Jan 2017 07:24:57 +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=lb/dIxUZ8YdhUi3QoVV1zwTcdHhMaFwQVqJ9Ie16qHs=; b=ZkPwGi/EYCwjyNLgTjfcWj57wcyOYG/14WvAhRzvo5fz7togX9rOzM4L4tQf2mdO1YkrEvd3E4kgMB069yYC3Ws0QNQcnyWE+R8EwdHHWViqSCrX4A9hopnwG9jkuEvi0cs9WwHIMOAgUM5O077sn229mEYe2q2aiRc5Ui7H2vk= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.Jacob@cavium.com; Received: from localhost.localdomain (111.93.218.67) by CY1PR0701MB1726.namprd07.prod.outlook.com (10.163.21.140) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.817.10; Thu, 5 Jan 2017 06:24:51 +0000 Date: Thu, 5 Jan 2017 11:54:31 +0530 From: Jerin Jacob To: Jianbo Liu CC: , "Ananyev, Konstantin" , Thomas Monjalon , Bruce Richardson , Jan Viktorin , Santosh Shukla , Message-ID: <20170105062430.GA14618@localhost.localdomain> References: <1481680558-4003-1-git-send-email-jerin.jacob@caviumnetworks.com> <1482832175-27199-1-git-send-email-jerin.jacob@caviumnetworks.com> <1482832175-27199-10-git-send-email-jerin.jacob@caviumnetworks.com> <20170104100104.GA6578@localhost.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.7.1 (2016-10-04) X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: MA1PR01CA0047.INDPRD01.PROD.OUTLOOK.COM (10.164.116.147) To CY1PR0701MB1726.namprd07.prod.outlook.com (10.163.21.140) X-MS-Office365-Filtering-Correlation-Id: 3afcfd2e-7989-469c-512e-08d43533905b X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:CY1PR0701MB1726; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1726; 3:uBJoCvwLJaDX6i6HyaaedMMsPI0PRkqSevSuS8cM3X7aePv1LqR2a+IruvW0sjK9zbMpIaGVHXFMpCK5+P3kPYONOJW4o3AMS30bTtmDlGl5vYUnWWalEUU/a/0UL/oaDogkdGbZSx6xxTFpsvi/QrJRVpS8fya4h/YWrOL/1ETC5R1dVMz1dxYjFvmTXB3Xx74t4Poxj42p1dKXAgDBXTNXhsuUESFVHPbRM5viyYgBWSAVGoQ2OnSsS9HyX4r+6FqjJ9E/r7MyzX6yRrzSWg==; 25:ty9p9eTm9b2VWCwO9qmhNR+0wxlZqEJeUIuxOMKtzxCHOalOwSf7i9BXOobIaPFZYdbXOeIl8SXNF59geWUvmO0awuWti7xLOL4rCNCypfTd8//IIA7lpKBC6u93F/coMoFyhY2ooH9qVCkx4lJjzT2j5NoHvdbmoAMsxnYbf6727qRIXghbEzMKcZiTCbUiX42Drok5TLIm1ma0k91vV82aDeCjow8Xs+Jrylh/lr6ZXcmPfTaOQI/wR8A26yRTclNMmC49Ef5LM6oOlkw1SADf0eMzCvJN+Fr+7cN/lTLWg/6YOF3Pt8BClu3BghL3CEVmyNlx2WUJJTdnE6vUY8sZ6JW6J0jArLOupd44rlQuE0ScPGonFy9en00Q2HP6FLLU+BJ3z1OzI/MYLGiJilRZ5nM/YhvkR2AQg8JPdJwOVxaiDZc3qX6u5lkM8aOHnWvqfoy6aG3JQi9hHE7SmA== X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1726; 31:B1ILqk+FJWN0fdmipPLp6MyjUCudV/auzbL9s98wTJ6ZewcUes5TioefTsz2JCx4pU1O336AjnwgXdHoUjIR1fbE4Gw6uzbgxce6DPCoTokyy//buybCVdzjxQCv3fji/4CH8qzOQmWYCZl4Q51G94GbkUv4lAKx4a/Mt32C+W/vJ6nfzOlpCRsdEHSRSNa+duZzUXFVKRBZ5JL0OefGaYnVSytOpkB4dDLoT+0liO1Azr4cssFDWM7xl2rKzSk/guFSSQmEvxC+FDJH9kWrNg==; 20:BBmanAB+/bpBeNquvMEcVmKefCBIU6hsv46Z8Q1uafcpJNg6k0+LLHDDQ4pOT9iIMhWZrnsKpkWD6MmM3vwftjFLXy4MVtkukaWIMueEe1B3c7bPuDxArEyLcfjXiNFA2LEAzEeBKR9yXT4Rbn3hMjVpI+/jm8E+19wR4b0bPWx8sGmgLrohRN2J4To+CKrza8ItxOEwPtK4niEpw7x18bW4qu6T18f33LiBQd151aN+NJB1iyNlsX96j16fW5AbJS2dY7MdiHle74QjWnhqwA6LPnP/EOOng2BT2NGYJH/h21pReCyJ3P+Bt0a0IXmLz7mcGMh/u7hFtAfcnj0wNSs/I8qNN+twQ2s/odFhpg97HWuHR2kbffyV2P2TBLnepTV2CQ5wleRhSFNGhwDFofikhBfOFNpyIxwVhCjhmYiA8amwf+jOBy1nPM4u/CfZQklXXcGwjDBcArduy7MiMms5NnIs78UgJksXvNH5959/Hr962AT2WXllRIY07HuQQo7h6Etw/4uV2uBOtSMcI/pk3gdAM++yjCpk2KXD+kdRWhmev61RT+AqwCVEhRGbAkw4427mqLJCs95PthB/iIDjWPJWmUfImjV3oyiuNIg= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(58145275503218); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6041248)(20161123564025)(20161123562025)(20161123555025)(20161123560025)(6072148); SRVR:CY1PR0701MB1726; BCL:0; PCL:0; RULEID:; SRVR:CY1PR0701MB1726; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1726; 4:tLalYTnooyW2mgKXO4R6runakPYVk87wg5P47WAzWyeqlHbVcfHkbwiI8krqxnJQs3OR6YS7etycBBw77mqbfWfmWNY8vsp9ix56mkD5Lc2PioOFRbUpImHRMYio5ED/0dnaNey0uMsvKJfb/X30QhkYyMPr1AtbanTgkuoLy5WkZaYgxUMeYFN3tUR7vxQ28z8WJV+8kRJmTJuBO9ooxp+r2a3MwTABoZ2yVnXNF7js05rcGrOa6owtB0BxWug/snUiNBXwiPbm08tgMWV2nq5YO0N9/93hk0LHdOLUW4iKJjIPMX7n0AbMdhj01/6ZxnxiS1L4WMs5sdIvcRAukJwAXW8dc9BCYh835HgiBVlTY9uy0XuhsgPy8HVH28W2A+bVumNQryo23GCPAOEegVwrDu/QFBJpcvOvlV3FeU3U1sqJDDD2b7EUHIZ3UqdDneBFsgnFvNqZM3HK+nxXap5di5VB1nUFxkNrC/uiGCPuJ+On0DIdFiNcdpj337HM8dY6VyS0oSMXOYSj+50wpj5kRypYHRJHIFejnf7mJV1b7pWPcDd6kXfq7ry1t8FtJvIdbrW5W6pEARsk8u5r6DAvGq3NHv0BociKzPkOC2h5cLJHEIdKZFzpWK0FSPrU X-Forefront-PRVS: 0178184651 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(979002)(6069001)(6009001)(7916002)(39450400003)(189002)(199003)(24454002)(42882006)(2950100002)(97756001)(66066001)(305945005)(50986999)(46406003)(47776003)(6666003)(50466002)(6916009)(6116002)(54356999)(76176999)(3846002)(23726003)(1076002)(9686002)(81156014)(68736007)(8676002)(106356001)(105586002)(7736002)(5009440100003)(81166006)(92566002)(101416001)(4326007)(93886004)(2906002)(33656002)(15380165006)(42186005)(229853002)(6506006)(25786008)(54906002)(61506002)(110136003)(83506001)(575784001)(189998001)(38730400001)(5660300001)(6306002)(4001350100001)(55016002)(97736004)(7099028)(18370500001)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR0701MB1726; H:localhost.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; CY1PR0701MB1726; 23:YJA4GZ+SbjHp7TKEXJ6qYflyNeXT/hj8YL3z1tY?= =?us-ascii?Q?cb62+4yxzv/CzotixkqGGn3v5wOhC+lqUJa/NVab0ugBAHoHTscd8By4bX1J?= =?us-ascii?Q?nzzTY1ooc8J5kUKOhMetZoUde53UduBzjnobbj22mE4tGQsMm/9LCrZTiccl?= =?us-ascii?Q?Qy6FRmZkralg8XULevMaodrOxagfJOEa7Q7iieqBZJt+nSL1zakI4rxrbvUW?= =?us-ascii?Q?JvYuCc0VkVmfGFkcxx9+vyYTkS5mFT4WKW2c4yjGrYPj7vMU9fKo9GyhS0Yi?= =?us-ascii?Q?eOk398VnY6i/49Ren9qZAGafKmTyDen5Qgup9u2WSt0mKkgT040pXeinfr9Z?= =?us-ascii?Q?0uxLhYBuXHrjVu6cTQlELxVMtEhVM6Ol/SkcQ2uMfhfteH9vrmbYNUjmBQda?= =?us-ascii?Q?h4zo5k8+nlHmafWHqyIvQp5LV1O8bZhJM7vuICPqNalRSX/U+BnmG1iqGfCE?= =?us-ascii?Q?fw9qPcYEYgfmbWEIrUBhurTCEEasigoym5gLTv1pBvIrKC3m8B7NmeEd2MOC?= =?us-ascii?Q?9H1uBiRYrlAdQIp2p7JQO1ZHUSb9i59bBS+yG4lGVP9bBolPkQtzOTAgyauI?= =?us-ascii?Q?IPUsjak7pRzyAlVB4yyPwNGJxNnqXs6yxkzedv21AvXffdb5A7/QO0y27t2+?= =?us-ascii?Q?EHz1OXYSGuqDoP9Ac2IzfCycrdoV0WUQHuMbbb02gKTQD7H1sJ033iRtlVF/?= =?us-ascii?Q?57s9WzW82vHVuBFdYSLlieDBomGDadwv2Vgjlvubaa/Ry1Z4UhGocGscAKwa?= =?us-ascii?Q?U+HDL8+ub1ceKj2q8WQNSJglopAkGCFRf49udlHDrvO5baMEki9//ytMh5XZ?= =?us-ascii?Q?XaRoroQvE0F4JA7+y5FKgc6ykey4FeqtZn8TPazVJEn361Lzs1B5Q7rVgt4G?= =?us-ascii?Q?l9c04el5b0k7f4gK5lMcmP6zQ3cwFzpWl7GCyvbxt52pVEwGQQOVY484br9A?= =?us-ascii?Q?dORVmvv2U1FqzGqlVYJuxc3eyeGvwnH6KcJaudGDGjpD2MBOE9IWFIYAvUOL?= =?us-ascii?Q?svSXdr3dDmDI7I7AXR3IQsKg3MUqeWGt8CFnB3XzHAI0wVUAhBl5/tAwke63?= =?us-ascii?Q?Jnt9+jeA5K7qecni+Y0Kyn5dop0E7RndPtYS98YBish5jrscE1rgxOeuyj+e?= =?us-ascii?Q?Em2QcQu5qZjq2fv1Oo33ZVO+XNDrnouAh8OOfpdSePCReRFOCM6J2ElE8yvB?= =?us-ascii?Q?q6Wxh8Y1J+o7mQdjIrXBUXss5LCJx0rdsKp05wp395AgMwYXVRkFXnZfrotv?= =?us-ascii?Q?u7i4cyO4uYiYlSKdLDKKtCoPla2xFVq0MQVuMZv1MMMj0dDquerYE/5ENvXY?= =?us-ascii?Q?K9/pOdMZIh0fuJsemUF/Di+asg3sXsZW2bT5B51tTdlv0SYdgy3tnqy8wHuf?= =?us-ascii?Q?VqMUHt7Ec8PqMh3IrpVReGvYBxYvoPMgPUQHTIU26m3IEwRh0qfynmogxbdr?= =?us-ascii?Q?RGsRADHhnFv28JaGevDak84mfKi7Ua5a53fizGbs/ir6rbcM3sDvOhdCYj3k?= =?us-ascii?Q?CsY120hL7vp9Dd/Y6dtSQPOVN0OJANgXbytA=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1726; 6:UZlfoDb2NPherY9tGdDWk/SyHaenb/mSA5+Q9rgipW6H1cxuKNyKZBGyYOrMq662rk3Qob8vSg5y9DapVtSU0HSIuOe8CiEJTyL51kJFb/N/OKO14+N830BdPtJYAm8p+u+HDRvlRuV3KLhv9dGKHrYMRJgbBUY9U5O4Z+KoW17CnzSJ8f2N3Ar/HXm+0rqGk9nWN5DaNoBqhgP9XPKcdBa72/W/qtu76cUbhlEbsT1DPrvA4FgPp49kC/u7krGIgvJnIKfKfUauZKAyTtA2PnGeQWKVg+AYuVwJfQ50r5zp2eVPvH/oN2wkUFvF7qaiVwgtBjdZJiq1TMkQSQtRRvsxfyQzbaPwtmKfTsKSdPW82O8dT92Yg6Mi1mNbDEt0gVrYGK5HxYScQ4sme/9HG7I/xSX0u3161N4LO7lmwmM=; 5:0JgSAMlkccDSkiS13AbD+ceCV1Sz2FjNuvrB8hEt232cKhzr4CpgO9vU3DKoqyQpTvOCNySEiPChhS/3Eg/mzr4IfOt5tnRYiFP3wAxd+uX+OZqfW7VzVXgxFJd8RYC9Heyks8FBzFMWFdWnT++tvQ==; 24:exvyfZJvl8iIvKn6yx/FgVDBWIYc/tzcrTmCNy3LwiWe6MFUUuFkO7F5o8MiZDxPVbUAESr7KmbpcoW9GZhwk3EApP1fXqovRUL/GYFyH7U= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY1PR0701MB1726; 7:hR1csUDbQx9lQHn8lVq/wmC1JdW8/Zjy6YRmPGhw+7+ZXcZEkpLz4pdkch2X60OiwZWb4NT1GJ5uveh25MVdazAao9/rXvSMuO/3kG4z9Iv49gBHJ9Tw/poQunp2/yCCvEpiQCuZAcpTdaUZ8D8nl2VyABNn67ReORLmB85gl08TLpXVWGnaDs9pDs5m3nL4qhFqMW/pm+e/z3v1NLakt7DQ1yp+pTuGzOo29zZIBsXlcz43J7++MyjLQFtUOx13mDeWqrjdrsljY1M0UlJZEdmDt3XIYLW09h8ap9r396lrRArS8m1lJiotAiI4R9w9NIuy0sMEJhItxTDFmc/qIPgFvjGSkq9DxYOp/vwARlYklXG5deM0r2X61TvmMx4639SQ+wULpLX2yyaY+gVfz++DG5OqTG/+tpJ5kvQuF6dHR52G+ZaH83fcvb9YX75jQd+yVNGqmsRqVQCFJo6FrA== X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jan 2017 06:24:51.7901 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0701MB1726 Subject: Re: [dpdk-dev] [PATCH v2 09/29] eal/arm64: define I/O device memory barriers for arm64 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: Thu, 05 Jan 2017 06:24:57 -0000 On Thu, Jan 05, 2017 at 01:31:44PM +0800, Jianbo Liu wrote: > On 4 January 2017 at 18:01, Jerin Jacob wrote: > > On Tue, Jan 03, 2017 at 03:48:32PM +0800, Jianbo Liu wrote: > >> On 27 December 2016 at 17:49, Jerin Jacob > >> wrote: > >> > CC: Jianbo Liu > >> > Signed-off-by: Jerin Jacob > >> > --- > >> > lib/librte_eal/common/include/arch/arm/rte_atomic_64.h | 6 ++++++ > >> > 1 file changed, 6 insertions(+) > >> > > >> > diff --git a/lib/librte_eal/common/include/arch/arm/rte_atomic_64.h b/lib/librte_eal/common/include/arch/arm/rte_atomic_64.h > >> > index 78ebea2..ef0efc7 100644 > >> > --- a/lib/librte_eal/common/include/arch/arm/rte_atomic_64.h > >> > +++ b/lib/librte_eal/common/include/arch/arm/rte_atomic_64.h > >> > @@ -88,6 +88,12 @@ static inline void rte_rmb(void) > >> > > >> > #define rte_smp_rmb() dmb(ishld) > >> > > >> > +#define rte_io_mb() rte_mb() > >> > + > >> > +#define rte_io_wmb() rte_wmb() > >> > + > >> > +#define rte_io_rmb() rte_rmb() > >> > + > >> > >> I think it's better to use outer shareable dmb for io barrier, instead of dsb. > > > > Its is difficult to generalize. AFAIK, from the IO barrier perspective > > dsb would be the right candidate. But just for the DMA barrier between IO may > > be outer sharable dmb is enough. In-terms of performance implication, the > > fastpath code(door bell write) has been changed to relaxed write in all > > the drivers in this patchset and rte_io_* will be only > > used by rte_[read/write]8/16/32/64 which will be in slow-path. > > So, IMO, it better stick with dsb and its safe from the complete IO barrier > > perspective. > > If so, why not use *mb() directly? Adding David Marchand, EAL Maintainer. Instead of rte_io_?. I thought, IO specific constraints can be abstracted here in rte_io_*. Apart from arm, there other arch like "arc" has similar constraints. IMHO, no harm in keeping that abstraction. Thoughts ? http://lxr.free-electrons.com/ident?i=__iormb > > > > > At least on ThunderX, I couldn't see any performance difference between > > using dsb(st) and dmb(oshst) for dma write barrier before the doorbell register > > write in fastpath. In case there are platforms which has such performance difference, > > may be could add rte_dma_wmb() and rte_dma_rmb() in future like Linux kernel > > dma_wmb() and dma_rmb().(But i couldn't see all the driver are using it, > > though) > > > > But there is no io_*mb() in the kernel, so you want to be different? It is their for arm,arm64,arc architectures in Linux kernel. Please check writel implementation for arm64 http://lxr.free-electrons.com/source/arch/arm64/include/asm/io.h#L143