From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751909AbcFXSAf (ORCPT ); Fri, 24 Jun 2016 14:00:35 -0400 Received: from mail-by2on0134.outbound.protection.outlook.com ([207.46.100.134]:12673 "EHLO na01-by2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751855AbcFXSAd convert rfc822-to-8bit (ORCPT ); Fri, 24 Jun 2016 14:00:33 -0400 X-Greylist: delayed 897 seconds by postgrey-1.27 at vger.kernel.org; Fri, 24 Jun 2016 14:00:33 EDT From: KY Srinivasan To: Davidlohr Bueso , James Bottomley CC: "peterz@infradead.org" , "mingo@kernel.org" , "davem@davemloft.net" , "cw00.choi@samsung.com" , "dougthompson@xmission.com" , "bp@alien8.de" , "mchehab@osg.samsung.com" , "gregkh@linuxfoundation.org" , "pfg@sgi.com" , "jikos@kernel.org" , "hans.verkuil@cisco.com" , "awalls@md.metrocast.net" , "dledford@redhat.com" , "sean.hefty@intel.com" , "heiko.carstens@de.ibm.com" , "sumit.semwal@linaro.org" , "schwidefsky@de.ibm.com" , "linux-kernel@vger.kernel.org" Subject: RE: [PATCH -tip 00/12] locking/atomics: Add and use inc,dec calls for FETCH-OP flavors Thread-Topic: [PATCH -tip 00/12] locking/atomics: Add and use inc,dec calls for FETCH-OP flavors Thread-Index: AQHRyy9Bm9eNMerUq0WAnetRqFAsv5/42W2AgAAMZwCAAAPIYA== Date: Fri, 24 Jun 2016 17:45:32 +0000 Message-ID: References: <1466453164-13185-1-git-send-email-dave@stgolabs.net> <1466786765.2343.37.camel@HansenPartnership.com> <20160624173028.GA24658@linux-80c1.suse> In-Reply-To: <20160624173028.GA24658@linux-80c1.suse> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=kys@microsoft.com; x-originating-ip: [131.107.147.50] x-ms-office365-filtering-correlation-id: 848aabd1-6c36-4bf9-2680-08d39c57573a x-microsoft-exchange-diagnostics: 1;DM2PR0301MB0781;6:2pqUmDTJcIeiNui/M+wCpr+y2jWW97dd+CQPmxq+Znh+pqjfCm1tCuO3DVBgJBcvavSWWTJgQPVuhPGmMcpkGvv2VGcLNtzNJ32a2xJgKcE/B3VXVMcWhL+IW3ZSLdXT/IaaA+RiRhkcJ4lRbQyRNmhzuZdFgRX5bCZUBfKVoi9z0lJon1NjwYxEeuFJeivgMd0KtSk0n3LntaTsPSP7QvGeO8EOHGulUa14MUWZdTk3xJaa+Q6CgLDGV0KYNPwDtfvKQ6ToatjPgw0QMpJyVatfKtsk8Cm9p2YlNL6J+BqqywzQs83V29L8qh2ICxaqcAa2aDD6Is48k1EwFaC3wiqIefQWsOi4I7aUpoQTjfI=;5:bg/Qd2BH1IX76oFDEh43XOb9pt/fVfcKpOetOhVzcMhp0oaUcWdU/oFh+yXIK1O+3aIPhVfPqBCvHiHC1TP2zJTPLdl9CEmHeosRWyC5h9XZvqmWTaGhkedGMhwJSaSHjttopd56PYlBUig3ixAX5Q==;24:33DvHUtwONxQHUtOhyW6tlIWyBDg6NR2Rylipyz8VlRpDVasdHq017Vd25VBuhobxnynGck9P8yyQ7FccF71Pn4Km6BTGCLfL3JmS+LitQk=;7:6Q6GkK6VX47sGOJCz9KCvS8co6keqRTH/eIGFUZloihtrm78Gb7eH51rEev7IkEVZeVjuBzDBGvXXTjoPM+753ternGTvPaE1jRIdYcr4JNedJS7HP5TNysf+nUUCUzO83alNnUoN6gi4G2K8edXVCC/h0QOXQWuFc0OC7N3B3iDifGQaj50SYRgVYNGMAEcxo0c8dfStsThhOcb1EgRZdrnnI9IijZQo3GBGjgqolyu0sGg+hdgVu0D4xo/4fhzgB2qLr5rLnV8EtZ3u0V3gXgszK0aRYI2E+CyoIMvrTw= x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DM2PR0301MB0781; x-o365eop-header: O365_EOP: Allow for Unauthenticated Relay x-o365ent-eop-header: Message processed by - O365_ENT: Allow from ranges (Engineering ONLY) x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(9452136761055)(189930954265078)(190383065149520)(95692535739014)(219752817060721)(104084551191319)(7411616537696)(228905959029699); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(61425038)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6055026)(61426038)(61427038);SRVR:DM2PR0301MB0781;BCL:0;PCL:0;RULEID:;SRVR:DM2PR0301MB0781; x-forefront-prvs: 0983EAD6B2 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(6009001)(7916002)(13464003)(24454002)(199003)(189002)(377454003)(377424004)(5005710100001)(7696003)(4326007)(5002640100001)(10290500002)(10400500002)(66066001)(7846002)(305945005)(81156014)(105586002)(87936001)(10090500001)(86362001)(106356001)(106116001)(81166006)(8936002)(101416001)(8676002)(8990500004)(2906002)(122556002)(97736004)(5003600100003)(77096005)(3280700002)(92566002)(76576001)(5001770100001)(2950100001)(2900100001)(99286002)(19580395003)(19580405001)(102836003)(6116002)(3846002)(86612001)(68736007)(15975445007)(33656002)(3660700001)(9686002)(586003)(74316001)(189998001)(54356999)(76176999)(50986999)(7736002)(142933001);DIR:OUT;SFP:1102;SCL:1;SRVR:DM2PR0301MB0781;H:DM2PR0301MB0783.namprd03.prod.outlook.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Jun 2016 17:45:32.7847 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR0301MB0781 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > -----Original Message----- > From: Davidlohr Bueso [mailto:dave@stgolabs.net] > Sent: Friday, June 24, 2016 10:30 AM > To: James Bottomley > Cc: peterz@infradead.org; mingo@kernel.org; davem@davemloft.net; > cw00.choi@samsung.com; dougthompson@xmission.com; bp@alien8.de; > mchehab@osg.samsung.com; gregkh@linuxfoundation.org; pfg@sgi.com; > jikos@kernel.org; hans.verkuil@cisco.com; awalls@md.metrocast.net; > dledford@redhat.com; sean.hefty@intel.com; KY Srinivasan > ; heiko.carstens@de.ibm.com; > sumit.semwal@linaro.org; schwidefsky@de.ibm.com; linux- > kernel@vger.kernel.org > Subject: Re: [PATCH -tip 00/12] locking/atomics: Add and use inc,dec calls for > FETCH-OP flavors > > On Fri, 24 Jun 2016, James Bottomley wrote: > > >On Mon, 2016-06-20 at 13:05 -0700, Davidlohr Bueso wrote: > >> Hi, > >> > >> The series is really straightforward and based on Peter's work that > >> introduces[1] the atomic_fetch_$op machinery. Only patch 1 implements > >> the actual atomic_fetch_{inc,dec} calls based on > >> atomic_fetch_{add,sub}. > > > >Could I just ask why? atomic_inc_return(x) - 1 seems a reasonable > >thing to do to me. > > For one restoring the old state like that can be racy and looses the notion of > atomicity. The new family of atomic_fetch_$ops also better express the How so? Can you expand on the racy part. The subtraction is done on a local copy of the value. K. Y > purpose of the call imo. Finally, the added machinery (considering it came from > fetch_op() NOHZ needs), was mainly suggested by Linus (although yes, we > don't have users for all the calls): > https://na01.safelinks.protection.outlook.com/?url=https%3a%2f%2flkml.org% > 2flkml%2f2016%2f3%2f15%2f352&data=01%7c01%7ckys%40microsoft.com% > 7c5c7cfad67568440f6e2108d39c5546e0%7c72f988bf86f141af91ab2d7cd011 > db47%7c1&sdata=uZrdmvDCuTp%2bMNHAXzMPT68w%2bVGtvH2V99nUEBr6 > 1ro%3d. > > Thanks, > Davidlohr