From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933094AbcHDAFu (ORCPT ); Wed, 3 Aug 2016 20:05:50 -0400 Received: from mail-co1nam03on0070.outbound.protection.outlook.com ([104.47.40.70]:23366 "EHLO NAM03-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753947AbcHDAFr (ORCPT ); Wed, 3 Aug 2016 20:05:47 -0400 Authentication-Results: spf=pass (sender IP is 63.163.107.225) smtp.mailfrom=sandisk.com; linux-foundation.org; dkim=none (message not signed) header.d=none;linux-foundation.org; dmarc=bestguesspass action=none header.from=sandisk.com; X-AuditID: ac160c71-e9fff70000000e72-65-57a28554a68f Subject: Re: [PATCH] sched: Avoid that __wait_on_bit_lock() hangs To: Oleg Nesterov References: <20160803181128.GH6879@twins.programming.kicks-ass.net> <11007730-3fa5-139a-8091-655743894ae8@sandisk.com> <20160803213006.GA11712@redhat.com> CC: Peter Zijlstra , "mingo@kernel.org" , Andrew Morton , "Johannes Weiner" , Neil Brown , Michael Shaver , "linux-kernel@vger.kernel.org" From: Bart Van Assche Message-ID: <27b69672-d96b-8b1f-bf5b-df8a5a74f6df@sandisk.com> Date: Wed, 3 Aug 2016 17:05:37 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2 MIME-Version: 1.0 In-Reply-To: <20160803213006.GA11712@redhat.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprGIsWRmVeSWpSXmKPExsWyRoxnkW5466Jwg43vOC3mrF/DZrF6k6/F mkkP2Swu75oD5P07xWixd34Di8XW/a2MFsd7DzA5cHgcfvOe2WPnrLvsHptXaHlsWtXJ5nFi xm8Wj/f7rrJ5bD5d7fF5k1wARxSXTUpqTmZZapG+XQJXRv++FywFpzgrWtZ+Z25gfMvexcjJ ISFgItH8vJWxi5GLQ0hgKZPE2+UPmSCc7YwSCzomMcFU/Tp6lRmqilFiyY4bYO3CAo4SW/d/ ZgaxRQSUJf7cWwBVdJlRYsrfqewgDrPASiaJZ/cnsoJUsQkYSXx7P5MFxOYVsJM4ObsLrJtF QEVi3tQnYLaoQJjEtLsQB/IKCEqcnPkErJ5TwEDi84qtYCcxC1hIzJx/nhHClpfY/nYO2GYJ gYesEj1TvrOBJIQE1CVOLpnPNIFReBaSWbOQ9M9C0r+AkXkVo1huZk5xbnpqgaGJXnFiXkpm cbZecn7uJkZIbBXuYHx92/sQowAHoxIPb4T4onAh1sSy4srcQ4wSHMxKIrx3gZEpxJuSWFmV WpQfX1Sak1p8iFGag0VJnPdi9McwIYH0xJLU7NTUgtQimCwTB6dUA9CJV39lJOzUUWLy/f/7 JIPqjj2BUyYncn6u+hiv8/qQSt1jjodi7/sTtjwon6MYuna3+Y/z84oZbP0Zjh11fXuzO+pm stER+1P6G5+/WaZ8ccrbnTkRtpM+XrP50bye7/+e96W5IddkTP1vSuU6G0XFui4uZPET5E9K X/DK59Wk/vjbjOEX3yqxFGckGmoxFxUnAgDtJSXwqQIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupmluLIzCtJLcpLzFFi42Lh2siRonulbVG4we+zshZz1q9hs1i9yddi zaSHbBaXd80B8v6dYrTYO7+BxWLr/lZGi+O9B5gcODwOv3nP7LFz1l12j80rtDw2repk8zgx 4zeLx/t9V9k8Np+u9vi8SS6AI4rLJiU1J7MstUjfLoEro3/fC5aCU5wVLWu/MzcwvmXvYuTk kBAwkfh19CpzFyMXh5DAYkaJaZfWMYIkhAUcJbbu/8wMYosIKEv8ubcAqugyo8SUv1PZQRxm gZVMEjfv9zKBVLEJGEl8ez+TBcTmFbCTODm7C6ybRUBFYt7UJ2C2qECYxLS7EKt5BQQlTs58 AlbPKWAg8XnFVrA5zAJmEvM2P2SGsOUltr+dwzyBkW8WkpZZSMpmISlbwMi8ilEsNzOnODc9 s8DQSK84MS8lszhbLzk/dxMjOLg5o3YwXp9ofoiRiYNTqoEx+bJ3OlN94lEnobaVaalLZ+9S +T77/6WGlZK6frP+lzutcmDI9ZrTelJQfu7qJu07jzZHX71ydc/85l96WcIMU9+oLA3ebPOr /Mv9dcbSul+OFx7e+SfkcLGLwP4vSRoOkS33F55N2WYVHPDJzmtP76mpOwu0/HPePPjBabvr qo62wTzO7z/ClViKMxINtZiLihMB4tYFOh4CAAA= X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:63.163.107.225;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(7916002)(2980300002)(438002)(377454003)(52544003)(199003)(189002)(24454002)(4326007)(586003)(230700001)(77096005)(189998001)(36756003)(65956001)(92566002)(2950100001)(76176999)(65806001)(11100500001)(2270400002)(54356999)(93886004)(31686004)(2906002)(53416004)(87936001)(86362001)(110136002)(106466001)(97736004)(50986999)(31696002)(33646002)(305945005)(8676002)(7696003)(69596002)(356003)(50466002)(7846002)(81156014)(23676002)(83506001)(47776003)(8936002)(68736007)(4001350100001)(81166006)(64126003)(65826006);DIR:OUT;SFP:1101;SCL:1;SRVR:BY2PR02MB1297;H:milsmgep14.sandisk.com;FPR:;SPF:Pass;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11FD027;1:4j3edp2rox9eGnkDU0dK7THMQkeNnye9upkidjvoc2GAAEWUhtAYYGEkqkKrLxOineIuRjCo1G7FCxrMc1Ul5Ngp5jRu36RxPrGNG4UlnBXowZDXc7jof/9ce6RwqvqeqZdV8KCCb1CKqP3vfG6JchYwQJFwSF3FrmPmkw5eK4DmkJTvxBbaJKauK/ugdETdnupti+MYvAq8vm78btrzf1JtIhxWn9DCctFAxHEOynw7ICTDzpMDiDCdzeHbZX8zgzlCCSqS2n/Mhgn7gmERD6LBj+k+aLcCPAqo+BWtvtBdvqJbsYji1DcmnMLbuZdtEwWPrlR+bZO/yuPUCdW+SV59d5YWDsucteu7UeD+xulVi8lPAefQTP/WBQUlY7+W0GHTH9rxedEWTdHY498Z6TepNliCaAg8qci10MnpDS1CuRB5Ze3H2XLdW35K1rEimcaQG8QQEWPjpTylZwWMhImr2Uvo92OKaX8RVXDefGjHBv6YEa0R2PG1QWVqDmVdNgniQwVwkJvss/AP6QQiTg== X-MS-Office365-Filtering-Correlation-Id: 75bc8178-9514-490c-4f15-08d3bbfb1453 X-Microsoft-Exchange-Diagnostics: 1;BY2PR02MB1297;2:gTX1H2FLXUec8K3XrGdJ8mxx1S9HNqjPJYsAQpg0MGzWAfz/eLmEmyFbgLsMGQN4aKN8CJsmVSN5MFJzLaHzwjAMZiOxMMPCzuzNfoZZnZrSfJ2f8VfQxMJH7JII0a1SEcX7YnoNcF/z+mwxk2w55xi02Qj6ZrBqhhgg2XIPPVhiACb5CtBujl6c3WQodgqf;3:iabKszzy93ECHY6IGCT2ng4r9/BPxeGLiGeCvtNr2Kq1R7pf04WdrA/auGKNq64S/YQg3HFzipvN6KgC7+Mvcg1oKN/1YuXYQxjr4RhQXlRcHvHY6PJXWN3WBG91QUelUGa7mZJbvrwbzVdQLAK2StXhyT9GZ+rGRwUcYO2z377eDuiTTaE2nYfqrP3YsXeb5vWtOQFWhag1RsGMeYw54s6FSYKYF/hKI4bf/xKXgUNiiXM8BHo8rjWpkfUMCpxDK7gbBJNux9e58u/nVPahIw==;25:g4m1jjIGPly4fTriiBXUX3KDC6cTY1tKtGYi1aj3FRHOhF0aPYW66GwzWd0mowA/UyhWKoNdv9qoSyPSghm2g+/kOhi/igPGgIOW55JAy9f+LF9FHrnhU20gJ3dTAo9GcoMYQLAAV2N7X3sLeAQrOAKbOI7e+4U+IpM8LVKXyLyc1uIC+IEFvIwWtTNvy5L/k3MXI4SF0cJhFGyf+I5/1B3DStLjlDKn2dp7qEJ53h77gc7HOwG5A7jKfXMQaT+eMP64LYHKltgomghoQ+OJYsNqY2lgyY31kOefk/0Y4u4eZ2pcVXv29kRAfzQyTU/VgKZnQVYj//SnG47rHEydNKqjZllqlPJlUGnU+zzuG0QKPK+yJzv77tp1xoNdS3VKEpyqhS3aKXO9ZyrcUFD4IzDQKG0Wf0yU/0VfyIPbsIY= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(8251501002);SRVR:BY2PR02MB1297; X-Microsoft-Exchange-Diagnostics: 1;BY2PR02MB1297;31:ejJk+PYHCKnKlx0zo3/h3mVl+rsevJwSSqI1c1ZZ0m4DeifZoppiV+C0MEUwXi/T8K0aoRlW6IJFRRch/lLVJZ5mUn6S8Bua3v975py0QdCNBllUUQzYY0SOspSqpiRCiEhQUqu/VcyYMkVww6yhqYnMF9+LtmVtcB3TcnHzjhZP4xbhEu2ZASrZymR+Q//HPpejkk/2HoJyWORAF+nVC4aqGVPq8DIuaZQVsJI+71s=;20:gWq0MX8llgYiOPi6XJI/FR9q0BZLaX1yqRn+uE2a3l6Ov/OVjam3KipsdOiD9GnTGAigQrgW4Y1dc/9hoPu3263kW6t+ek+gc4Z2sTOrYfAtYNpndhUH6UIXEIDUHINm93yPAF/dIa7mmLGmgwdi8eceXX24MMM9tods0qRZeRt7VHwAC4lmHp74aEFYls4HDR9DJD9Iu7PRlw6ow8uiUtvreII/9GK2EWkt5raGZg0f4P9yKhFhGj23fJ/tT7OZUoaAuD2R+Q2PNAL/XpfDJKEodSZEbKk756zwYsO05x654Z/kexBHlOxdYt0UG3jSJ1hqo1PP/H1WiIyYrXvgC9oYoBshyqwLDCNHMwGUlyNSdvcdWDrFMbzm/R3adMibjbLxqOSyzND8VJbZJNE4fO8eJqn3nPeYLuCXI8uAWghSE5H9oGN+inRwuDLKxRVMZybdykTKD0PrfTZvobROerMM/cRBl66Xy81PTBUWPK2kRZrwdl99oceA3D2DyA2Q X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(13016025)(13018025)(5005006)(8121501046)(10201501046)(3002001)(6055026);SRVR:BY2PR02MB1297;BCL:0;PCL:0;RULEID:;SRVR:BY2PR02MB1297; X-Microsoft-Exchange-Diagnostics: 1;BY2PR02MB1297;4:VXOwO2X1FHM5NQun66xi81thasOQg+Z+APb1PTlxkxCauiq5S4u4TLKlwrMZ7Rc4EpPZszYbRXKNBHpoYyW2DnLhIXW+tq+kr8lJohcP6bQTgc1z+wekw22Tedg0Iszmt2JOZBIBFJe09grUd/lDrSVdg29iLltWZrJFV2C9xP+ezeboo/QAbH27B83nG2qNF+r7iXcYH88sHBsqD9Dc2S3lzAgIjK16im5KLi6W4EoPqvvV2phBEoe+37PDCtFZXhspewSQwuQLgT3Aqck0v+xnxEMbTUVPKxViUMM46p9CO+YvxUVaeCsjtxK69lP+ZhsTGqdSxZCjpZ52kDf4XtJ+0Hpkx5pKFpxwLOaOHgpmhfPr92vTAcH+D6B40YB4s6bav6cKQMW6MAdKpN7CqUz819RmAbdLOVmgvtoquMQ= X-Forefront-PRVS: 00246AB517 X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCWTJQUjAyTUIxMjk3OzIzOmRhV0xhVldtNW9hME1QMENRQXh0ZUhNc0tq?= =?utf-8?B?SThlSFA5RTkzaStLQkxSWmM1ekhURG1IT1NYYmgyc3hnQXlabUlaQlVrV1FB?= =?utf-8?B?amIwSFVYOGVZVWNSU0dLeGcvaEUyaVk4K0F0eGQzUHdtejkvVXFqcWtPT2xC?= =?utf-8?B?d2FSdlgxSXF2b0pzNUt0amRraDBrdHV0anVBcnZFeVdzV25EL1luanVuNWx1?= =?utf-8?B?UWlkYXVSUHpFdkVHTUxHY1lKV2g0MHVBazFFdHBXNkxIUGR6THhpL2pDeHFa?= =?utf-8?B?QzFjVjNZVXE4a0VhTVFIL2EzV1d2bnplYlYxYzMxQkw2bTJUa3lhMytmaVlr?= =?utf-8?B?R05nNkJDdzJlLzF5ME1LRlpQa0hjMHJVQ1h1Y1B3WWNnTGJJUGRtdWJ4L3du?= =?utf-8?B?dDFOTDlEZUh2cDJydFozKzZkL3BBcmYvZjZvODg1RExWQ05BMFhCOGdBeDFL?= =?utf-8?B?YUNaenlpM25QYkVIWk1MMEozUmdpT29Ld05NcDJDaWpZODhzQitqSlRCczI0?= =?utf-8?B?dDdQdTJQODFTNFRtbGJ5ZWJwVnNxV0tvZVFEMjZFTmtyS0FmZ3RKNnVOM3RD?= =?utf-8?B?cEFHRW9yLys0eEMvUlNCMStZdGVsQ0JFa2NMMlIvaFJsZm9DTGhrdDlldEpO?= =?utf-8?B?ZURoVnNCR01jRFEycnJ2NXdsN2ZXVURUTk9oZUswVmE2SjRHbDZwd2ZtblJH?= =?utf-8?B?MFd6SWRkdUU2dXk2TmRURVBVSnIzNVJTUkYyUmRrT2ViallOa3V4VEwveDE4?= =?utf-8?B?dVlGRWFvbDVnMkl4UDd4K2VNR0k2S0tlL2lpTFpseEY1Z0hJZEFhNm5rQ2p6?= =?utf-8?B?R1pYNnYveldQd0RjT0pCWWNZTlV1TVlZY2JSVXpnQ0dycUVXSld1SHhIZGlq?= =?utf-8?B?SnZpelVOTjB1c1pZMlF5NXRkVi9YT0Y1ck1YMVNvY0w3ZFBxblNDa3VmdFkx?= =?utf-8?B?bGRSOWUwVi94ZGFFa1REVWR0QzZ3UUg4SGtVSFZyamc1NTZZdjhTN2k1YTVl?= =?utf-8?B?Zkh5ZkRUMHZHUGcyTU1uMUJsWTVPR0E0bWpTWHRXU3lNcWlQNEM0TzNOR2xr?= =?utf-8?B?djRrZ1NYY0VoMm51NUxJbllmUU04bUJkbW5sYlpvWGwrR2ZEcWFpTkdYbWhY?= =?utf-8?B?d09abWdkTlpmeXY2bFl4STJMclhmODlxdC9WeGJ4S2xLNldOOUhEU25NR1A0?= =?utf-8?B?enJRRVk0K09xckZOTk4wbGJsSi81dXdNSm8xUU8xUFd3NmpUeUVTWTZremJo?= =?utf-8?B?bVZodGJ3aWxmMnJQME81UUVac3BvQW1zbnowa1I1NFMrQ01Ib2djQXRRYmlU?= =?utf-8?B?eDYybTkrSExqR2hmNWw0Q29vUjM4M0ZVbkZ5WEFYYVJrdVlWMERPYW96b2Fi?= =?utf-8?B?UUoxUzJMSHphV05jSmF6Y2YvVGtxVWNqNVR3azlUeXNpUmU5ZkJMSko1R2xq?= =?utf-8?B?TkR0WWh2TEdXT1RQZ2k2MTM1alkyNmxlN3pPQ3hIUGRtcW1LK2RNbXVmVjFr?= =?utf-8?B?Mk9HeVZCZHAwZjVaL0tDb09iNjh2bDNrTUFhcWtrQkR1OXdKcE1tV25wWHZr?= =?utf-8?B?ZFE3UFRZTkdhbHk0UVJBdDhQdURFRVNkVVBWVnV1SEZVZ1BheGFPZmZBRFdT?= =?utf-8?B?T3JVRktvN3RNVVRiMnVxenhLYnBWbkxZWmJPbmVHb0NQaC9qSDJEcy9RPT0=?= X-Microsoft-Exchange-Diagnostics: 1;BY2PR02MB1297;6:cvLmsgbDq+yCB8I5Voi81ntwXHmKX+5TngvEjclOE1bFgm6GMg3JWdSJIGJ3GvWkmj/Ywym7YhtpeGQDnVOlkv6mPc9fkk/VKKLoXGE+kv07OAme8TeGS4O1ndeAZ62cJip4Fle66fFY4jGj1lkMYAt4MKc7JFfdJON0/If/Lm8e3xObWpmb8pMCeOIe0OjwE7UNIPOwSZgwc5oXDWCaeBn4E6onoUSIIkTKwVwkVcJmAZnr9TNG4KIQtSOSKPS4ZxXcEGPPMKhen/CcEUQujURvnUQi0Msj9Xj4ybFR7TDi1DyyA1i0mupahwE5C3uww1GTWr3gd6Tut1zT3KJJhw==;5:HUsVekFl8DQAZNwwG4t2phjdXgJ7O9g5U1L+mxWsCuSp+rqNiu/wt9Sd7mJ8TxVavakHQbx6BRisrOITVEisFxaERguwH6S/GP+KenDULXuqqiQRndjdMktKT5AlkYOgQ3arFYo9TamLc0vbgJ4ueg==;24:yU4G1p9uSyP7pIqEsoYlHrDELZdsKOUuWiNOYSmZIPFIE5MgBeOMNO+LVaQwkLbsoFCsRKKSqy2nfPJXej9YxPBQi+14fPlN7Zn6vKmRlZE=;7:BMtpS63iSP0FCdsKWMvUa9EZMC6/CqE+BYQZweGBYKLapNx0E4sEPnVA5ZAM0SvzPxefznGEZQF03q28hSRGoCPyZAfRtofZqsEJmjGxJRVtLEZPXPouJB91omq9j7FM8Knyfe3dLQKhxYuQSuQwt9A9reXWy0VXLCLqGF9Wj0HaR0pI7TTddC/op41H4sVCl9pFpFoJ7eq+qmtp2GEAtPTsfHTl3h8v6Ow3HZGMxc6pGCaiGJI+9WsIhAA+eL4W SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BY2PR02MB1297;20:Xiy06J+5w0pQL3Oc7kQh5HqemE9vph8q+douhfjRgWy+Pj/6/NtjPOmnagzMUAK3nwzjRjjeotthmevalRy1JK1G3wH1FnDZ1q0VFNgNHHttoB46jZnyEsigC3JrWRCsG7jx/21VM959/mmbb369Tf9xSKcYL4UI3+8MvL6LO+8f0+wf1fVnMLCyXJ97+wLK9VryBWldgsUQ6jTnDnAb33Ml9/5SMCohIO7J4byMnoloaOn8YCyXMQ+h4HNLOwnu X-OriginatorOrg: sandisk.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2016 00:05:44.0937 (UTC) X-MS-Exchange-CrossTenant-Id: fcd9ea9c-ae8c-460c-ab3c-3db42d7ac64d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=fcd9ea9c-ae8c-460c-ab3c-3db42d7ac64d;Ip=[63.163.107.225];Helo=[milsmgep14.sandisk.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR02MB1297 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 08/03/2016 02:30 PM, Oleg Nesterov wrote: > I too can't understand the problem. Perhaps you missed the fact that > abort_exclusive_wait() does everything under wait_queue_head_t->lock ? > > [ ... ] > > But we do not care if we race with another try_to_wake_up(), or even with > another exclusive wake_up_nr(wq)/whatever unless wq is the same. > > And if this wq is the same, then wake_up_nr() will do try_to_wake_up/autoremove > either before or after abort_exclusive_wait(), wake_up_nr() takes the same > wq->lock. > > And this means that abort_exclusive_wait() can't be called "After try_to_wake_up()" > and "before autoremove_wake_function()". Hello Oleg, I had noticed that abort_exclusive_wait() locks and unlocks wait_queue_head_t->lock. What I had overlooked is that if try_to_wake_up() is called (indirectly) by __wake_up_common() that then wait_queue_head_t->lock is held. However, not all try_to_wake_up() callers hold that lock. Since I'm not a scheduler expert I would appreciate it if someone who is more familiar with the scheduler could explain me how the two patches that I posted in the context of this e-mail thread can cause a behavior difference. Thanks, Bart.