From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-eopbgr10089.outbound.protection.outlook.com [40.107.1.89]) by dpdk.org (Postfix) with ESMTP id 219512C5; Wed, 8 Aug 2018 03:39:39 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=s79JHkguJoM1m2iLFpCfpFhuASorjReUIadgq0kMOwg=; b=c6R7qMwSj3ZetPJAkWxHPx7kd7aSybh2Ib4wigko80Ixy0XFSNwHtztd0Py4YKaoCWdldhxl5uNvAgCOJXxDA2/u/aEyb8TtOFlT0+uzkNGU+59QOABfa0fmsMunuyY4utVsOT1XXxueYkNUP0y38LPIqu+IKNK/O8oO143Ru88= Received: from VI1PR08MB3167.eurprd08.prod.outlook.com (52.133.15.142) by VI1PR08MB3678.eurprd08.prod.outlook.com (20.177.61.93) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1017.17; Wed, 8 Aug 2018 01:39:37 +0000 Received: from VI1PR08MB3167.eurprd08.prod.outlook.com ([fe80::e122:5d23:5e33:b62e]) by VI1PR08MB3167.eurprd08.prod.outlook.com ([fe80::e122:5d23:5e33:b62e%3]) with mapi id 15.20.1017.019; Wed, 8 Aug 2018 01:39:37 +0000 From: Gavin Hu To: Thomas Monjalon CC: "dev@dpdk.org" , Honnappa Nagarahalli , Steve Capper , Ola Liljedahl , "jerin.jacob@caviumnetworks.com" , "hemant.agrawal@nxp.com" , "jia.he@hxt-semitech.com" , "stable@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH] ring: fix c11 memory ordering issue Thread-Index: AQHULSNjpUJVIWULMUiw1lQiKNltiKSyctYAgAKhCJA= Date: Wed, 8 Aug 2018 01:39:37 +0000 Message-ID: References: <20180806011805.7857-1-gavin.hu@arm.com> <1937068.bZVvs4nVfc@xps> In-Reply-To: <1937068.bZVvs4nVfc@xps> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [113.29.88.7] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR08MB3678; 6:/5jjB8QeLRgmvJuQVbRj6AKRxhvP/CCMmSwgwp6AG0OYS7orDyxhCC5afiVYj3rUtdFmq6W6w6Ov3oLTft1pUolJ0iW49kHtXJW7eDodBUnN78a8R49PyDO5EqWYxqAbru86MItQIH1cmDIjO6GyzBhLjgOBWt5I7Ox7eXwCrfmRRiFzih22mg6NSYLWvfB42Ln2EugdyKBXROZ4EsKRcnSrb4LlhoK6NZzSDpvc6Prt2c8QoHF8SzhnLb8AubKiXqE5P9PXLORw9SAveWsAJDRFNUWiUBqj1rkhUt6zSooJRDuldlx/g6LyMx90nIZyMp0nmpiZqIKqENqt1H53s4/a7QYI1IfsvUzLBXyw3mB6LfaCU/NLRTsZIFGAe6Yd3ppWanG7ltywz34HDlXUJhq/hgGVb0HPgUMgXNLsQt+9TxSdgR8KVgBhSG4sSm0SQ/tinBR/mjX4VIHjfKynnw==; 5:EY4x08PtCLc3kJUEul8Z32aq+1ZEw9uvFjidMbUI/3oCx9n2yXKLfFBQ9mMmtFtFBQ5FBL2pbfQn6pQfFepQ1aTBN0sej4qAzYgbW4sEkA0gZ87J+/gquHdxMk1hH4Y0iTROgpqPjZEJuP2XBURgE2pX0i3JkJ2N3vMI5ygAJJ4=; 7:QI27ZpgOYPjMyvJ6gQHm/0MKL60HMEnohpx0g1824ZFM8wFFKsLwtnjKslat3wsC6ifv9Ob9mSfa1UPr9ozPeT6l9mtyk+J26uiYh3tSKFQ38UHGlnTm4eZw0hjcXrRvUIlES4+LfRicmc0jN74DqYarAA0MGuz3+hJv5/pk5VaTqCLBUXizX8Yd0dxLsLAqh8EuEANZbpaxG5vOI8dUC8u1nlpepxVENHVEZ+howytb+Dl+z21+57HZgA0eRePa x-ms-exchange-antispam-srfa-diagnostics: SOS;SOR; x-ms-office365-filtering-correlation-id: af783662-fedb-49a1-722c-08d5fccfcd59 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:VI1PR08MB3678; x-ms-traffictypediagnostic: VI1PR08MB3678: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Gavin.Hu@arm.com; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(180628864354917)(185117386973197)(223705240517415); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3002001)(93006095)(93001095)(10201501046)(3231311)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(20161123562045)(20161123558120)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011)(7699016); SRVR:VI1PR08MB3678; BCL:0; PCL:0; RULEID:; SRVR:VI1PR08MB3678; x-forefront-prvs: 07584EDBCD x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(396003)(39860400002)(376002)(366004)(136003)(13464003)(199004)(189003)(40434004)(5024004)(14454004)(26005)(478600001)(2900100001)(81156014)(6916009)(256004)(9686003)(14444005)(8936002)(6116002)(72206003)(3846002)(11346002)(25786009)(86362001)(2906002)(476003)(446003)(81166006)(68736007)(486006)(5660300001)(66066001)(4326008)(55016002)(316002)(76176011)(99286004)(5250100002)(229853002)(6436002)(54906003)(53936002)(186003)(106356001)(53546011)(6506007)(105586002)(102836004)(97736004)(6246003)(33656002)(55236004)(305945005)(7696005)(8676002)(7736002)(74316002); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR08MB3678; H:VI1PR08MB3167.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: UnPj7IdckUYaqKi4zUJnPwRaZ4s6/7YwsVEBp0d16bXeUDTVAPvt11h41vwmGxfihjXGhVR0/B+xRwP5Z9KJDfBVqPDs8HMCUwyyxjUGDckZdGQmYob90bJ8ApFdSaMyK+mld5VFftXx5ZNe8/dQ5y+/LQ/RbTXyS5yoFzpdZCak/IgMV6aD3qKyxuQWVhst0vJac69+GdQa7dN8OQC1a7aoitgKHx2AQ3jKkcEHiNqrm3fujHathEztVh/SvhPeTYqyuS68PWPOhmcnrNT2TcxXkCixdgaoK8xXOkDW2Ygd+hBRuQ9tlO4p0ewcbCl6iV0rYD9xOYAfHfs31KRXpriX5iCxRdVeUT2fOYQOuX8= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-Network-Message-Id: af783662-fedb-49a1-722c-08d5fccfcd59 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Aug 2018 01:39:37.4642 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB3678 Subject: Re: [dpdk-dev] [PATCH] ring: fix c11 memory ordering issue 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: Wed, 08 Aug 2018 01:39:40 -0000 Hi Thomas, I updated the commit message in my v2 patch. Could you check if your questions get answered by the new commit message an= d this mail? And what's your opinions of splitting the patch into 4 smaller ones(2 bug f= ixes and 2 optimizations)? I got this comment from Jia He, he is the author= of this file. >>What is the consequence of the bug on the behaviour? Potential effects could be read of stale values. >> What is the scope of the bug? only PPC? The scope is all weakly ordered architectures such as ARM (32- and 64-bit) = and POWER. -----Original Message----- From: Thomas Monjalon Sent: 2018=1B$BG/=1B(B8=1B$B7n=1B(B6=1B$BF|=1B(B 17:19 To: Gavin Hu Cc: dev@dpdk.org; Honnappa Nagarahalli ; Stev= e Capper ; Ola Liljedahl ; jer= in.jacob@caviumnetworks.com; hemant.agrawal@nxp.com; jia.he@hxt-semitech.co= m; stable@dpdk.org Subject: Re: [dpdk-dev] [PATCH] ring: fix c11 memory ordering issue Hi, Please start your patch by explaining the issue you are solving. What is the consequence of the bug on the behaviour? What is the scope of the bug? only PPC? 06/08/2018 03:18, Gavin Hu: > 1) In update_tail, read ht->tail using __atomic_load. > 2) In __rte_ring_move_prod_head, move the __atomic_load_n up and out of > the do {} while loop as upon failure the old_head will be updated, > another load is not necessary. > 3) Synchronize the load-acquires of prod.tail and cons.tail with store- > releases of update_tail which releases all ring updates up to the > value of ht->tail. > 4) When calling __atomic_compare_exchange_n, relaxed ordering for both > success and failure, as multiple threads can work independently on > the same end of the ring (either enqueue or dequeue) without > synchronization, not as operating on tail, which has to be finished > in sequence. > > Fixes: 39368ebfc6 ("ring: introduce C11 memory model barrier option") > Cc: stable@dpdk.org > > Reviewed-by: Honnappa Nagarahalli > Reviewed-by: Steve Capper > Reviewed-by: Ola Liljedahl > Signed-off-by: Gavin Hu Your Signed-off-by should be first in the list. These tags are added in the chronological order. IMPORTANT NOTICE: The contents of this email and any attachments are confid= ential and may also be privileged. If you are not the intended recipient, p= lease notify the sender immediately and do not disclose the contents to any= other person, use it for any purpose, or store or copy the information in = any medium. Thank you.