From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932630AbcERQEW (ORCPT ); Wed, 18 May 2016 12:04:22 -0400 Received: from mail-bn1bon0132.outbound.protection.outlook.com ([157.56.111.132]:64735 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932410AbcERQEQ (ORCPT ); Wed, 18 May 2016 12:04:16 -0400 Authentication-Results: infradead.org; dkim=none (message not signed) header.d=none;infradead.org; dmarc=none action=none header.from=hpe.com; Message-ID: <573C9276.5020509@hpe.com> Date: Wed, 18 May 2016 12:04:06 -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 , , Davidlohr Bueso , Jason Low , Dave Chinner , Peter Hurley , "Paul E. McKenney" , Scott J Norton , Douglas Hatch Subject: Re: [PATCH v4 3/5] locking/rwsem: Don't wake up one's own task References: <1463534783-38814-1-git-send-email-Waiman.Long@hpe.com> <1463534783-38814-4-git-send-email-Waiman.Long@hpe.com> <20160518103011.GC3193@twins.programming.kicks-ass.net> In-Reply-To: <20160518103011.GC3193@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.68] X-ClientProxiedBy: SN2PR80CA021.lamprd80.prod.outlook.com (10.141.39.159) To AT5PR84MB0308.NAMPRD84.PROD.OUTLOOK.COM (10.162.138.30) X-MS-Office365-Filtering-Correlation-Id: 19fd1666-639e-494d-2472-08d37f360e26 X-Microsoft-Exchange-Diagnostics: 1;AT5PR84MB0308;2:fxyXw6eLwDyxFSOHoJO4MjEmY3youCM7Rw2GUuzn509eDC0bZ1htYoFzB4cKO5zezvEyDnhe7R+GTcyV12fUkrMvzXOvTq8eu+Z82bKgDEHIN5upsRUnUvP9hI75Rl4ki5sUEpVD3ENMcVofRj7pKqxt39M6edquXcZUlulXEJqSAH7t7/ZGEq6Ce0x8RwR5;3:/G6He6K3FWjR7H/Qx3T6hEUHDcNx0UFgT2AoNrULmGGrxzqQH0LZxlnHmHCNW9kAji294YmhsEbRjxKJyzmXTykPsoWADmY/U3LrzpgxoUXWSrhbCs2ntch2sNw1mZf0;25:sBw8V6LX0ltCDuUlItxa40yh2BDRtEoiPKvAON+BM5dOEOcxx/KvvtxuG0d0G9a3NWLtM9rQ2Ai9P9ynVhedaq+9XM8FlJL7V652dd4xnyRXr5CyEeyOSenWihpaIdUXnaVMv8HZCbjnuoTqT0f8oPwFJ7GOZpu9hzhNXgxYVa/1Nmb+gP7wFB/DxoJEgdhC0M9QDeX95/uDG7CMOQx6hzTjiM7ZaZD6fNJ4C6wiB9jphRCQqkaLvVKrgogAQ+hRXqv1zzdTRPV5a8gFUfaoi4N6hczq16eDQeV0ruN+JdNKCJIRpRRTRS1+OQgTI6AyJ9AHVcIrs8Ib14tAhiuv9s+NC/bGjXlIoHJrAZoZsqrfj0Ie6P2h4nIiMlKQ/qejfL6GQlYX8MoMzq/OTAiidFQyjEWWxFpCVE2WjOTWnNc= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:AT5PR84MB0308; X-LD-Processed: 105b2061-b669-4b31-92ac-24d304d195dc,ExtAddr X-Microsoft-Exchange-Diagnostics: 1;AT5PR84MB0308;20:XHmOT+7eSARJ7q6BPG6+odEF89afbQMxKXVrquSqGkslJMNzQwomBi707hXhx7+g6x+6hzFHXk4XT6QlooJhInaZkEKA/kDum+kTuKXqfDZYAuxErPUUs2m2lTInkwAFY4G+EQXnpfRjMHkK1hpPIhDYJriyJwDJOMRRddq2wWpI7rMqVftwXoBlA5f9GzExx/43aw86UZbW3M77qdr1nHNnWt2Ma+PADEZeJQqVr3kXL1zcXkrV3BXX+1VzmBT/UbBMhh6ZvnCMOAdkHMaKcq72Qlx9jSPpcovMo64BM8zj5AnBpTailYu/E5MpD2pEyAeD5PJ3cgjSRHS3XyB2YQ==;4:fu4NZ0HsrCxoHrkfZ3pGBsTTEyoCvB7pXxb95it54j7qbpNtD46qbp4lrMNWE4xMlhgWHnVxHwB9s9vQXnjZRuV3IxDnJFlVXaqA+DVJSiOpuYmg46xdpOkOSey6PDTC1FjlG544EuxE226d8tI0SC667IeaFIflIdVKA8yHN71aFAaSYZdqca3gjsc9wRXb7HBIf/Xjz+KA3mkCRLOWHOiVlKKA2q89XyvmUQ+qUF3KgvbVMv6Jeyej825HuEj/qF7t8R+6JVyHqDi/tTDqgAK4ShCQ//7q6hfbLqZOp0urY1hSBibFtYZDd6mHEgJ6Z91lfHt0BoPBeXOTfvX5nSHQdEqu/lDKAU6D2SGjBfCFDLFOsAEjArZpX02/L3ke 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);SRVR:AT5PR84MB0308;BCL:0;PCL:0;RULEID:;SRVR:AT5PR84MB0308; X-Forefront-PRVS: 0946DC87A1 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6049001)(6009001)(52314003)(24454002)(377454003)(54356999)(47776003)(86362001)(50986999)(64126003)(23756003)(66066001)(76176999)(33656002)(5004730100002)(81166006)(110136002)(50466002)(117156001)(2950100001)(4326007)(2906002)(77096005)(59896002)(4001350100001)(8676002)(92566002)(36756003)(42186005)(5008740100001)(230700001)(83506001)(586003)(6116002)(189998001)(7059030);DIR:OUT;SFP:1102;SCL:1;SRVR:AT5PR84MB0308;H:[192.168.142.134];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?iso-8859-1?Q?1;AT5PR84MB0308;23:vRo5dF93sl47ZDhPsd5vF6+IYzFvTnxF7+AhSSs?= =?iso-8859-1?Q?HMVYwoCHz5cwQcIa0JRcUFxewA+yp8E6yxfhzqHLtHe+mYMs8g23u+zCO7?= =?iso-8859-1?Q?UUt+KrktKYkgEp5XkaNeUSHGZyK1hHq9HaJtmpdiWuYErihM5eZ+TrZR2O?= =?iso-8859-1?Q?78ALYkHpb9c3efOYc8b/n7rZ6wDOv10t8N1WS7VCOUDP3cFNxbTvmWovVu?= =?iso-8859-1?Q?EhrHWXpOp52hNB1kHELXAu3hruXlnOc9Ysewwfskaz8NRbI1f26OWkVHBE?= =?iso-8859-1?Q?+XxVcRuQ+PNo8hD8SuzJrS8cSWT1/sW5E8VBpXPS4vLM+KxLW8ynd/vznR?= =?iso-8859-1?Q?LhP63pNWAoa/mR75DYB6VeUgobNVKC8yVMJHk6a+pXyIW31cIB9SEpTXX4?= =?iso-8859-1?Q?BOLG2OhxI0ectVETzqDuMO5Gu0MXIbwfyz9eCflMC/1Gr85fmX6m71Q5Vb?= =?iso-8859-1?Q?40E6cxnzI/u9/8SBpaf049awuWq08XleSX09qOmsxqL0Y6RYQ9Mv175CNA?= =?iso-8859-1?Q?vSz5a85u05SmDgONTtzB8NW/pE/2HZYBxaje2EbAw2OWSAxWzbJzUNN4Zj?= =?iso-8859-1?Q?krrqLwagmKChyl4T3+p/A6mn1QOja+y0anjAp01SSyen/693i3sL1AwDip?= =?iso-8859-1?Q?JQpQwD8Koa/HhqvjMVqeaPtOmVxGhzEi9+1056YE9M0MKXVpq2QKKoe3/P?= =?iso-8859-1?Q?mCcIIOHcqCoC6LxQVKRqg4xmfbeF11tEOaqRzWlQDWOs5CaipbAif6wyD1?= =?iso-8859-1?Q?V9eCrC7JFGKUsK2O/DZGaVf8HIgUeI7IeTtdE1SiDtDb5VfGB1+/OGZTSO?= =?iso-8859-1?Q?bZg6uA06ko3GULruGjfXfeloGGeWnJUG4wsgXbf4lxC4bwKjDXsBYgLZ+N?= =?iso-8859-1?Q?6Uq2j/zaoFJl56Nu44CU4O0wXDbw6m7mtE/7keShvuOUvwzID1VOKEtfdH?= =?iso-8859-1?Q?BfUrEHhfnou4cMbppd/p+jUOPuHffXfNT+gEJbsSZG13eEoKgXOaAItWs3?= =?iso-8859-1?Q?fKdAAZ7ZsUzIvC+umRk+WMBLyrlTQtAABGYI=3D?= X-Microsoft-Exchange-Diagnostics: 1;AT5PR84MB0308;5:4LOPcajlI7Wms+pfEKUN6+z9XohQVfujRtMcVoUSqKiMiGTqpOABpPaB6hN8B6pj321aOCA5bfn1WjCMG+IagbIwlzQhX5syzDlDfiRiEkC1982kLx+seRIlwNLLHlJWKGM6fQ5G6EMM8nnSoSjiSw==;24:KPpLnLd+AysOBBkgqkNViTCFYVYTgRscDsamAN5l6Fgn/N0RYrUqQFeThq+D0buBJsKK9JM8H+PPN5aavfh/NyM7m7XaqFOEXSh12hKWi2Q=;7:TLpxuwF6LPnrZXmvlg0gxJso6ltfBNcwprzP0+lWK1Sd+bELbvTEk1nfu0R5PsL11SS2k60OA97YjBzDyhgwi6aP6EiL1I14kdfQ2qjHf+Tcrv79oMrtyuHJsnwOna/4wYSG71GhpXtt3NtSXmZBhrYnRrU6TpdpeZfISGEPTtXp5xqEjY3I8/WkXyas+xjf SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: hpe.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 May 2016 16:04:12.0776 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AT5PR84MB0308 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 05/18/2016 06:30 AM, Peter Zijlstra wrote: > On Tue, May 17, 2016 at 09:26:21PM -0400, Waiman Long wrote: >> As rwsem_down_read_failed() will queue itself and potentially call >> __rwsem_do_wake(sem, RWSEM_WAKE_ANY), it is possible that a reader >> will try to wake up its own task. This patch adds a check to make >> sure that this won't happen. >> > Yes, this is 'weird', but why are we fixing it at the cost of an extra > branch? I think I should have put an unlikely tag there. Anyway, the cost of an extra branch should be pretty small compared with all the task wakeup work that have to be done. If you think this is necessary, I am totally fine for scrapping it. Cheers, Longman