From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932303AbcHIRtR (ORCPT ); Tue, 9 Aug 2016 13:49:17 -0400 Received: from mail-sn1nam02on0093.outbound.protection.outlook.com ([104.47.36.93]:24354 "EHLO NAM02-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932160AbcHIRtQ (ORCPT ); Tue, 9 Aug 2016 13:49:16 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=waiman.long@hpe.com; Message-ID: <57AA178D.2050604@hpe.com> Date: Tue, 9 Aug 2016 13:49:01 -0400 From: Waiman Long User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20130109 Thunderbird/10.0.12 MIME-Version: 1.0 To: Peter Zijlstra CC: Ingo Molnar , , Linus Torvalds , Ding Tianhong , Jason Low , Davidlohr Bueso , "Paul E. McKenney" , Thomas Gleixner , Will Deacon , Tim Chen , Imre Deak Subject: Re: [PATCH v4 2/3] locking/mutex: Enable optimistic spinning of woken task in wait queue References: <1468874366-56955-1-git-send-email-Waiman.Long@hpe.com> <1468874366-56955-3-git-send-email-Waiman.Long@hpe.com> <20160808172938.GY6862@twins.programming.kicks-ass.net> In-Reply-To: <20160808172938.GY6862@twins.programming.kicks-ass.net> Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [72.71.243.211] X-ClientProxiedBy: SN2PR17CA0032.namprd17.prod.outlook.com (10.169.188.170) To AT5PR84MB0305.NAMPRD84.PROD.OUTLOOK.COM (10.162.138.27) X-MS-Office365-Filtering-Correlation-Id: c78bcf63-1a6d-45c0-1026-08d3c07d79c0 X-Microsoft-Exchange-Diagnostics: 1;AT5PR84MB0305;2:gJ7mXqhAvGoJguOur6DIJWyUawUi1LxEgPi7Iwri/Ut50RA286jmbMt+pw5YFof1eQzc5Lq1UtNN+1zBKoOqNCQGnQr5VP+xy70o1IqqbgH6MBPk3Gr+IGawRhsKTNSO/FsByRbCwPbU6P4Vfr8EFumaHa+kmBtf0zYfjRljekTQdHw0d7JveQ9EZ9DsbHHl;3:Dov5kCJoSo/g3xlsWdCLxcX/q/ZBJJ7IGZAGixo0vZUExuf29JSpXa8n7GO2MA0SXJPBQzZadM8votO1fag5T7lHEM8K9e27R6PC35Q47cu6gAYJ48doO8iR68Wlb+J9;25:pUTaoZf6vwoTXG9X+86frpSHF0lWHhGBoYFtqG0X1lpjM6DIx0Y6LAk+UDHFceYDvPt4iwgL2gVy2Std7FU5DhMHMXPVwe3Dplr+1lazJHkyepcz0Y01HzQo7j1Yv4Mjzjx9l7vw2tA6o2fLAzwLMzMUYofnATV9SzUNdAV1hmxsjVErnwzPecnFb5IyoIGhLW959exC0Re5kYIJzlukzw6sa14EGbNmgIAu3jCjr5CWwul7NC+NdjXidCIFRbOZHYOMn5iwsOl4fVcoQyOJ5WZnclj4YdftQIxDcSU8ES4MYn2Ts3caiF2uL/gju2UieRgR4JIXnoPbq883iF8Iky/Cu7EiANR+FBQzMykDM5Iqr3SVOFmxoIWjhLKVbP4dIpCj+oxmIeE6A1ROtgMaGJb+a+OBqKiiyplVUvb9TsE= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:AT5PR84MB0305; X-Microsoft-Exchange-Diagnostics: 1;AT5PR84MB0305;31:4HdgbsBePgosJNsQ1keWlkpsU6QS8PIXr+OzwtJtvRL6hEp5LFcowp/lr1wizUyawyTubzWN6DlUxyJay2wuV+sz/Q6GtrtXUhMccc0Zzjss13i7mbY9TI6NEgfIEKeOEcKm/aytAYsPYcs15vb78Ze7988xHam6tDhJmEh3N1k+kuQ92YGAqClLzn+KEp7mVMLI/brWqu+82GmmMkz1+PBrxsIJ5mt7so2DRCglE0A=;20:3LcCr7tXb9L4wK5r49sSvRL1x8LXYXfO97kpV94WPAhtb+0O3kBYsmsI1zvnxdZF+XdI2YayiCSewmtxJfEDEb2DDrC9lQ2XETeqZbg9EtZMEf0mBkkPn6Q1PFSXW5lAEGdJizbDpMIoWCmTdS1M8wiyrIuEel20RK4IibYb/bHPoahf3I+frCB49j1PAfl67gv1CQLsFkgNgixmiAsAkizn4+KVZO/xbCmSuOckEVRWZxlIKGOoXiBQKioso+Z4AuLu5vVGzScm9bHK53B1qmobPuf3K00ufo6QXiP5crsR8iz6rGFEyIBv7LRM7aO184OThPDTARta3IqzVdL43BA3w+k6tsUEvLoOEapRSYMSwVh22tv2t8nsxq89u/0Xu5PpYdvgV7lmXXMwSZqZws7y4gh5E/hZmWpQFL4VY61Jy+c8V/JazZgbZgozOJGvCf5Vbryzlk2xYWpPQ/NKtLtmidcjrEUuUZWAAV+89oM2pyHFC8tgJ+sxvHfLvOXq X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6055026);SRVR:AT5PR84MB0305;BCL:0;PCL:0;RULEID:;SRVR:AT5PR84MB0305; X-Microsoft-Exchange-Diagnostics: 1;AT5PR84MB0305;4:FumP6nIHndJB4SDN6F7Cv5sJtkj2s2XAXWe8WtvG2vVlmlYSb1TaDp+kZ1oHyO8deWrtxcCs/ZyZduMXsiGbxaxiTV6xpd9QCA+bEE2O/maqGHbMcmap5hF9GfzR0HQUCs3QluOKIweDMUGaMJ+R2eIzl8LaLFr3ROcONOQ8yOsvEgp9201MoxK2XPXUYmMmbgUBi4Tf7/rgK8YVVMOPaYqdeygCVfja1EjQkMjM1/5co3QzI7r3QpenQvw0dSTz5rqx4m9jAE2P18SeqH1iknQ5EQANTklxMobbAdoLLuuZdspJXuEvOhnbCKv2HXhTF9j+m9fnbry1L1yjQDdQ1aUU63gFvKcYC/nfNoEP/PKLPgDthsLxmhFVz/gDdVz9Ur5O/rcmri/h9jV7lAQaZA== X-Forefront-PRVS: 0029F17A3F X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(979002)(6049001)(6009001)(7916002)(24454002)(199003)(377454003)(189002)(101416001)(23756003)(42186005)(3846002)(92566002)(50466002)(65956001)(65806001)(64126003)(586003)(4001350100001)(77096005)(47776003)(97736004)(66066001)(33656002)(6116002)(54356999)(87266999)(76176999)(65816999)(50986999)(8666005)(305945005)(7736002)(7846002)(68736007)(117156001)(8676002)(81166006)(7416002)(81156014)(106356001)(230700001)(110136002)(83506001)(189998001)(2906002)(86362001)(105586002)(36756003)(80316001)(2950100001)(59896002)(4326007)(7059030)(969003)(989001)(999001)(1009001)(1019001);DIR:OUT;SFP:1102;SCL:1;SRVR:AT5PR84MB0305;H:[192.168.142.183];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?iso-8859-1?Q?1;AT5PR84MB0305;23:7cHyoe6sLOmnBbY827f+oBl3Te9GwhSwOiy0mi/?= =?iso-8859-1?Q?j5r3/S7JeqyLqcqvZu14ngW7htLg2q3Z4UtaNOnzbuDsmZ2MpM13xbJhx4?= =?iso-8859-1?Q?rxNtIATXawGr4MnTxnnfHV9wgQ1aVTNIg9ZbL5OOGTbkLOvozObuQ6Vtzb?= =?iso-8859-1?Q?gTAyV74je7NzrbDHNI43EgAk9D6SxGq4uPPT04eQfyaibnnkXygfQWlvh/?= =?iso-8859-1?Q?2G+0FDeqJsxK65SBWEeX6l1E6qlwZcMT10OKRyWqZTCDk2u2/B3GcR3HuP?= =?iso-8859-1?Q?7li7I4g824vVcGb3vFg3RqBjYUAp4fbeD5KkLVji6UoMAwQNy/3Q8FEhIO?= =?iso-8859-1?Q?eu4HmdAMup64H1BAOH0HYCQr96HVYz7Mh7RpnCVFPXjwvuOL3aEzkcveI7?= =?iso-8859-1?Q?OttlrNvBzE6+MyALJeyweGZNyTZRNhhhKKb0DaC3ieHpZW/YZ/584zexoL?= =?iso-8859-1?Q?JGy/+kLxeKSwUr6PQY0JfGUJwL5NiW46zf+ViUnwtZm5x8rCCY0FODGGmT?= =?iso-8859-1?Q?sayCeUAq711IdxdywFvRpGhz4QJ2jgSp5qYt7nomR9qYOnNfb68AjGZo4+?= =?iso-8859-1?Q?hCyjKAg792zmpbC13u6/9Y5+C5LHR3kmVE0kx1T6lxHDotsAQ/gknkc8Mv?= =?iso-8859-1?Q?X8UKq6giQX42p8MIcfSvcocjfjixsRFdT5ijbcZIpekppaEoyzU6f0LiEW?= =?iso-8859-1?Q?8P56eS1cqO+cGbQUoPaObDJFTbMsejFl8FeSV3gDFgzcsXGm6KHRSy79wg?= =?iso-8859-1?Q?a2Qtqni+qVIZP5vzUbWwtIDxOmj7D1OFzxYkuq2z6D8v2fEhKGxBuseHvj?= =?iso-8859-1?Q?3mSKVhX4O/eZPqGtBu/wETzcNKd0/Q/g3oNhOfdPECOq01P135UNk5yd8p?= =?iso-8859-1?Q?tuh+ETKZVfspR3JTw0mZL/lvG7DQ1HxZDfMQxyJNhzSBWp0K8UsX6+Koxo?= =?iso-8859-1?Q?LGTekpCzPXPnbCovlCmeXlGg7eYjtxX1bQPtuZ3cbsIwVH5II7S26l1ZO7?= =?iso-8859-1?Q?SDihwZ6SmXvvf1shqm+LTMOaXhvsPJnwBh1uMap4RvAFTsEaPbGwL6cBSM?= =?iso-8859-1?Q?Fj/3xm5lLftrz3E7cCJApIUsptSRmwqZghFt8O9N5JCmVnH4FXi+GOuOOc?= =?iso-8859-1?Q?fIAo0wlNuSNYNy7RFA7uy1rftKx/GRfWL4LAtMgDoTAZhHWYZZWP+WYAAR?= =?iso-8859-1?Q?LFoLsi3FrC/iMHyep5PRlkkAJlaYLSHxP9ONUPzZEKVq9nqhA4y6EDQRZr?= =?iso-8859-1?Q?GwuJkyq4NRzUHmdrzZeXK1ScFHuV3rPEjxQ8eYaJsW0TaIfw3saN5YOykB?= =?iso-8859-1?Q?V6qRsGcHiA6pWnTdBfltX2hExqd3YA27rfOMyzenXCxeTJzrSkl9C5i5sb?= =?iso-8859-1?Q?V/t+K8rqJLGzlqYEFuwU+QXFMVJE3TKoyTTDsOb+M82Guml0uQnbZ0wmwB?= =?iso-8859-1?Q?efvMuFZMOdnJPCs6sEF0/fwKrf2qv7t1U/O?= X-Microsoft-Exchange-Diagnostics: 1;AT5PR84MB0305;6:nQh9LmJQt2gu0MAAXN0DLk0Fa9OFJFRsCeulCttJSfDszsJPMrCqSugOCxDGeN6YTzbMlh2Va5DkmXhxix5IFgAXixvlldIXyOciHRZH6N8nhIUYCySCiROKqMAK9JR406oBR2fxDLUwT25MeuY/RB753sTfTMObqDB3fu1f2YXuQrdskP359Zi3tobvce1T8b31p+LwowHDmU9pa7Rh7ydqsQxZiS4UkPBJZFayuLemMOeeY1/pKhuF+Hxi+Ma3I6ZJ6Hwe0ngpBv1Mu0oGG7Dz9ywUBhLYXo3yBvzk3LZSMnoNJ8j99sRFC4SKkLTyA1dDc7mlPTeIIZScsVTqbg==;5:0KK4aN5UWrWa9RYE6jJFWp4yrVAoerSY1urpOoRToYZ+0bPhrJOw2Sf07E86G2dlrhB3Nc6ChNjSgi02wgopse4eBfadRhDV85m7UBtFTXzgpKlNGR0baVGDMhj7AKsffdSG3k9Lv4qMBiT89DCWKw==;24:efyVDUi8fX3sO06Y3JD9j+TrcknCij+Kh5DsNI/wYlyYPU6V7ABadhp75jJZ2F1m4dZdQeVmB0IWo/JtMEHmFW/oU4+Sddmy93APhA/uwK8=;7:Lv2+GRbvKdbIf7ea+fgQ1kyebKmJyozRQN2ZnikfcUYzlU7T4PpfzrGvIScAJ/ZMyGUGhaI/ygcqJkHeqbzvRvFw6pqvO3kTlkJ5PBXdj+9Tqrl61j57uBM21i3dZb7AP/MvnVioUEUnIdUL4p84c7QZDpX/jqGI1x+3ZqqRZS/U8/Y1VCG6uSO8jiRKSt3jxe9rJHo8cTF8IJQzi7r1NGOTKrTGuG9kdZkAG1X5vNyIhShum4zKk5DuwQOYnw0l SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: hpe.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2016 17:49:07.1328 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AT5PR84MB0305 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 08/08/2016 01:29 PM, Peter Zijlstra wrote: > On Mon, Jul 18, 2016 at 04:39:25PM -0400, Waiman Long wrote: >> Ding Tianhong reported a live-lock situation where a constant stream >> of incoming optimistic spinners blocked a task in the wait list from >> getting the mutex. >> >> This patch attempts to fix this live-lock condition by enabling the >> woken task in the wait queue to enter into an optimistic spinning >> loop itself in parallel with the regular spinners in the OSQ. This >> should prevent the live-lock condition from happening. > No, two spinners are not in fact starvation proof. It makes the reported > life-lock scenario much less likely, but it does not guarantee anything. Yes, I should have said reducing the chance of live-locking. >> + /* >> + * Optimistically spinning on the mutex without the wait lock > There should either be a '.' at the end of that line, or the next line > should not start with a capital. > > Also, I don't see how the two sentences are related, should they be in > the same paragraph? Sorry for the missing '.', and I will split it into 2 paragraphs. Cheers, Longman