From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754588AbcHZXlK (ORCPT ); Fri, 26 Aug 2016 19:41:10 -0400 Received: from mail-dm3nam03on0122.outbound.protection.outlook.com ([104.47.41.122]:10337 "EHLO NAM03-DM3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753976AbcHZXlI (ORCPT ); Fri, 26 Aug 2016 19:41:08 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=waiman.long@hpe.com; Message-ID: <57C0D372.9030301@hpe.com> Date: Fri, 26 Aug 2016 19:40:34 -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: Linus Torvalds , Jason Low , Ding Tianhong , Thomas Gleixner , Will Deacon , Ingo Molnar , Imre Deak , Linux Kernel Mailing List , Davidlohr Bueso , Tim Chen , Terry Rudd , "Paul E. McKenney" , Jason Low , Chris Wilson , Daniel Vetter Subject: Re: [RFC][PATCH -v2 4/4] locking/mutex: Add lock handoff to avoid starvation References: <20160825183734.113736626@infradead.org> <20160825184324.934871397@infradead.org> <57BF6A73.1050505@hpe.com> <20160825222328.GN10138@twins.programming.kicks-ass.net> <57C05287.8000708@hpe.com> <20160826151818.GO10121@twins.programming.kicks-ass.net> In-Reply-To: <20160826151818.GO10121@twins.programming.kicks-ass.net> Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [71.168.64.232] X-ClientProxiedBy: YTOPR01CA0008.CANPRD01.PROD.OUTLOOK.COM (10.166.147.18) To DF4PR84MB0316.NAMPRD84.PROD.OUTLOOK.COM (10.162.193.30) X-MS-Office365-Filtering-Correlation-Id: 497ec587-2dd5-407e-7903-08d3ce0a64ba X-Microsoft-Exchange-Diagnostics: 1;DF4PR84MB0316;2:k2cwjX3keJdKFEWZyeJyaFaqwXU3RhLhSQqrBChh8lwfQd73x2xDWTQBMF8YiwbwZ3s0ROJeeNgcbAVzU0W9baBkjAuNmZHy2O7WgdbxL8UEGk6ohu5gR8t1f+DgB7BGW1D7LP26LK1w3/L2aayKUwwNRLuFvGj/QaPieBIsj0aN7yANOt6mskgtX6nhBGex;3:tQTt4qEx7aVVJERNYLYuO8IbBpc/nNVY7MNHE+7dp7nA6L5LqsyvBqRAgg5qYvMyjHHn+K0Pv3FydOfK7nzDh7/kBFbIe8GMli7fKeW20xVaRG3iIyzYrT9SWX2B9RHw;25:tBgAcIqojYqQqhhZW1OquCMiKccVfNSL9b2m6ks6HkO0J5WnHXT1vEINoktnjHP/Ta0N/oeF/VkP7dJpEnlbSIoXNESdCOawdHcGWfCkgz29jwNLhXVUbHHPguabCZkIouoeTHnealQ6e/ZlEmTFx/d78rsBLDUpArNPu2ow9PIdTucMm54dhV6VV6nLoXU0yPUSzYVvjdTC5qUsIOkhbskwE+ZSNXTEFSilYrMi43lGT5I1yxLZA8MoF/Oq8uBMpQJgWokdm5MnPteG1wb+Lb+GvNMfihzFDnU9826ap5N3XvfafE7w9wfUTM4q2dfgBm750OTFRZC1nha4VVh2EeDQG0xWoHZeHhJdHcch9s5nOON2/slRaH50UfZIWEc/amIhSLqG6KJ8YDqcWyj4Ri4so4HIy7iFYPaaj5unTbo= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DF4PR84MB0316; X-Microsoft-Exchange-Diagnostics: 1;DF4PR84MB0316;31:+rV/OBPOQiQlrp8L4/l4bGtKS44eHZ9BbnQBPHLQALf6L5yDZgHov6LF1Lk2rb7cxl2lqnq/P36+Sybtf0CUbW3eMEvGafEAYAhCj/MWlY5gtqc1H1x33A/PtsvN6NfGnto0b8k/c6VzKrnsHEPDwjZdNxXV6NdLXSYkcqb1N4NQx81+/Gn8147rkpzA4lRwf7T32NH0QyZjwmMQhTM/AKGsYnV2yKckrduYEC2kqBY=;20:8gC3AgLe8VsJuNxYlKrsIDf0cLzohdpxAPwL9d1kKI8/q6ghw++Fcp7mhnLKiaXswPZos9aevd2graDei7uwydSVMWfNcWn1GdJxD4nSi5TPitS/ZLePIlI0xWaqAHj57I0oQYoMNiQzOb8tKxJygfmBERIsMctBaYxRmnuDF9g90D/SpdZkIifRTUsFYx8Ft4hNB37PBU4bE+LOb5S8QxNSF3FichqnXmMm2OXzfBbNR4+x9zdtvGnd37T90kVC9IttvBPRS41zbKQMlGQGf1NJeYJbi1EN4Pnye/G0NKp2IU5tz3xrjZvWR9gRSAaSGbWYGqjgG3iNDE2MNQkjgfQyKhHdhCOpaLlyf5ON1AydW8BFbL/z2X6LyMV/Fb5y/1UE6TV+SlojQijtt8Y9yVLc5bGTDnn3SKYOlh09b5/3dJyYxz10/qe/3JOFneu7qC5d81ZnNR2ouUcZg0lVT+UJqAI9hPKWicTVDdx1a8qCaQ06KByXMAzXUmQsAszU X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(6055026);SRVR:DF4PR84MB0316;BCL:0;PCL:0;RULEID:;SRVR:DF4PR84MB0316; X-Microsoft-Exchange-Diagnostics: 1;DF4PR84MB0316;4:BrTeZvFw5cuZMN9JxtUTL+2MGwZMk/4ey/rQ6Dekbh7UqM+Npy1IlDk4kT/o72V5QZuS6NIcuRmhft00QSnju4TfOeZICMu0NWjPfh2EO4PKWTU6ugcKlPrJP8WXcVSszyfPuf0u0h12rvXJ8gu5iEI+7rUExp/UlqkhvclkOHf3SmokZkloDSZ7DV5JNyTQgHlVRK4/bSaO/AOpjZb4C652TPsVxRmoE0tmWOvLPx+L/8eddg73/VFbXiSu6Exb7ZE58TYaKbMcuSBJi61JdDeko0jY25JPnLb6yAbn+HUUpa9vNYbNzcY3DGxeRZnT1G2rCFBORw0o/o7wani+MnmfXFX+9t4ACfQTaJbYrPBVOSWmLMIc5i27nzPL363U38171b66OQhiBVfNg7+sPQ== X-Forefront-PRVS: 00462943DE X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6049001)(6009001)(7916002)(24454002)(189002)(377454003)(54534003)(199003)(68736007)(50466002)(8676002)(66066001)(81166006)(65956001)(81156014)(65806001)(86362001)(7416002)(33656002)(47776003)(77096005)(36756003)(92566002)(2950100001)(42186005)(5660300001)(230700001)(586003)(3846002)(93886004)(6116002)(59896002)(189998001)(76176999)(65816999)(83506001)(50986999)(87266999)(80316001)(54356999)(97736004)(101416001)(8666005)(106356001)(7736002)(2906002)(4326007)(64126003)(4001350100001)(7846002)(23756003)(305945005)(117156001)(105586002)(110136002)(7059030);DIR:OUT;SFP:1102;SCL:1;SRVR:DF4PR84MB0316;H:[192.168.142.192];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?iso-8859-1?Q?1;DF4PR84MB0316;23:HNq0K+r41KfiX703fY1c66oU0sjWu89U3rTLN9/?= =?iso-8859-1?Q?p7+PcvoLpTCqz6eWZyWKzLEFnPTGqO0/j8VOV4uxArMZiURrbq6TwRYOnr?= =?iso-8859-1?Q?8U6k+q4Kl6vxN81Y1E8kN3A7p63Tytd7QQFb6nHQsHTL92NY2iVQG3GZp1?= =?iso-8859-1?Q?wfcCM04uja7Y22BGx4vqssM/YFCCoPtKl+y/w70w1uGI1yNTySuIAVc+Jo?= =?iso-8859-1?Q?eoeAkOHVUYTTEF3SivCRgckPptcnx1AvB+ZIWfkAerbu/rG/m0P9VKNVso?= =?iso-8859-1?Q?kct7m1czzvTw62n1ozGaJSdDLWvDu3tRNnEzoih/a3vBob/d6V00CNv4sJ?= =?iso-8859-1?Q?PTnPv3yTUHquZAcSR4GrHQDdfcUjt14/Q9N8hq+SegdeccbDA8foPErrJd?= =?iso-8859-1?Q?884s0NS/ZxfyPEAyaMbH29OQbwC+XE4ZmXgcukkLYHQopzldox07HahtMN?= =?iso-8859-1?Q?NyeznVT2lMwLWfPS9ce38U+x5YKJkI0arJGwUIdOEAKNMyDKhs+flQe++A?= =?iso-8859-1?Q?zbBazVBh9fnGjDqKpZhPUL5jiv7A+ttLTbzh8biFj2wqPDFODG7V+DimEs?= =?iso-8859-1?Q?5etWnJDjfw6NGWJxvI5mOV9E9lnTVq1bdboalUdfjGCk16TQPlxYJVh5jw?= =?iso-8859-1?Q?4yYUb0NTvAk4ySVVhCHOqnTlr0uZ33+DtES2pB9eyN1RKDfEiiYyU3xFCq?= =?iso-8859-1?Q?CZKLzTljkvi5pLNSQTodHOu1MPVc83DRnoCOBFMsmYp3ihRYgAkQXTvohw?= =?iso-8859-1?Q?D45KY3UrXTdqXVck2X731ml+3Mf7McGrEc83eIRLNJRhsEP7ZkCadRTOpZ?= =?iso-8859-1?Q?TPvc9rfXSB6kJerylTiglmhZnXmjHwzusyG46uXLqO348nX0q8TK7bSLQK?= =?iso-8859-1?Q?WaR0PLkDS5SDSB4VW0baZ8GfGcQct/ouw5/k1H1Rv77BY05tA0Lejg1YgR?= =?iso-8859-1?Q?i2zl8zNyq5l7o08JVzLFAfogNEcwGUHo2OAMIHpCjzw8IxLciXR1iktXzQ?= =?iso-8859-1?Q?4owpPRBdX/W+hTq17Fh3Rmee5Hi49xWhgdmvGPNfl0lMxEE1WxB0hO7hOj?= =?iso-8859-1?Q?wOCcjRI4eIIRkkBY/Xw9/wIxxiIBg+hSZs02s4Tyk4KHSQ2H0PoLmQDElO?= =?iso-8859-1?Q?tYeFqOaUWM6WU3lfJhKTpKXKxsQffjdZwZOg9/gobQIDDGBmT7Ahm6DZsK?= =?iso-8859-1?Q?AMercoAKfAe5YlD3NYBci+7oJ4a6EN9zsgm9xChCBD+iS2YdYEJS4h7yND?= =?iso-8859-1?Q?OtA5xj4bqkYghuS4jc/1tthaEHCkPJ+gmLqM5rQ19unL3iEWi1+zQK2zlj?= =?iso-8859-1?Q?YwiX60itq5CB+G1yRDHOeOLMiG8/ciAlWNSwB5Jz6K0u9Koh3GhZRuwbE1?= =?iso-8859-1?Q?qqzZdIl2+rAvnimFoFJsb8ofPKYutx9O+wqEqxnjNqRUcBMgSdqPsMo9pN?= =?iso-8859-1?Q?NPiwLDsK9l5Jcc=3D?= X-Microsoft-Exchange-Diagnostics: 1;DF4PR84MB0316;6:WUektVRselCD8eAFyCYT0gleB0t1GLlZ5xjp1p5NPLE8+R4rmeIxbJXwgnwHjb4CxiLV+CndSWVCQtWI0lKfGT94x1aX7AQo0OHz0ZSx52wUFo+vAeHZecqCJfLuVvP8MQT/4mkVKUHqV2gZKF99sOy7t8o5G7HRo9rNsl3pWX/I+Tw/lg919GNrfNHwT61fjbmkqbfwaRVZG59Qse5weuOCV7dnO8+Obw8je/2u7Gk7QGyS5KSe5QTd96kViAdAwTP04v9Zhh0CWfa8684JDISgJQ3Q9N//BUFgMAg4p6DrvCRYD9heaDmz2VKqlp0+r60NpDVzsbTz/jS3ALBXiQ==;5:QfEAZ2m4bjuf3YkXJuKYuteykw81S5sTE3yF6V6oQRFAH/1aHw8zmNLtHIFVVsUv0yGnETyxRIl2QXy8I9O7m7ANKGfg3821DhzGnPj9doBuM3bpjRTe+BbMTWbFsS9yQgn632hLecUOZn7txB8xSw==;24:6Q9Duci+4Mf1jotXYeGvGyvpVyt6gkZjjuQO+z1yLmGc9hnD08T++pW/69QYjiwfHry8LHxyLSQIUxjCaEjDQDo1bGndHeVQA2skRlOiru8=;7:jo1eYh1y/cd/g7B/A3iiL5i/ovCgf1nuVkL6U1cib4cJiJJDCU7Yfm+cZSe4s5VwBmZVYDLWwd7hFqNx4yT/MY2Wqh7MkIAq7RLQcg6tdYTQ0WICN9tlHw+j1f0qwMAurrypZ/Z9VjfW9VkNtEg4LOrfmLG2mhDEgtGIezUWeXzZ89WtgsPDuYo4e4zscnGt+Uyl5ZpPVeip4yYs2sAoZVqDuJEkasIHNUt6Wfd0gKNeEi8OIkz7PCNglKTM0K3P SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: hpe.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2016 23:40:40.6973 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DF4PR84MB0316 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 08/26/2016 11:18 AM, Peter Zijlstra wrote: > On Fri, Aug 26, 2016 at 10:30:31AM -0400, Waiman Long wrote: >> On 08/25/2016 06:23 PM, Peter Zijlstra wrote: >>> You're right.. I'll try again tomorrow. >> Actually, it is also OK to handoff from NULL=>new, but nothing else is >> appropriate. > I pushed out new patches to git, could you have a peek? > > - killed another of that mutex abuse > - fixed ATOMIC_FETCH_OP for SH4 > - split: rm arch/*/include/asm/mutex*.h include/asm-generic/mutex*.h > into a separate patch to aid in review > - fixed lockdep > - added an uncontended unlock fast path, to mirror the unconteded lock > fast path > - reworked the handoff stuff (again) > > I didn't try and be too clever, since its far too hot to think. > > Still need to look at adding spinning to the handoff case. > Also need to look at writing (much) better changelogs, they stink. > I have looked at the handoff code and I didn't see any problem. BTW, I also sent out a patch to add optimistic spinning to the waiter. Please let me know your thought on that. Thanks, Longman