From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754962AbcJGV7T (ORCPT ); Fri, 7 Oct 2016 17:59:19 -0400 Received: from mail-co1nam03on0110.outbound.protection.outlook.com ([104.47.40.110]:37424 "EHLO NAM03-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750809AbcJGV7J (ORCPT ); Fri, 7 Oct 2016 17:59:09 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=waiman.long@hpe.com; Message-ID: <57F81AA3.1080905@hpe.com> Date: Fri, 7 Oct 2016 17:58:59 -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" , Chris Wilson , Daniel Vetter , Rob Clark Subject: Re: [PATCH -v4 1/8] locking/drm: Kill mutex trickery References: <20161007145243.361481786@infradead.org> <20161007150210.927453282@infradead.org> <20161007154351.GL3117@twins.programming.kicks-ass.net> <20161007161314.GD3142@twins.programming.kicks-ass.net> In-Reply-To: <20161007161314.GD3142@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.206] X-ClientProxiedBy: CY1PR12CA0081.namprd12.prod.outlook.com (10.163.230.49) To DF4PR84MB0315.NAMPRD84.PROD.OUTLOOK.COM (10.162.193.29) X-MS-Office365-Filtering-Correlation-Id: 10b1f8eb-9c22-4654-ca28-08d3eefd297e X-Microsoft-Exchange-Diagnostics: 1;DF4PR84MB0315;2:6JKbkFFvolVFwbqxQRwh8GbduPdRg01HbvDMaQ2DXd85tbTX0R8s+iqjetHJzX4kbiBwuwNKYAWQ8XUzWdcCJmYdOK7Q0HZ4MdiDasx3fhQu5STAVCB1YdvyAE9MfBXW3S+xG7kgxELPoPF9GoMTQfz/P9hDxbXORzx8uQc+Tg0SSS++tlRdTSqCQHGOu5rb;3:O/CaZ1hRt0m8B++XZAodD8j80C+/eiLOqBW9Q0jwYAhG1Kn/BRSidj53l+YX/sqRb+ubz6tJsZ1YQ0ahN0FoVuoljT2B3XkWw5VCB+XnX0UEWo1W3C6p6MI2yrk0yOMw;25:tigqDdZXuUpZt2TrKSDWZvel56QIkS24HVzpmddDQAg9RaWBfgdxq2khO4yTE1MTL+X6bAKOSgL1UAU28w0ZDQXio7ljDr3vKjrL7cRF1Wihivdwk+wq/1qJVRqynF6pGCZfKlx7Ky6s8tLCrvbeGNqctlfshBzvsioL4VhymIOw3h7R4sIKISKbofBuOmrxB2QXDKAn4OcAEEn6gZu1hqVqJxoe4U5v1pSRkkIkykgQ1NXGzLtuS5ghRifNsFdBPdG64YK1KWVY1g46kBHBhGunjYiiSzfv2XJYY82ETvu1+Q3eWa5qg+3ihqLVeuICkZeyZb0eb0WpP/jfNAptlOPBGP0Uqppcng0i/qWXvV6fBCSG+4wmMyqExND+ODsGspJkAlBS9cDxycPXz6HBZFJqeRR5b4E3igcNQf0VMQw= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DF4PR84MB0315; X-Microsoft-Exchange-Diagnostics: 1;DF4PR84MB0315;31:ZW7UI2sVVf3nQ97m6qYVO7XC9MdAkxk45YmIXbrHXN7Av7oPDho42MgxPisqIr5Al8eI88D4UDq0oFipF58/e210gh2pN7+KFHKQZjTXhMc12IryazuWjayPSQ0PAf/EQJd3DmDuNQQh+SHOAVhSn0mhZqWkNljH/2aBfnqcmzd53+PVInd2GoyfTd0DXxq9MwIEAOeZi8Qxb9Vuz3BfhoZ6PrNsGTMlHFs68KwIunxDRPbCCUqnO7RC9V7Als6z;20:vpuDHKZ+n3m1A2CWmQmibrp9SDW9XNfgjnklSet1GCU0F5nVGZbjqdpOQIZAKYD+POUEP34bDoQO6ho7bJehzMvbLn3yWY4dxLLKKrh/QOrv5qenE1r8OKwu5CNmHZJEUG2i8t4BqSiuhz5m0pKq7otU5MLdl38eYg9Ohpagd9MbnWgRfXH+4ZDdEtBvo1sVwyeQqyzlkhcogdojLEBihd36+RMxdrLArgmi1W5bCgEK4/3S7Yjt5MUCy0bRKjJUynW2bkpPKiBXs7VKmtGi0gwiqQjPd2S5epuHXYpadXfLBk9aosa+If6FMWXt+S1/W757Tbu/7cVoLQu91XfLkcKqcRyj+CrnDaJMog5gMVctNtlVCHrQEy4RSy0upk+Tup8w35+WoCOtAVSvnwHlpmG6ZoDRUaulFlFLh4EkMb3lTF2PzDNx+ZYwlEthwkhA0H+WR2m9Jl8fqo5VhrcPySYjBe5GG0A5lctGuVsRP/MFPvDPzHE+KeFZAHQr0R3p X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6055026);SRVR:DF4PR84MB0315;BCL:0;PCL:0;RULEID:;SRVR:DF4PR84MB0315; X-Microsoft-Exchange-Diagnostics: 1;DF4PR84MB0315;4:GO4pvdyWO+mw1O/w5Dd38g8vYK4TIkVfVVHRRWmU4jOJHeQ83iVyhc0xKempcEguCNS/3jLPJ7CN+xhWjGm20yJr1nuMVu26/g/MRRMj9hhN4BJsnI2l7KPXj4CQaM/SecBD+BtY6I7UU3w/jBIBIfqPaVsmEIEigLW6WfbnGvlsytTnVyjEN69FjQxc67tYWm62tEYDL4eLS63QVbF9XGmhphMoVO09UYyEukeNrBQBhY4NYukSVVX6uDuQkpNdilODoaiWyY0OkYQ6pLHkCCEM9smipI3gDGM1WNBkGFCtsiAdG/BgqBkjjx8Gf5prjEbbov9LR0koWVTxouBE+9DcnJNh410ChW/s9q3pwia4jDMP489Yfo/cCrDEM2E74YegBA/aKW39WiUXf9ZUtA== X-Forefront-PRVS: 0088C92887 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6049001)(6009001)(7916002)(377454003)(199003)(189002)(24454002)(50986999)(83506001)(6916009)(8666005)(106356001)(8676002)(76176999)(110136003)(54356999)(87266999)(65816999)(7846002)(305945005)(7736002)(33656002)(36756003)(92566002)(5660300001)(2950100002)(81166006)(80316001)(81156014)(86362001)(77096005)(189998001)(105586002)(230700001)(586003)(6116002)(4001350100001)(59896002)(66066001)(117156001)(65956001)(3846002)(65806001)(42186005)(47776003)(97736004)(93886004)(4326007)(101416001)(7416002)(6666003)(23756003)(2906002)(68736007)(64126003)(50466002)(7059030);DIR:OUT;SFP:1102;SCL:1;SRVR:DF4PR84MB0315;H:[192.168.142.144];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?iso-8859-1?Q?1;DF4PR84MB0315;23:tdWqyxXnEDQ5IJWPLFxUGd6NLQ0DT/NdRBNKAdt?= =?iso-8859-1?Q?/J8W4HTm9JJJV21CzB8XpETUqYytvRIMm3nfHeavnZYi3i0Ob2ANtN9UTt?= =?iso-8859-1?Q?Z32TU/5dZi7CfDtReTXYZFVMJVBeQ0xlpEjYcgyMZWbC9KgjhHLGZ5lXeH?= =?iso-8859-1?Q?ONOoyVY+gPHTVFdDO+WP5aJUikBdlcdU3SnN18NMRVvWsA7a3h0/Wk01eH?= =?iso-8859-1?Q?plyRB478XxQbH9c3G/4z6VSLKr5fL1LQxJMvseCICs+PEm5W/UrJemkNPW?= =?iso-8859-1?Q?WvY3V4tfkRmunwYTbnHjrf2a98yrYEusEC4vYBiogdVDQtoewkfjQ5hp/q?= =?iso-8859-1?Q?mG6KzryIu6JqQy2U0OpdXKSkRHHsdSRxeTRyV2pEv4rQb+uHTm+LM+XlGp?= =?iso-8859-1?Q?ILMeIfZgRC8cXc4EdJb7cY958uSOpbplXfVZoUArpGfUvAAC0AYW9lc2t1?= =?iso-8859-1?Q?18U0juN+NAQdtxZuwcMV19aPlgtJ0wVpKnaaJDsh2aR+Bp/e8rsTVSOUcU?= =?iso-8859-1?Q?NQqCvO8tedMS0EvbTbnHJuwLhfDTSKWUsLCzvyqhcGgnCWCKWgHfwLraVq?= =?iso-8859-1?Q?anyFslTjFMzFUnOFw7l2qRENKGJPzZhBJ0SsfCpRuExA3RIbf+ih8LqulQ?= =?iso-8859-1?Q?FJoo0Yd054oGzhLlDTNccogcYPaAwqtuzj1E3f9Ix3/mTSdAly96XOsYqn?= =?iso-8859-1?Q?65yRl8X2bOcQ6D09qxc+KkVV0R6dbSxhIuvtxsgVI/CSqkukWVFHw4SxYZ?= =?iso-8859-1?Q?GXXcdYszMsm5XFlx0h6x4y1Mf6MaTX5bAt5pURlQwtxYbNmCl19wLutzzG?= =?iso-8859-1?Q?YemVqc5+YIU+7IgYnpzKSAH7gQE/kkp83YXL+VZ6io+ThDes+gEr4Id1O9?= =?iso-8859-1?Q?oazWSzL060PZvjUA4Fe5dljKGRQNW8DmYIia3SC4aCMwMgMdCdkDiLpIIh?= =?iso-8859-1?Q?H8ISG9Eqa7IrQd5Qt4OhTN5lNrZDYgIXP4KNX4gahjbqtJJYQ9EmQl8yKo?= =?iso-8859-1?Q?iMI+ogOZ0Vb4zCyVJiQHFxnjDztZkKK349F3gTkGZpnFyznX+kTSbcF//L?= =?iso-8859-1?Q?TB2QB7oT1XWst9N2a+rSXk9n0txdx0tPFt0scsc/icjhKyiPpyUcnQF6X1?= =?iso-8859-1?Q?NlY3IDpfecMLAKGEJVwvKOYdYd7KPU24RvcF3qu81SFjBc53w9YVeSJy7j?= =?iso-8859-1?Q?56EuZ0LfpCCJmnCJlNOU1A0ZXWVwInfXaLZKTgof2fPNF/eQkpiVP8Zpkh?= =?iso-8859-1?Q?iTpTRhuEfMszWR/Hb9OpWypW73AKZtltHxJjeilpKp6fhkxear40PmYUsK?= =?iso-8859-1?Q?yloodyqG4RCTp+Y7Iq/8bNNwPAH8j4tbwbAcZm78hkgmWHcJcSQa3D9xYf?= =?iso-8859-1?Q?lGG7IyrSAGYJCFQHi4h1rhoLXVK1vn5V/d6wq7E4qY5zphvnoAd6sDMhO1?= =?iso-8859-1?Q?G0ODqqynp/4n6aoRtq5nmacCOV2ugSJcA7V?= X-Microsoft-Exchange-Diagnostics: 1;DF4PR84MB0315;6:hIPu/0N/NJVEaRPlH1TsK/769jIe8njxz6520dWcQyEDqbgu65Kcw930PL3pHzT1inYoQsbCbcBcwHoQihxsvvTT/l+AyHQxCGvbhU/KPqVk0SdDPb0zSh+h3tRRxJHT111wEwvI1sejci/Ty8n9BShQyB2tJmPcz/jNkvz6EAm/VavKr2bBJNkwJg1qkHn6zBhnQUEsCJqMqPFL9P5YgKKEga5Em12VWvgSRHaquO57ZG3hh22ivvUl4azKRhCx3VzQeQJ3IH5Ofwt48N1xJIrNLKzvNK19wv6UBfuLk16Nu9TfHkGF5BX+NQXEK6zyqUEC8G6b+jQaZxI4Uzk8sw==;5:+J5EbjYcMb+xu6WuOj5G54DZ2nLs48GEg1/1npeNu+dCfP9CHXIgpNEVZOIodRG57sFcNeig2uQVFzTwU0bIPdh457WfDIpgdgAilRDdMyUGCDUXVuCgtIepMGbn3o64rOIdIc/zFcjaxrYgl/8EKQ==;24:AlKCKhVlNUqVaOsYOS4KwoR2+aJq81Wwesg6pYXwQDmqlbWBicCOvo6YiBPAmeamr4IKuGUr7UTIPHtzZv1usH5DFu0Nvdv3ygwCMWQtuak=;7:3XFKlOVQu0nBazpIIW6LDg9xd5NoLFux/lNKA4824kyLOhrrKY0Oik6zWEdf1b9JX9NrLxQX+TbtIbQ1Wvz/E1AlID/mdaa6knSZbY72nhJ/7Vhq31HeVeMj7UwIe3pju10Au96Zmt4chnBlwSvBltxeyctY2LSqkhiI1wdEQvxp4Gj85f6gST7sx5rerRN/dsy1d2y5lGjrsm7yOYPXXs4QdSgYqGe6c5aQY0czRdE3QFUs+FbdfqD8COBtphLy4erbTNjhuQJyEePA5QU92KNBaJm2YNzx8yb5nClsR4+YwPuwt5Ov3bjNeiXYSaju SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: hpe.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Oct 2016 21:59:05.5160 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DF4PR84MB0315 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 10/07/2016 12:13 PM, Peter Zijlstra wrote: > On Fri, Oct 07, 2016 at 08:58:43AM -0700, Linus Torvalds wrote: >> The other choice would be to just make the choices be negative (== >> recursive), zero (== failed) or positive (== got lock), which allows >> for the same value re-use for the non-recursive case, and you could >> avoid the enum entirely. > I thought about that, but liked the enum better for having to then spell > it out. > > I'll go make the enum shout and add comment as you suggest. I like the idea of having a tri-state returned value (<0, 0, >0). I don't mind having the enum, but just making mutex_trylock_recursive equal to -1 will be great. Cheers, Longman