From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1760139AbbIDR0V (ORCPT ); Fri, 4 Sep 2015 13:26:21 -0400 Received: from mail-db3on0074.outbound.protection.outlook.com ([157.55.234.74]:52401 "EHLO emea01-db3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1759182AbbIDR0T (ORCPT ); Fri, 4 Sep 2015 13:26:19 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=cmetcalf@ezchip.com; Subject: Re: futex atomic vs ordering constraints To: Linus Torvalds , Peter Zijlstra References: <20150826181659.GW16853@twins.programming.kicks-ass.net> <20150901163140.GK1612@arm.com> <20150901164247.GO16853@twins.programming.kicks-ass.net> <20150902125555.GT16853@twins.programming.kicks-ass.net> <55E71F92.4000001@ezchip.com> <20150902170008.GU19282@twins.programming.kicks-ass.net> CC: Thomas Gleixner , Will Deacon , Oleg Nesterov , Paul McKenney , Ingo Molnar , "mtk.manpages@gmail.com" , "dvhart@infradead.org" , "dave@stgolabs.net" , "Vineet.Gupta1@synopsys.com" , "ralf@linux-mips.org" , "ddaney@caviumnetworks.com" , "linux-kernel@vger.kernel.org" , Russell King - ARM Linux , Richard Henderson From: Chris Metcalf Message-ID: <55E9D423.1090803@ezchip.com> Date: Fri, 4 Sep 2015 13:25:55 -0400 User-Agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [12.216.194.146] X-ClientProxiedBy: CY1PR0101CA0001.prod.exchangelabs.com (25.162.170.11) To VI1PR02MB0783.eurprd02.prod.outlook.com (25.162.14.145) X-Microsoft-Exchange-Diagnostics: 1;VI1PR02MB0783;2:cRR3nkQ6C7oLVEv6jOkP8hrjnUYNufxANX2DoLIWJR4VV0knyxJ/mHcm326ICMQ3G78WXU8AcHVap4DhVqtT3e14o/ON0mapav+GXBhM8f948tfKNMTbfR8L5H7yj1iRij30Ko7YFm4n+SuOQ6hfDjL+I9OIAC4x/NkW1juvjYU=;3:sqgV5RcygHQEvOEgaKqOuPAwrbq2qlJBh2hTKAUjckLC3gpjKllqK4eSdnKlozwAoXIU+7MZQc5XNy0HLDyrv4uxmMiq6BGoLwopHVI1vxZFO39sQU/SAgNNAPKY1UsX3uRb+TZJKNcE3yP4M77tzw==;25:ZvayOHiaQyDhemMTxrl4ssLBIFoSVy+1MMYY4AGiT8nfgjAeVXLNWu4hPjoBBFnBhkqXkIJ287oqau3HsKKOxdJNh7Hda+2v15MVQId1mBRBOpWPKHo/qpCLrO6fJruWRaVKF9svkX3ZJt/2/Eos58FwNbId0Gl5vKwgdUOMaQa2RSeMpLLthjSzM0EmSiHN9cStnoTCvvQlH1HLbdNtElPAyqW2FuhUZo6eYerr7WuKPNtVHCR3zL284DDO4VrSVzf02fuH5+o16fvdxji6tA==;20:WCsJCikCmVOEoxjIFawPDDRttk7gPqjz0Vk6cdrOYQV67Nipqaa5qdZ2TScZ5jqdJLDh3JgBYeO5cxuPAKBKUyMw4oEIRoaimPzytSvjYtK8mD151zGnetnztAxP5iRoWRxSCpVZp7bnz+sRFbhFun00+YcF9/vU074qUhGsEF0= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:VI1PR02MB0783; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(5005006)(8121501046)(3002001);SRVR:VI1PR02MB0783;BCL:0;PCL:0;RULEID:;SRVR:VI1PR02MB0783; X-Microsoft-Exchange-Diagnostics: 1;VI1PR02MB0783;4:epiAIbC13IQGJRb9KWQ4QI7oJuF+OjnKnudzYwrJOKUnsmynP8uAUXnY5ejDIbIUBuHJvX4N9WK40LZArfYfXDKFsFj53Tz43UxM6r/wJURmEatG6FfOGRPXVLU0SY9o91918zo1z1bQpGVw/qwUTm3P/NLH0xe4QFixZrksvBD9pB1xiozBefgDD+WfX9BHGo86Vskzv7Up8YDcoGDxWqNGzFOwiq2xAcxZ0CkiIS/hV+DstPr2Tw9SLMIDaTFkUExZNrBUQt3jlH/YPkJxn7lQe/vao2CVwMM2+6W+4A9hIzbOLanM0ZLqOTJVHi+f X-Forefront-PRVS: 06891E23FB X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6009001)(6049001)(199003)(377454003)(24454002)(189002)(479174004)(64126003)(83506001)(59896002)(47776003)(101416001)(54356999)(65806001)(76176999)(77156002)(189998001)(62966003)(50466002)(66066001)(65956001)(65816999)(42186005)(5001960100002)(87266999)(46102003)(92566002)(64706001)(36756003)(105586002)(93886004)(2950100001)(5001860100001)(87976001)(23676002)(68736005)(5001770100001)(122386002)(40100003)(5001830100001)(5007970100001)(77096005)(50986999)(5004730100002)(15975445007)(106356001)(86362001)(97736004)(19580395003)(33656002)(81156007)(4001540100001)(80316001)(4001350100001)(18886065003);DIR:OUT;SFP:1101;SCL:1;SRVR:VI1PR02MB0783;H:[10.7.0.41];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtWSTFQUjAyTUIwNzgzOzIzOkFmVCtxb2VvN0Z6Tk9PbkRTeUVOMi9FU1Fk?= =?utf-8?B?N1pOdHd6VHVPeHBtMnlSbmhZVCtDNmk4K1VwbTRJcHJ1OTdUUTluTC9sZlVG?= =?utf-8?B?MytWMTAwdXlPVlo1MEo4WVRVZ2JDOUZIUkt2eEhBQlhTekpUSSsrV0JoMWo2?= =?utf-8?B?cFlLbmpiQUYzWUo0eTg1MXByaHRuSUpxY1ROa2xOR1BvNFZ2NnYvZFpZZjBn?= =?utf-8?B?aHVqdGVWYldBOG9wYm9BQlorQmpxNXJlR3pKbXBBMkE5bUpGTnRCMThXaFRG?= =?utf-8?B?eTQ0S2I3SmNWdkl3ZUVJRFhrc0FqTFRzUU5BbmtsbVRMdDg0ZVo0Vmpld0NE?= =?utf-8?B?NzBZQ1JMSFAxelg1YTZya0pDZEZNYzRCZDFTdGZVNUlycFFydDFKQmtXN0x0?= =?utf-8?B?a2xPckpvNWd3RFVHN3Rvc3pHSkJjOWt4RXU2Qk5taFlCWkJCRXJJNVFkenJF?= =?utf-8?B?ZVY5cWlndkdQWmJJNFNzRndENDhXVFhDRjMrdUdkNW5WUGk4WTBKazBCajlZ?= =?utf-8?B?YzAzSFhyTVV0U015blVBaWxVOEJjTVpVMTNNbHg0Sy9BRGVWNFZZSDExOHIw?= =?utf-8?B?am53TDErd0R6L2NIY0RLbWFjV0R0SnJiUUFrTUlsV0NmOThKaFF6WGJVUXdp?= =?utf-8?B?Wmh5cmRuZ1ZqNWc0aHFnN1BTT1BYUTJmcEdzRnNDNHJubWxsQnNoeEJEaktQ?= =?utf-8?B?OHdrNVk2OTd3c0s2eXh6eTFzbGFTSHZMdnRQTkprejd6ZHdzNS83eThCZElV?= =?utf-8?B?N3hBZ2p4TmR3a203bFlMTGR4b0lma1JncC92TlhBOWVqWitDWDUzaDZ4RUs0?= =?utf-8?B?c1AvZGFWelpEZXBtdEdSV01JRVZXMEtRdkNxZzdOaWcxcHlIYlNsUTBVdVdr?= =?utf-8?B?WkNEY3ROVmRSUmpOSnBoRTVHdVdSNUYxMmNWSnVTSmI4a1MycFhFN1FlczRO?= =?utf-8?B?VG9RWXV4UG1ZQWdJbFIzU256dmpvRXY3QWhKT3gwdElwMVZHWkRXbDlDRXUz?= =?utf-8?B?aHNvNVZwcFB3bHd5azR6WnNLRXlzc045QWJLZE1MVVIvLzJyMFFXNy9aejd1?= =?utf-8?B?cU0rTmNQcVRHbUtpdEJpM1djZEZiQmh0alFFRElGNlNld2dVVjh1WVlRRlli?= =?utf-8?B?cHljNDMzclM4UW5MZnZLR0g2YmtnaW5TSVRPcVFOTkd3ck41MGsyQS96SFBu?= =?utf-8?B?ek56TGJqQ1FtMjN2QlZPOFNiZk1RTXFVcXFMZG83azZ1aUEyWGRMQ0lzOE9D?= =?utf-8?B?Z0ZiWXZnMWwzUDhFUXhTbkxRMWMyRUp6OGJVaUFQbDFrOUR1emh0V2FOdjNU?= =?utf-8?B?ajViNWxjZGZuanlBQzhUZ2VQNWF2TnAvMW9yQmtqbXM5VXFvTlIwdjFUdnNr?= =?utf-8?B?WENtSWdtUUZVVGlUWWY2SmdMbFdiUFdBZEp4OGVPS25kbmlSVWVlUEJUdDdR?= =?utf-8?B?SUNjQmJ4cENhZXovRWEyY3M2VHQ3V1JpOFMyeHB0L2FCS2tQbmUxd1dpbGgw?= =?utf-8?B?TlRzSGpvRFBLUVZkb0hac1pCY2RCU3hMNkV1WnVSK25ib1liZ3k1eXQ0YWl0?= =?utf-8?B?U0NRR0NBSVQ5K2VTcVgrWFMyS3Byb05aUm84THRJQWFidFhLdWFTc3ZBRWZD?= =?utf-8?B?QTN0RWtnZVpVRzVGNWxrMHJ5ZEh6MEdnZnkvZG1iVXdFVmlFU3JYVG5oMnlz?= =?utf-8?B?bTErYUtaNngvQmdKb3U4Ymd0MmtGZlZpczYvOCtESVRubkhVZXg1cHlucEZU?= =?utf-8?B?QzhkekdmQndBOHp1Y2F5dGw4T2p1NFdDanhmSTRHd0FsVm9LVHo3N0dkdXhL?= =?utf-8?B?ZFJURU5lNUpXTndjRGNwMStIVGp4dng3Wmw5c1VNSTdTZnZ2cDliMzVNUjZx?= =?utf-8?B?ZEhOTEFVMWtMVDFUUmw2TkpaOVFob05ld3dqWGx2eS9xVVhJVHkwLzMxRW90?= =?utf-8?B?ZEpYMXF0akh6YVliMG1hbWxuRWVaZTlsalozbXRaWjJOL2VEQ0tlUmdEc0ZE?= =?utf-8?Q?nL+fTy?= X-Microsoft-Exchange-Diagnostics: 1;VI1PR02MB0783;5:/P/FmXA19TU+NxQ0Q2ioHhSX8jIaDjnresYG2wAbILukp6kjJzpbcbxSnpZqH6Bn5/SGcvl2yIwKiXT3yb61pXgJHHLybIfKr84isxtRlnZcuFP84StwIMoQKXqCDZYooCwFkMyWkRsP+2htefnz6g==;24:G5gjtwO4nKQ3fr4+qE+KFdcrqAMFRVTuJ+sXnl2fBqdg4KsimNXODoPKEoJoCPUeDY4UmT9KlNWMkBfXRRbesBm1L1wgiCl1wFgzWe+kiIg=;20:FTi+HBp44pzpJ3odOOgq6wIwzkMWjdUkaD6+VfsiZSnT1xtlBfthDh/avry9gWPvF0S42jTCmnC/0caS1lNspw== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: ezchip.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Sep 2015 17:26:11.0387 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR02MB0783 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 09/02/2015 05:18 PM, Linus Torvalds wrote: > For example, on x86, the locked instructions are obviously already > sufficiently strong, but even if they weren't, kernel entry/exit is > documented to be a serializing instruction (which is something > insanely much stronger than just memory ordering). And I suspect there > are similar issues on a lot of architectures where the memory ordering > is done by the core, but the cache subsystem is strongly ordered (ie > saen good SMP systems - so it sounds like tile needs the smp_mb()'s, > but I would almost suspect that POWER and ARM might *not* need them). Because POWER and ARM have serializing kernel entry/exit? I think tile has relatively conventional cache/memory semantics, but it's certainly true there is implicit memory ordering guarantee for kernel entry/exit. -- Chris Metcalf, EZChip Semiconductor http://www.ezchip.com