From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S936083AbcHJSfI (ORCPT ); Wed, 10 Aug 2016 14:35:08 -0400 Received: from mail-by2nam01on0072.outbound.protection.outlook.com ([104.47.34.72]:30360 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S935311AbcHJSfD (ORCPT ); Wed, 10 Aug 2016 14:35:03 -0400 Authentication-Results: spf=pass (sender IP is 63.163.107.21) smtp.mailfrom=sandisk.com; kernel.org; dkim=none (message not signed) header.d=none;kernel.org; dmarc=bestguesspass action=none header.from=sandisk.com; X-AuditID: ac160c69-5f3ff70000000bcb-34-57ab4de3b058 Subject: Re: [PATCH] sched: Avoid that __wait_on_bit_lock() hangs To: Oleg Nesterov References: <20160803213006.GA11712@redhat.com> <17b65ff9-215f-ab74-9f5f-15dbd308d054@sandisk.com> <20160804140938.GB24652@twins.programming.kicks-ass.net> <16207b90-2e6c-fe23-1b4b-3763e5cf0384@sandisk.com> <20160808102213.GA6879@twins.programming.kicks-ass.net> <4091e252-18d9-1795-de63-9fbc678aa6b1@acm.org> <20160808162038.GA25927@redhat.com> <78fafdc1-d4ae-a9a2-169c-1d456b6e6e41@sandisk.com> <20160809171459.GA13840@redhat.com> <3cec7657-caa9-92ca-9f0e-34f073a6ed8c@sandisk.com> <20160810104555.GA3333@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: <426a381f-b1d9-e1f1-773d-75ccdccfa832@sandisk.com> Date: Wed, 10 Aug 2016 09:01:10 -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: <20160810104555.GA3333@redhat.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprIIsWRmVeSWpSXmKPExsWyRoxnke4z39XhBs192hZz1q9hs1i9yddi zaSHbBaXd80B8v6dYrTYO7+BxWLr/lZGi+O9B5gcODwOv3nP7LFz1l12j80rtDw2repk8zgx 4zeLx/t9V9k8Np+u9vi8SS6AI4rLJiU1J7MstUjfLoErY2fvcpaCzzwVW1d2sTUwnufqYuTg kBAwkfiw37CLkYtDSGApk0Rr7xcmCGcHo8SuH0dZuhg5wYqW/5zBAlXFKDG15TYbSEJYwFFi 6/7PzCC2iICyxJ97C5ghimaxSEyecxFsFLPASiaJZ/cnsoJUsQkYSXx7P5MFZDevgJ3Eutt+ IGEWAVWJg39bwIaKCoRJTLv7lh3E5hUQlDg58wnYFZwC+hLbJ85nBWllFtCUWL9LHyTMLCAv sf3tHGaIQ1+ySiw5kABiCwmoS5xcMp9pAqPwLCSTZiF0z0LSvYCReRWjWG5mTnFuemqBoale cWJeSmZxtl5yfu4mRkhEZe5gvPvE+xCjAAejEg9vBMOqcCHWxLLiytxDjBIczEoivIL+q8OF eFMSK6tSi/Lji0pzUosPMUpzsCiJ87rd+xImJJCeWJKanZpakFoEk2Xi4JRqYORUzv7vt2Jq wOeOFZsM3LkuLXM6JtFjd0X94HQZTvFc7pXxPjMfuHy1flQssSJvke/kumSNPSxBM9jXsZuY a/d+lH61x6Xs8V1Dh9VPUpoPvkjPbHmaFbgr4+ysv7FLg5kvnLlU0G+QovT3Z+9ZvaOG5hHz zGZteb3X/c4q5l/cZSm9TLI3g5VYijMSDbWYi4oTAZMzjGmkAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupiluLIzCtJLcpLzFFi42Lh2siRonvCf3W4QesZdYs569ewWaze5Gux ZtJDNovLu+YAef9OMVrsnd/AYrF1fyujxfHeA0wOHB6H37xn9tg56y67x+YVWh6bVnWyeZyY 8ZvF4/2+q2wem09Xe3zeJBfAEcVlk5Kak1mWWqRvl8CVsbN3OUvBZ56KrSu72BoYz3N1MXJy SAiYSCz/OYOli5GLQ0hgMaPE7ENvWEASwgKOElv3f2YGsUUElCX+3FvADFE0i0Vi8pyLTCAO s8BKJomb93uZQKrYBIwkvr2fCdTNwcErYCex7rYfSJhFQFXi4N8WNhBbVCBMYtrdt+wgNq+A oMTJmU/AlnEK6EtsnzifFcRmFlCX+DPvEjOELS+x/e0c5gmMfLOQtMxCUjYLSdkCRuZVjGK5 mTnFuemZBYZGesWJeSmZxdl6yfm5mxjBoc0ZtYPx+kTzQ4xMHJxSDYyTxCO2nymaeOqt2zIN ry4vPf3FWaEzXz5eK5Aa8mndDUGeB9knIw5n/1d4am1fu1dcx8Fv8uc1KROS3UzEyq1eXtJs /6raLPT/dUd5jFrn8SPfN836srvrlfaTMvczey0//vnIEed3IHz7aZa5sVc32v6Qbl3+YnEY /7/Vh5iWr/DYuXO/IUOlEktxRqKhFnNRcSIAKPiwhh0CAAA= X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:63.163.107.21;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(7916002)(2980300002)(438002)(377454003)(189002)(199003)(24454002)(76176999)(93886004)(50986999)(68736007)(23676002)(64126003)(31696002)(54356999)(31686004)(4326007)(36756003)(86362001)(77096005)(230700001)(33646002)(586003)(87936001)(92566002)(2270400002)(69596002)(47776003)(81166006)(110136002)(8936002)(11100500001)(83506001)(50466002)(65806001)(7846002)(189998001)(305945005)(8676002)(2906002)(97736004)(7696003)(106466001)(65956001)(2950100001)(356003)(4001350100001)(53416004)(81156014)(65826006);DIR:OUT;SFP:1101;SCL:1;SRVR:BY2PR0201MB0693;H:milsmgep15.sandisk.com;FPR:;SPF:Pass;PTR:InfoDomainNonexistent;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BN1AFFO11FD007;1:VFUXRg3rszICQioFu+lBoCJS9fhfMOOpC8f5cgLobqjEcUnKg07fFabR4V7ZGWtCWbwdulR1WFkwTvpIIPal5us/ThqW0NIbAuNEnU7qRUyPncRuQgK1VUcU1GYuPIes46WhwiPXVnIvdcFo17xAtJaxyRmYEEYXD+PEoph8PweMSuj+txSDYb2qyA7CDygaYUnZSxtSJAvpEKTcHR0iqJwV0PsFK1doQ1q89jSqEDsWwHOP+IDnA+Tm1sZbuN8/QSVei2dc6KHx96nioEYSE8Rvpkoz+R5wKsHOtzWUcVy3/TzCjV78LqhLmR0VtWijelC5dwA/Po59GhxCWkBgGjc0prFnx+qOpsSAN7rb56raIMXKfwGrgYHRnFkqoME6OEfhfeiDQ/64F7kwV+plosIqT//sN5QmAoiX0xZyzUEfLsjzPsrWzQIAon/u/QUnxAD3HI9o7BHb4aJxLYmfozm4bAGIelRatuDVVTDc49GuC3g5QhcpLkn4MPG3co18qR6wISrCISgrPiin00K4fA== X-MS-Office365-Filtering-Correlation-Id: a432e7bc-3224-4afd-007d-08d3c1378f97 X-Microsoft-Exchange-Diagnostics: 1;BY2PR0201MB0693;2:qvGppdAdaJO6a5qmizbAxbuZASeLoDOucxglb+pFL5VzN4Kfbf0hv9v9roiYzKh/vN7SYOJpc+OrQnFhBr/91R6N0+nTNBDK9HlDtDAKlKVVeEyY4T1pOMfi0+eA8UPFNqSrafq+QvpgTV9FKwUYotqdwRCv7rURTrUFmOHmbAxq0/ig3BUhdgmytMkxVSJB;3:ltBmjrs8jUH8XRmmoryLy7DsiEgvWIQ0qe/gDorcVMRtuqPU3YJ12A3LCPY7WPkaZPiuAmR78CyNKahqPa8jJEZRQVOPRF7Lg8Y2l7K3NzMUCLj7UOOdB9GYgLH0zal5YYmTfh1Zsn+nYv4U18axSX6g6oj+stHd+Xj7pwZOdSgKHiTEDRk3hgWbm7hB0zOb7zb2oggSd4JNO0r+fNhVTE4cPepN+yMc7bpXBowgOi8Ds3ka3ywcMZ4/Y9IOw0uP42l6kp3c2hbbsuwDewAtNQ== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(8251501002);SRVR:BY2PR0201MB0693; X-Microsoft-Exchange-Diagnostics: 1;BY2PR0201MB0693;25:33qk9RYmFTQLq8QwOtFwf/Ppl1bWtfTPj/9nbTwQ+PnaFBf2dfL94Ob3KqWzqXOJx7fXwKzq/laSd3GaNLQxHBtl/uKbJEyPNys87t1Sc/I/4g5eOTA1G4x/2ncMmmQzxniHAxdZYeTkvwpSkrlhI5yXqzYJy1HFZ6jJAROfUCHN9xo6JZC0JQZrwuf+IVn1aBC9610vbJnI0h+XgLAxWx5/Hyr4i/wSMI98iy2iLw1d2aJmzyf7nLDTheJLGAjxZDNC9zZccGRjImptzVSqwGajqyAUDBvetIK+pdvPef+4ElHJ7n82fCh3CNs0eMXFNIKeKc2+pgPXXyksJOYR0upwhLuyESGIRfMzcYNo2JCafDfhsWUkPrscoxyreS//tP4+OHpby239im4Kga3s11TBCBVp6VeHJBka99GJPFxj/qOh13uWby5WT4XnuvkSgIb45f4G/vEG/Q/GZKxUrBTbjQAqvAYcmYHot2UuJPF5DquVQBN8eFZA9NUH3iajFCAhoq/x07FHEjN78trJVJ3NJMq1jvM5j7lx1x118vR1SH0ZrVef2soUBf321Vx+CTvmSmz6NIq1dhQoAQXsx35CAwQYutTV5CSZh52jQEgzmDRjasVhZLWNOxHHEl6My45oaLSI6TCvWesRMLp0Jq6qUc58F74bwymtFCuED0S82ppFuFfHM4oQ74ypugmfr0H14PwUEmu7pV3Eola+xa5A4sKVy4ogiLc7M0UsJMACRmAV4cVAe3SwLyUhJp9jCmZ6ao+FD2fpfbXZVf90tw== X-Microsoft-Exchange-Diagnostics: 1;BY2PR0201MB0693;31:OuhUYCAd5ZyUqc54MX6ytbC+olqFu2YccEUxPzcPD1o9jHin/5mFfYv5IGypiEKXLJWY9DY2lsv/7nzUrIO8Ytwk8pJ4ZfUbK93Gqr2kDSNMVRXpR9HntSo75h4A9Hei9R16RKlnUMtDdAY9dFETBeiMWALgfCAQar3zBYHdkFvG+cykTrMUF5cUzcG3YOzA5wOGon6jSOVdgGLRlHH+rjJIisnFehni0NxKQbGqThU=;20:ltI3n+qw3ujyb2j8mcEsRA4M75E3Z0CyGkEjoNliPnAKwj1FicUupjOMoaNU9msoGPONrqZsDNZntHu5tjbxHvK8HgADgS6dH9rMJZq56hBqErLdF9x+jVG4axZEU3gQOtQEhIS9CKwDGinvQnFRlkg9p+lx4N66J4ZdvaHtPGl42d//YSaPV/mjVJHa2nk7bpGlGODw5KEKVT59yEoMfDZu3NCNtsM0I+Fkn4I8IyWr0SyKqf5wXZmI0sh5sXacKTi9kf0aYIFFmI0YQLf9ejdViOlKVhxWsMUH/3AVwaBx+tfoq3Zp63MwGhR7hbsevHy/OvpZHxD4uFMvruUKkRkskV7UM6azWhvqx7l8Vp+GV6jfJXsy05KHR1j0kdPG2ngCRm5nur17AyHIqevkAZ0gVJi+abRC4IiQu2c9iJrEhAwWefJqDW3oYvsp79BvKlHZ3m6hZhMz3O1F429qAnzB300csp8T73suf/9iiQzBYYLwSbRgeZXNV79MQgiF X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040166)(601004)(2401047)(8121501046)(5005006)(13016025)(13018025)(10201501046)(3002001)(6055026);SRVR:BY2PR0201MB0693;BCL:0;PCL:0;RULEID:;SRVR:BY2PR0201MB0693; X-Microsoft-Exchange-Diagnostics: 1;BY2PR0201MB0693;4:uKL6XqiY+IEYvNstvfyBx5I1HaBMWpz0XH7bXOPOoNY2Si/y/k0xcwOsdbYM/YMASjy2mPTPWk1VWNA5Xnd1i92E8K6uf85m1QEnb/qiLQt+76SCi/Wz3Lp6yNAmXV8C/ZezpQL9gCaKeZ5xmz+PlDZOy07OiAZjPtw14uotJqAmQ08P9BsaOZX9qQ0b3HMZA8UhBAvKCJ/Wc3gsoL5NwrsRQsN4RBkU2hgfSy0BWHmYQ/ZCYldVvkI9EOmEo0qOfCw5AEaPfcZpWmi2f/MQaNDGc1sdO9+u1PS7ipJ4EcyXZuk9gkKz8jCA/q0Eh3x8JJrN0uVDcq7M4wAmVjC4WgRXTrCqJu4IPGqjYbDEP6IU4ltg536kEDT3BQPVrUgpX9axB2Y0ubUBLUIYlb+x+KzNkpyaYuJf2Bf77OV9+AzQe96yTp8oX/qPwpw/HU8X X-Forefront-PRVS: 0030839EEE X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCWTJQUjAyMDFNQjA2OTM7MjM6Um1WWVhvK2pNVTdnYTRTWVJFaG5aV1ZU?= =?utf-8?B?OGpSM1V4SThpY1oybmhjdkhucVRUVHBCdThIWXI0L2xVRE90YU9zbkRLbFkz?= =?utf-8?B?WDFnZXZZUDFYNm9ldURhNkV1NU53S3d2T1ZmM1lrUWoxdDR0akZjaXZMWkR2?= =?utf-8?B?SWRqNzJJZ0JaZ1h1QVFXU3BYemJRemZ1UUpQaWdhZWZUNVYzcld1bTErbTFw?= =?utf-8?B?allWY0gzVHFITzA1WUdSSVhVWVFBWEpqanZEaGlaWVdnclp2NC9ST3F3STZq?= =?utf-8?B?NEs0ZGVRSzNYeHN5Wk10ZE1HdnZ6YUpqbG5rWEZWd21PUjlRYXNSZ2pKRjJT?= =?utf-8?B?YjREUExVQzMvS0lsTjQ0L2d6MGdNWXMzR09rQkNLRnpBRUhlWit0TEZCTG5T?= =?utf-8?B?YWFYc2I0bVl4OXl4M3pmWUVvOUphTjMwTUhLTXgrVENBS0FBRFR2V2RSZmNa?= =?utf-8?B?ZVdMV25lbjd2Y1M0bFFaSHFSQmcrUHY1aUk1WnNLaGxvUzZreXd2M2p0ckdK?= =?utf-8?B?bTVYcThTNzU5YmtTUnZ3S0NxUGJER2NaNzdqL1NaRy9lYXFFRExnZDFKVDZa?= =?utf-8?B?RlE4SjEyQWVhaTZTMnNZVVUwZlJhcFVIeTJqQWdnTS9SUER6N011VlNvM0Vv?= =?utf-8?B?TjFVc1lFYk9XVzMzVUJzRXY5ejRrZzVEcENaOVB6STVsSWhacnBHUzBOMCt1?= =?utf-8?B?Q0ZTbkgvU3dHVy9ZS04xM2R3bWZvWUg2enoxZ2s0L0Y3bHVRdjBGOWlMN1Mr?= =?utf-8?B?cXN6MDhVZlg0YXFZM1FxOU1GZzk0Y3hnT2lFUEkxSlF6WnJiQTBPUTkwUy8y?= =?utf-8?B?U050a1FCWGliNXVyazg3MmpOR0Q2Qk1CZTFIWldLeVF0cmI0SjZrdjVUREtq?= =?utf-8?B?U3FONXVVcWVBZUplWEV1QzJhOEdLSVRwVWJ1bEtLRmVWbkVxeE8wY1NHL2Jy?= =?utf-8?B?bGViYUpPbEpXSVBzdVJtSzBJYmFGbi9mZWFzRFh4d01FcWlaL0wzMldzNXdw?= =?utf-8?B?SjRFUmVqSTZDV3BZOEJvQ1JxVnJSNXgvOFBBS2g1eVhoemlNdlpobElrTlpp?= =?utf-8?B?cXg5VmdVZU9FM1dFcURTelhxZ3FFTjlMOEpBZmRpcFZPN2dCdm9PcTlZN29N?= =?utf-8?B?UXVSRVA2OVBibkp0S0tHWjdZWFI3VWhmZDBtNS9PbWY0OFpDOEVBS2ZWYjQ5?= =?utf-8?B?M0tORmlZR1BLNDZodVh4Q3Z4Wm1hYjIwT0N0Y2QzejJlZENZR2ZrdXF2UHlJ?= =?utf-8?B?QmJjVXgwQlY1cUJPZFBPZXd4LzZxOWtuY01oWWhrRG1Lc2RNZkltUmFoMzJC?= =?utf-8?B?aFNRbkhXOGwxU2F6SVhocWgveVFwWElKQktNazNUdkN2WTgrNGV0S3BZRTJN?= =?utf-8?B?eC9YZ0ZIZTIwWjk2WVNacjZEWVhmWDBRK0Y4VUlha3ZJV1IrazE3R01yMWhj?= =?utf-8?B?QVZ0M2NYTU4xWm9tV1pWaGtXUFFYZzJsVEs0d29va3BQc3hzQzdkU2dQSTJC?= =?utf-8?B?MENwR2k5Z1I2Z3M5cWNJU0U1OWlpWFpOcno1RzREOHhCaHAyMyt3L2hvSTVU?= =?utf-8?B?eVBlamxlYVRMa1NnL2VhK3R3V1pSNVdscmM4aFg4WGtDUTA4enp3cnlUN0Q1?= =?utf-8?Q?ciUxbLLg5fEGAijha7j9LP?= X-Microsoft-Exchange-Diagnostics: 1;BY2PR0201MB0693;6:wu6bjY1JFLpv2FmUnQnm95AFcn6fqPZZn1UMhmM75Ki6CSbgAy48KBlSw2yBfBgs3WGpYCN4VJzNkwTKAm++o/zQRdLIyRuFE+2kIR3Sycn9jFix6nOQUNJOLQwc2YdXOq5GXVNfmnSeb9Jn+RebiqPgOuEJi89/vVZ3ehTT3gNM1FmyU6vSjXlb+uCXYHYj9CYTzrrWtFghV8stBaJk82uHh+w58UMsbGzt9m5vT7+aN5cI6cumFuE0UHwU4d/Rt7jigALTOS4Wg/q8F16HdxCuayokq9Rpy3Z6qc4ayFJCHcYCn7wvJ5NnptqWM95trYdJhVOz8HfSWsauF/FVjA==;5:FaUCfawhBM2wC2wXJNEHuyiiI7lxbotKOpaNqZV2OFYp86r/NbnIFO1yXI7wXrMHAkPeh55FpoiPJTRs0yummnl8ZuG56Q+c3UiR0YMFi2e95lJRTB4C4QVs+LBbofBUf73oTQFw22Zd2VVLV9ABnQ==;24:/U+9ZceKEVg9y4uvC0pBw/D8ktXFL09deD6WeGBY29TPk/tfJa0bBPHkig2Lgu9A4AOF+pIosLi0qsbSd6KgKMcqOcImqPsSOSZwSXbpAyY=;7:2L4npLJIfxtCAY35z7jTBoBMw6fJLKvAnuQkjcVNBufM6XTZ1xibHXNeNFUdFE8C+LVmcodtN7WWSTn8YAEiVVO89ghUcvn+rAW1mMmPfVEKYNf+FX7Qj3kQ9l8oIWbW3QYK0KdJDVuHs5Fbt9NgJczZPt/Gvn1kNXEgju4vA81RQ6XGfsJUXgdd35akS2sbL3phjf5j++5X5Cirec0MU/JFFF8mNKRH7Pp96EbhcwQJoLZ3UC6Hm23/W8L15cag SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BY2PR0201MB0693;20:iwG9Y6T3mlW1UcZ6omKRH2H8xQFX5HeCjxsQ9NQCRRAe3fn5cVkvI/ZxnUfaVKzYqDfL8oD609obSkQ/DNU2FhdL/RF1+rok8tGXvkzL9fB3LYbzvdRCPrBc3vFbhl7+yeeqRORozJRRF4pc3fD9DhE4egahmUKWVOz1nDTQqBrkNDZk+rB4MB9uTt13zPMml3v600EOm++E/fVxCPzbjVXMBUpSmUq7CLpyR9fM48tJ5svnw5RezSVKic/ZUje2 X-OriginatorOrg: sandisk.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2016 16:01:15.8283 (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.21];Helo=[milsmgep15.sandisk.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR0201MB0693 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 08/10/2016 03:46 AM, Oleg Nesterov wrote: > OK. Could you try another debugging patch below? > > Oleg. > --- > > diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h > index e5a3244..9d5f892 100644 > --- a/include/linux/page-flags.h > +++ b/include/linux/page-flags.h > @@ -711,6 +711,15 @@ static inline int page_has_private(struct page *page) > return !!(page->flags & PAGE_FLAGS_PRIVATE); > } > > +void unlock_page(struct page *page); > +static inline void __ClearPageLocked_x(struct page *page) > +{ > + if (PageLocked(compound_head(page))) > + unlock_page(page); > +} > + > +#define __ClearPageLocked(page) __ClearPageLocked_x(page) > + > #undef PF_ANY > #undef PF_HEAD > #undef PF_NO_TAIL Hi Oleg, Are you sure that all __ClearPageLocked() users pass the compound head to that macro? How about testing the patch below instead? Thanks, Bart. --- include/linux/page-flags.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h index e5a3244..10d8e63 100644 --- a/include/linux/page-flags.h +++ b/include/linux/page-flags.h @@ -711,6 +711,17 @@ static inline int page_has_private(struct page *page) return !!(page->flags & PAGE_FLAGS_PRIVATE); } +void unlock_page(struct page *page); +static inline void __ClearPageLocked_x(struct page *page) +{ + if (PageLocked(compound_head(page))) + unlock_page(page); + else + __ClearPageLocked(page); +} + +#define __ClearPageLocked(page) __ClearPageLocked_x(page) + #undef PF_ANY #undef PF_HEAD #undef PF_NO_TAIL -- 2.9.2