From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753702AbcHZOdd (ORCPT ); Fri, 26 Aug 2016 10:33:33 -0400 Received: from mail-sn1nam02on0101.outbound.protection.outlook.com ([104.47.36.101]:21362 "EHLO NAM02-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753549AbcHZOdb (ORCPT ); Fri, 26 Aug 2016 10:33:31 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=waiman.long@hpe.com; Message-ID: <57C05333.8010900@hpe.com> Date: Fri, 26 Aug 2016 10:33:23 -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: Andreas Mohr , Daniel Vetter , Subject: Re: [RFC][PATCH -v2 1/4] locking/drm/i915: Kill mutex trickery References: <20160826032509.GA29502@rhlx01.hs-esslingen.de> <20160826091032.GO10138@twins.programming.kicks-ass.net> In-Reply-To: <20160826091032.GO10138@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: YQXPR01CA0054.CANPRD01.PROD.OUTLOOK.COM (10.165.103.22) To AT5PR84MB0306.NAMPRD84.PROD.OUTLOOK.COM (10.162.138.28) X-MS-Office365-Filtering-Correlation-Id: 787df345-7b23-4b81-6808-08d3cdbdf270 X-Microsoft-Exchange-Diagnostics: 1;AT5PR84MB0306;2:W6AOZpRGd2m6aNFbFAgDHCs/g2OvAIUHAL6tKoMws7ACIH9wr/kgM2epWUqb4gpgmFCHFXBML/vn+ouPAaS6+1sM92alGxd1odUjckMpDT1P7x1l/ZW/w4ZpnxpOi0sQAhxCVpkob/NOpiYv0nUlqP/TkAbECtvxmLe73hg6QEa8YLG6/pK3NoFtq9OgYZpw;3:m1t3ft0li0A8dDrafBD5B7/++Pbe++d5J9rE3Yx61CCzmz+0mnMp7EMtr2t8uPcd/U0AnwCTWrPM+ulHH51LGtClhC0IM4k5VVcjfG/PK9BC5FZjhCeftWcTQ/ANKmnE;25:3h6a9l4fO1E2/pDKcm4I0BY3/OovXsks8kGjDqLE5N+UJMTRO+IXYhCFieA62URAXdwEFbIcc0WjXZYPQdNnt5UEu/wa85ZM+nlW9p+8qT9bl0KljY4GLKCnGVGmw8iNOt6Jcwd/I7oTHosRfyi4uQGx+GPZrTyCn93K4svsU+oc0dJ1h6gKDmAwjU0f8QpTJ5uKL8lfhTdMkZVhsqgALTPb/Z+gJoiEXsiAoJtrfyhPDZwjFhKynkuMT9LNZRUG3Mrrqapb8XFLfNfOvfQkqjyTHTtdeXZ81BLCujTmZaN2aODcULezQ6BJNJZ9UOSzwtRbYznpdOM1ReV9VkNJk/wIUQsPFijYuWZ9oLdqp0ovgnAc3HI8iL+mfSTfA94tZbqLQwlfJzjnT22WhhQDPAqpPG18p6MlZaCeDCGUJEQ= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:AT5PR84MB0306; X-Microsoft-Exchange-Diagnostics: 1;AT5PR84MB0306;31:OvTatEEJeeLjyYTXjquxXN15teFsa3jpTUcz0tHMe8ow3viW61dQglaYGyloZL9x4m0Lb5epldb8PAZlmJISApFpGFSGXhernLR23Msi4VOXKS9prkxg0BqgPZQVii2VQadf04/jpPWK5oGvTW285Xu5wvjZ7EJuitJwN2ABsWawen8y8t8pGyyhKZGjXvTVEodHl0U302GgdpBF+7OPOOMWLyEFqtpGaOYvisas4zo=;20:tYr78uolWozpsGuGOIcj7RMQXy8dqKF+kIHF3/tf58H/0xE2po6bHmFm0T2R/2asWbZuc5Khjgz50V7vmEtlNOS48+YWM7NOst9kAaSXwdh4NasqoMms1gvc7izXTp1yhgVhVdjLrYwd+nUGFIM52/HAmvsu5gYFil5JgGS+PwxY07NXqs7sLWFV2TBgogtXLVcMTelF9wvm3PXVNJ8PKtW7iL3nFnAh3VXTHKnLP3HvRW+WnS/vWzzllUR1FCu16FJhf7ZqqyjGApQoGN0PTRXt9qM+xgxe4nGbvYlp0/MW8MfGq4l5rDQfVpGG8Gdxn88NfR0JPGSoNKuk1pyTOKcU5nC7gbFqc35usiYsbCWZ+W8Sn4ewAMSOhDPGVkfpjJkg1KjF32/znyXUJbe6MWXkAnCJ4JhJawJ2OrhGYyksdLRb2oCRBYttu11X0ZeWvfRQBN4WjUroksF96dd+x04adJBebT53C79lxGhIEWJ6Z+cc0fBQMyeCq6MgZAty 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)(10201501046)(3002001)(6055026);SRVR:AT5PR84MB0306;BCL:0;PCL:0;RULEID:;SRVR:AT5PR84MB0306; X-Microsoft-Exchange-Diagnostics: 1;AT5PR84MB0306;4:4EjTvLNSJWXXW19ar0cZQYFWQaF7y3JSESNhfrfpdNVcii6NgS3Spbw7CPpjLf4oB4uIqF+F56ShwBoFztaFCSmHg9SIpjBSYSrEvPIy3BplbKQVK9QY2NCe9uP637M0t8qwHACSohCcM/Hh3dtyMwm23S6ahwuZn0luAipYRTkkMDQdOHPI1F9/COdgGS3Dv4IG0qRP/N33nLKUY+Cl0XUr1KZUqQ72lcN9C55i40/mL5OwrxawL5RHE+GylTlpThNPgEu/0Uy6M/ZdKpTQOEDLx5kIxvBJPqRuaUAmkoLBUychPf0vEHwkHrG2eaG1Pv+0hq6s+IE3Ta6b3JMkItLd2E06dAfGhMEa6K1EThl7PC+kfgJYZTQ0Ul2H+LwrOMJ+9qEZ4rWUnVEDrGZ2sw== X-Forefront-PRVS: 00462943DE X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6049001)(6009001)(7916002)(24454002)(189002)(377454003)(199003)(92566002)(8676002)(42186005)(36756003)(47776003)(81166006)(105586002)(7846002)(7736002)(68736007)(81156014)(50466002)(101416001)(80316001)(305945005)(65806001)(230700001)(64126003)(4001350100001)(87266999)(54356999)(65816999)(4326007)(76176999)(50986999)(59896002)(23756003)(110136002)(83506001)(117156001)(2906002)(2950100001)(97736004)(33656002)(66066001)(3846002)(586003)(106356001)(86362001)(5660300001)(6116002)(77096005)(189998001)(65956001);DIR:OUT;SFP:1102;SCL:1;SRVR:AT5PR84MB0306;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;AT5PR84MB0306;23:d6w3VzKqs5daTKwYXSN2iRummckcDUJbms4Ew1W?= =?iso-8859-1?Q?HD6DjKQtlOl4DP1EBueZOHJGAHyfunwNlhLVVHf3S0YwrKeY7rWGldF1u2?= =?iso-8859-1?Q?d1FOa4zHCF2vbcWb49q2PpN+js3X11Lr7/NsWZazLBrU9CzWD33GAp5KkV?= =?iso-8859-1?Q?ow2L+x7RcZ0XOb5NYcERBimi5Aj0FjkBi2j0/VAhIf6Ip6gjSUULve0ybl?= =?iso-8859-1?Q?VPjgtWud7uefn0RO3ZkRtHb8T/PEgpaqGBRdiNgLJjLhtVtlgnbJ0SIj1m?= =?iso-8859-1?Q?27JnebSwvNYXZSG1PO5S9wHWobh1LwPBNKBvESS+dh1DmZt893dV4w8ru2?= =?iso-8859-1?Q?GgKwsCtOVocuPs1nxqnYfz9xHNObyrQZYORDhoZyD6dFiI/WQhmerkWvUE?= =?iso-8859-1?Q?tHxPSGmxz+4oP9hmw4PkC7XOJP1jCZa3ZKE0UwshYnAMQ29mSu8c7WoPEH?= =?iso-8859-1?Q?bOnkwu9rehNHK83iyhSnSydsenrhCtPL8onKypjkI0EsEjOoTgaDJTfTEm?= =?iso-8859-1?Q?QkdL22GuvJZ0T98MUZbtaDi/5lchq5CMUaN8eeK+x4q0389uCNtuc71Cve?= =?iso-8859-1?Q?bgCCm1lBHrCRPoGJ1LHQj5ZjyzASD+ybDaxCXMBMUfHuEfMuPIfvwxBTXi?= =?iso-8859-1?Q?POAOFQBk4Erijw9k2TcXSJHf//Zm2YW/uTSgOOmdX8/hjjLZJq/T15Olhb?= =?iso-8859-1?Q?xgHqI4jSQ4K44xv4P+H76sZ8G25JWqXB1fFmxI0yvf0Yiav8ypjjXWDuFe?= =?iso-8859-1?Q?dT1gN9Udz6vJBYwOMb+PkCGpHUtYeAN2uVWQ80ShUMEjN/EGLOcQHl7sgT?= =?iso-8859-1?Q?MROYhjcsTWP64NHB6Clu/+vYESBDEL9RVJq8hF37L6UOPgKmYupua7+Ah0?= =?iso-8859-1?Q?tMrEhetXm0jiJw/7b/LnYilmcfsqX4okZ0ipGVALC+MLLdNzPVpQFlExQk?= =?iso-8859-1?Q?vIomhLgh0WWOUvJvASgkuZpCG0TrWljZkBTCJmoE5tD+UlPZaZ/XpjSdgN?= =?iso-8859-1?Q?PdpHRPUqu8I3utuZa87M6cvhEUrZdOBD6ANIV0u+53IblZ8fAXIkZQ8YiZ?= =?iso-8859-1?Q?RGGlrfdQIy6Uow3j9kJfCXdqHbbTzUnZYDZS98bK1XOGWPvUjnHI0VtXaS?= =?iso-8859-1?Q?cmRjABZZpoA1fwqHWqRibB+QCJmWNADXph2C3FJZRzw5ODsP/JpNYSpFUV?= =?iso-8859-1?Q?ECiqVAcmmsHzkSmGtTSLwCTBuTgbKCk4wai/ZOf7auexjj0Y+BFqZEWDLC?= =?iso-8859-1?Q?wP4r1f8a6FaysajYPvgZx6P6JMugnFoNNfoXc/MfjRrkO0C29dJUgkRxpu?= =?iso-8859-1?Q?brs1V8oaZiVofWntOg5ohsOS3zsFiWB/TdxmQvjLzcG7g=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;AT5PR84MB0306;6:W4bSV7I3GdLvzwbe8IHZ3MOgA4soRexnon5OrjlQp5Rq5ipb4hz3vAbJU7qfIUhiduOup8jL/ISMxxX6x2EE4iFLRZQLyov7NOpisOg3vRtHZTX+Duk21X4gw1vKOQIyAwXQrzICjoF0w31XjShzTimuC26l7wAXUWfTEpx8XiZ9MYjZcs+YPj1az1RyIlrmO/yHxFx96FyPZxf92ydL9A6/uVnn4SnucfEn6PARd/pmDih9vygNPPhkeWgNrCYh8zOvsFhqgdLSG1ucl9NsA6pwhEF2xtuVVSZAxzlOGGgilPDgFX0QiMoT/N9rmbio1B0/yKY/VbBpdiPzvYaDQw==;5:Mku30US4sMSBmYezn2ugDsGbc/4fWYQXl15xWufURD6OhGpop8mx4zDOEPWP2JiqJf6haZ3T0TDLsNAslhUNEdMKG/Ljxpk6U299RLTErQQ+vryjucKNsbpj+XpsvnK7QEb6rd6BgAefGS3TaIVFsA==;24:CuXAxkRUw9a0hmou2wZxeVothGYyVRxCb4VX9Ue7HqAI93JEAaFI1fLTJgBlb85mL2iKoXiCeOjoafA9aRIZ82QMXnkCfQPgIn66ZPq5bsU=;7:uikp71ZdiTC+3bBMKpx9r2XSzWe6or97bUv9cESru61OPB3WFyrI8BR2WqD19v4tE0NeLLso3ssTKGzph3+VgohQun3oaf2fi21I00Uxb/jgQoH18m8EXwX2c0JAezOIPJZyzF9Ker+1/wCDnugmITaE/UZzkjTihlAFm14Tg8n0/LM4945uDMbdo0avX0YVJNEj5fnXjv4NECGuP0+SdiRNmk1istDv8A16bmW3ImIyxfR7r/vculbo1auDN7KB SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: hpe.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Aug 2016 14:33:28.2292 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AT5PR84MB0306 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 08/26/2016 05:10 AM, Peter Zijlstra wrote: > On Fri, Aug 26, 2016 at 05:25:09AM +0200, Andreas Mohr wrote: >>> Another alternative is to provide a standard mutex API that returns the >>> owner of the lock if there is a real need for this capability. Peeking >>> into lock internal is not a good practice. > >> So, it seems the most we could provide which would offer a reliable, >> non-racy API protocol is something like: >> >> static bool mutex_is_locked_by_us(struct mutex *mutex) >> >> since during execution of this processing it would be guaranteed that: >> - either we do have the lock, thus *we* *RELIABLY* are and will be "the owner" >> - or we simply do not have it, thus *we* *RELIABLY* are and will be "not the owner" > Right, and that is exactly what they attempted and need. And the new > mutex implementation could actually do this much better than the old > one. > > But yes, such an interface should be part of the mutex implementation > proper, not something hacked on in random places. It is what exactly I have in mind. The actual API implemented is subject to negotiation. The important thing is that it has to be within the core mutex code. > Fwiw, the build bot seems to have found another instance of this thing > :/ drivers/gpu/drm/msm/msm_gem_shrinker.c includes an exact copy. This seems to be a new file that was introduced since 4.8. Cheers, Longman