From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Christian_K=c3=b6nig?= Subject: Re: [PATCH 17/18] drm/radeon: make radeon_mn_get wait for mmap_sem killable Date: Mon, 29 Feb 2016 14:35:55 +0100 Message-ID: <56D4493B.7010004@amd.com> References: <1456752417-9626-1-git-send-email-mhocko@kernel.org> <1456752417-9626-18-git-send-email-mhocko@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1456752417-9626-18-git-send-email-mhocko@kernel.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Michal Hocko , LKML Cc: linux-arch@vger.kernel.org, linux-mm@kvack.org, "dri-devel@lists.freedesktop.org" List-Id: linux-arch.vger.kernel.org W0Ryb3BwaW5nIENDaW5nIHRoZSBpbmRpdmlkdWFsIHBlb3BsZSwgYnV0IGFkZGluZyB0aGUgZHJp LWRldmVsIG1haWxpbmcgCmxpc3QgYXMgd2VsbCBpbnN0ZWFkXS4KCkFtIDI5LjAyLjIwMTYgdW0g MTQ6MjYgc2NocmllYiBNaWNoYWwgSG9ja286Cj4gRnJvbTogTWljaGFsIEhvY2tvIDxtaG9ja29A c3VzZS5jb20+Cj4KPiByYWRlb25fbW5fZ2V0IHdoaWNoIGlzIGNhbGxlZCBkdXJpbmcgaW9jdCBw YXRoIHJlbGllcyBvbiBtbWFwX3NlbSBmb3IKPiB3cml0ZS4gSWYgdGhlIHdhaXRpbmcgdGFzayBn ZXRzIGtpbGxlZCBieSB0aGUgb29tIGtpbGxlciBpdCB3b3VsZCBibG9jawo+IG9vbV9yZWFwZXIg ZnJvbSBhc3luY2hyb25vdXMgYWRkcmVzcyBzcGFjZSByZWNsYWltIGFuZCByZWR1Y2UgdGhlCj4g Y2hhbmNlcyBvZiB0aW1lbHkgT09NIHJlc29sdmluZy4gV2FpdCBmb3IgdGhlIGxvY2sgaW4gdGhl IGtpbGxhYmxlIG1vZGUKPiBhbmQgcmV0dXJuIHdpdGggRUlOVFIgaWYgdGhlIHRhc2sgZ290IGtp bGxlZCB3aGlsZSB3YWl0aW5nLgo+Cj4gQ2M6IEFsZXggRGV1Y2hlciA8YWxleGFuZGVyLmRldWNo ZXJAYW1kLmNvbT4KPiBDYzogIkNocmlzdGlhbiBLw7ZuaWciIDxjaHJpc3RpYW4ua29lbmlnQGFt ZC5jb20+Cj4gQ2M6IERhdmlkIEFpcmxpZSA8YWlybGllZEBsaW51eC5pZT4KPiBTaWduZWQtb2Zm LWJ5OiBNaWNoYWwgSG9ja28gPG1ob2Nrb0BzdXNlLmNvbT4KClRoaXMgb25lIGFuZCBwYXRjaCAj MTggaW4gdGhpcyBzZXJpZXMgYXJlIFJldmlld2VkLWJ5OiBDaHJpc3RpYW4gS8O2bmlnIAo8Y2hy aXN0aWFuLmtvZW5pZ0BhbWQuY29tPi4KCk5pY2UgdG8gc2VlIHNvbWUgaW1wcm92ZW1lbnRzIG9u IHRoaXMgc2lkZSwKQ2hyaXN0aWFuLgoKPiAtLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24v cmFkZW9uX21uLmMgfCA0ICsrKy0KPiAgIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyks IDEgZGVsZXRpb24oLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3Jh ZGVvbl9tbi5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fbW4uYwo+IGluZGV4IGVl ZjAwNmM0ODU4NC4uODk2ZjJjZjUxZTRlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9y YWRlb24vcmFkZW9uX21uLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9t bi5jCj4gQEAgLTE4Niw3ICsxODYsOSBAQCBzdGF0aWMgc3RydWN0IHJhZGVvbl9tbiAqcmFkZW9u X21uX2dldChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldikKPiAgIAlzdHJ1Y3QgcmFkZW9uX21u ICpybW47Cj4gICAJaW50IHI7Cj4gICAKPiAtCWRvd25fd3JpdGUoJm1tLT5tbWFwX3NlbSk7Cj4g KwlpZiAoZG93bl93cml0ZV9raWxsYWJsZSgmbW0tPm1tYXBfc2VtKSkKPiArCQlyZXR1cm4gRVJS X1BUUigtRUlOVFIpOwo+ICsKPiAgIAltdXRleF9sb2NrKCZyZGV2LT5tbl9sb2NrKTsKPiAgIAo+ ICAgCWhhc2hfZm9yX2VhY2hfcG9zc2libGUocmRldi0+bW5faGFzaCwgcm1uLCBub2RlLCAodW5z aWduZWQgbG9uZyltbSkKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1k ZXZlbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-bn1bon0071.outbound.protection.outlook.com ([157.56.111.71]:13088 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750975AbcB2OK3 (ORCPT ); Mon, 29 Feb 2016 09:10:29 -0500 Subject: Re: [PATCH 17/18] drm/radeon: make radeon_mn_get wait for mmap_sem killable References: <1456752417-9626-1-git-send-email-mhocko@kernel.org> <1456752417-9626-18-git-send-email-mhocko@kernel.org> From: =?UTF-8?Q?Christian_K=c3=b6nig?= Message-ID: <56D4493B.7010004@amd.com> Date: Mon, 29 Feb 2016 14:35:55 +0100 MIME-Version: 1.0 In-Reply-To: <1456752417-9626-18-git-send-email-mhocko@kernel.org> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 8bit Sender: linux-arch-owner@vger.kernel.org List-ID: To: Michal Hocko , LKML Cc: "dri-devel@lists.freedesktop.org" , linux-mm@kvack.org, linux-arch@vger.kernel.org Message-ID: <20160229133555.6b_mpYeTnmbos-H1Lpve_HkfMXS1Cv_EaS_hOajtpOQ@z> [Dropping CCing the individual people, but adding the dri-devel mailing list as well instead]. Am 29.02.2016 um 14:26 schrieb Michal Hocko: > From: Michal Hocko > > radeon_mn_get which is called during ioct path relies on mmap_sem for > write. If the waiting task gets killed by the oom killer it would block > oom_reaper from asynchronous address space reclaim and reduce the > chances of timely OOM resolving. Wait for the lock in the killable mode > and return with EINTR if the task got killed while waiting. > > Cc: Alex Deucher > Cc: "Christian König" > Cc: David Airlie > Signed-off-by: Michal Hocko This one and patch #18 in this series are Reviewed-by: Christian König . Nice to see some improvements on this side, Christian. > --- > drivers/gpu/drm/radeon/radeon_mn.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/radeon/radeon_mn.c b/drivers/gpu/drm/radeon/radeon_mn.c > index eef006c48584..896f2cf51e4e 100644 > --- a/drivers/gpu/drm/radeon/radeon_mn.c > +++ b/drivers/gpu/drm/radeon/radeon_mn.c > @@ -186,7 +186,9 @@ static struct radeon_mn *radeon_mn_get(struct radeon_device *rdev) > struct radeon_mn *rmn; > int r; > > - down_write(&mm->mmap_sem); > + if (down_write_killable(&mm->mmap_sem)) > + return ERR_PTR(-EINTR); > + > mutex_lock(&rdev->mn_lock); > > hash_for_each_possible(rdev->mn_hash, rmn, node, (unsigned long)mm) From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf0-f175.google.com (mail-pf0-f175.google.com [209.85.192.175]) by kanga.kvack.org (Postfix) with ESMTP id 15637828E2 for ; Mon, 29 Feb 2016 08:36:11 -0500 (EST) Received: by mail-pf0-f175.google.com with SMTP id 124so31001470pfg.0 for ; Mon, 29 Feb 2016 05:36:11 -0800 (PST) Received: from na01-bl2-obe.outbound.protection.outlook.com (mail-bl2on0083.outbound.protection.outlook.com. [65.55.169.83]) by mx.google.com with ESMTPS id bs10si4196017pad.73.2016.02.29.05.36.10 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 29 Feb 2016 05:36:10 -0800 (PST) Subject: Re: [PATCH 17/18] drm/radeon: make radeon_mn_get wait for mmap_sem killable References: <1456752417-9626-1-git-send-email-mhocko@kernel.org> <1456752417-9626-18-git-send-email-mhocko@kernel.org> From: =?UTF-8?Q?Christian_K=c3=b6nig?= Message-ID: <56D4493B.7010004@amd.com> Date: Mon, 29 Feb 2016 14:35:55 +0100 MIME-Version: 1.0 In-Reply-To: <1456752417-9626-18-git-send-email-mhocko@kernel.org> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 8bit Sender: owner-linux-mm@kvack.org List-ID: To: Michal Hocko , LKML Cc: "dri-devel@lists.freedesktop.org" , linux-mm@kvack.org, linux-arch@vger.kernel.org [Dropping CCing the individual people, but adding the dri-devel mailing list as well instead]. Am 29.02.2016 um 14:26 schrieb Michal Hocko: > From: Michal Hocko > > radeon_mn_get which is called during ioct path relies on mmap_sem for > write. If the waiting task gets killed by the oom killer it would block > oom_reaper from asynchronous address space reclaim and reduce the > chances of timely OOM resolving. Wait for the lock in the killable mode > and return with EINTR if the task got killed while waiting. > > Cc: Alex Deucher > Cc: "Christian KA?nig" > Cc: David Airlie > Signed-off-by: Michal Hocko This one and patch #18 in this series are Reviewed-by: Christian KA?nig . Nice to see some improvements on this side, Christian. > --- > drivers/gpu/drm/radeon/radeon_mn.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/radeon/radeon_mn.c b/drivers/gpu/drm/radeon/radeon_mn.c > index eef006c48584..896f2cf51e4e 100644 > --- a/drivers/gpu/drm/radeon/radeon_mn.c > +++ b/drivers/gpu/drm/radeon/radeon_mn.c > @@ -186,7 +186,9 @@ static struct radeon_mn *radeon_mn_get(struct radeon_device *rdev) > struct radeon_mn *rmn; > int r; > > - down_write(&mm->mmap_sem); > + if (down_write_killable(&mm->mmap_sem)) > + return ERR_PTR(-EINTR); > + > mutex_lock(&rdev->mn_lock); > > hash_for_each_possible(rdev->mn_hash, rmn, node, (unsigned long)mm) -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753537AbcB2OKc (ORCPT ); Mon, 29 Feb 2016 09:10:32 -0500 Received: from mail-bn1bon0071.outbound.protection.outlook.com ([157.56.111.71]:13088 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750975AbcB2OK3 (ORCPT ); Mon, 29 Feb 2016 09:10:29 -0500 X-Greylist: delayed 1115 seconds by postgrey-1.27 at vger.kernel.org; Mon, 29 Feb 2016 09:10:28 EST Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=amd.com; Subject: Re: [PATCH 17/18] drm/radeon: make radeon_mn_get wait for mmap_sem killable To: Michal Hocko , LKML References: <1456752417-9626-1-git-send-email-mhocko@kernel.org> <1456752417-9626-18-git-send-email-mhocko@kernel.org> CC: "dri-devel@lists.freedesktop.org" , , From: =?UTF-8?Q?Christian_K=c3=b6nig?= Message-ID: <56D4493B.7010004@amd.com> Date: Mon, 29 Feb 2016 14:35:55 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <1456752417-9626-18-git-send-email-mhocko@kernel.org> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [2a02:908:f678:601:788b:1e3e:fae4:545b] X-ClientProxiedBy: AM3PR07CA0046.eurprd07.prod.outlook.com (10.141.45.174) To CY1PR12MB0134.namprd12.prod.outlook.com (25.161.173.16) X-MS-Office365-Filtering-Correlation-Id: 3f00d374-7f95-458e-a946-08d3410d4805 X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0134;2:SXVx1y7S1EpUbxXWBvrXpLaXfRHjUniW38XjY7Ts+9G06LK3RGO1NU+qcQc+wlcsGeFlEQRbnN4bt3Ki2ZO8YvNXD/nMFirw1vNP/DtWcL9e2tBtc5fZjMm9RlY5Mifdg+4qnT7R4IJouHs5M+bomVOfnl0lpgoCEFvO15vA4vsOBvtnDADqFUQpJHxtj2WQ;3:aocHsnCgaQMolBZbg14e8tfc1/ss38HZFhadvgTHDB0hHdtLT+UJ/8er6aJ3U2P0RChCC/ihxykPoGkcCPX6LAvIuDn3HwIbFVtd4LSZURoSH6gP/3I+C1cF5o9ID5IW;25:DNOgSp0I1bIfTfMxbl2SobbtDVDUzQfbfFR6aKXzotTCBTTFoerA03XlJRR0RdLmK7/U3Zv2qbutkb/66GYuNgBeVoBb85rgiErUosC04J7hgPu0zxPQVCCE8RqTm1V7YEpJqQcWrkChwQUozNlR/z9xiYpFXZ6iTeWtjjPslNa3UyxkJZBeREuErA/Ril3HS17Ml3Sre6Sqr1axDFPkI/FeCqiJWT8d2dx4+7Upq4aUXbs/RtsaPFDYfBGaYapKhu+JGRdoWN8ytA0Okg4Q0SPHDjOTzMxAIIdNwdrE1HmRRzVH0Tjddo928c9jlQGpPQMS+FyfDqkIN5Icak6Usw== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR12MB0134; X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0134;20:IK8wFFqVZBaLBJ53wNaAXuaTg1eecworUYQBfKU4LKZdjJaz7MLiYI9DIt4pbFn+0I765a3TTqkNmrjbbKzdNV26YCCUKemdbjJ6iKt97wmEq3kDw8tm+eLnWh4WPCgU3uL2w8x9ujfxReJp6muRZEvTHgTqeVIxfvnLfUBwAsjqT3IDXYSrv0IZB5g++lh20nP8DpnSAP8vFXG/V7nhmSxn3YoxG2T3Q0Xem8+LXgC5SEF+ZhDlU9hB35DAqhharNfi0r0KEJWE/HXT1ZfD9yZwYfs4AIfii5hdkyC33B63dHZ+ZkJ0RpKsyQG6hoW9aBcupuBY91l3C/Qj/yA8lDNeYT43FvrAyLfmg2oFIC3pWioawtQODzb2SuAwr1FNpPZo6jKhVZuPc02ryc8xdFYSfhAAgRPrruYUiUDOqt71RNr/sitpKasMs9JyLp/Q0cD/Lhqurx5ZIm4kWwAIJD0LQRA0RSrERnRIsI0FNsH1t0QdxyHW2Py+Ii05ULVF;4:gnxlK75vwu5/aXc4kEWorhnlJoXmH7jIl5FVZtSGgEfYt9larF+0BkdwZbTcELijOMS7yNwh3YftmpK2mqY+cw1SFtF8pX7Y8XzkTDsVHnzH2c71x0gx5v8uAdMCeCxVtIwpRWS/zNSQiY3u1ND2GP+CIL+r8pVlg1VqPMfLx4eZsyJfqdZL1YYHWps0X4LaF9ov59bZ2Y4GUl8YLJ9Vw4PUVeUMjmTbC6jVaGs486VnlX22pOQXD6h8Bp+W176GzcLrggao4vZ9C3lYtrX9Smmb5kO4dHSCN8d/v8M3J5gjGrwbqlSM305K+nClGXBcy2Ow3o02y1r4oDZKkzzcpR/wR0xJt9kVPx2Teb5cLnkepA8xVcugM56ned/MR/rZ X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001);SRVR:CY1PR12MB0134;BCL:0;PCL:0;RULEID:;SRVR:CY1PR12MB0134; X-Forefront-PRVS: 0867F4F1AA X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(2870700001)(42186005)(4001350100001)(65816999)(50466002)(2950100001)(5001960100002)(50986999)(76176999)(87266999)(54356999)(5008740100001)(19580395003)(83506001)(5004730100002)(5001770100001)(86362001)(77096005)(92566002)(1096002)(23676002)(122386002)(33656002)(64126003)(2906002)(87976001)(586003)(65806001)(47776003)(40100003)(36756003)(4326007)(59896002)(6116002)(19580405001)(65956001)(189998001);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR12MB0134;H:[IPv6:2a02:908:f678:601:788b:1e3e:fae4:545b];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTFQUjEyTUIwMTM0OzIzOkQwMjdlbEF6RENBNERMQjNaZ0NXWUVTd3Rk?= =?utf-8?B?eWFDVzhXa2FiaXprd0xwQ0dVUlM2Z1luZmYzUlJMcGtaclBJeWpDT3AxTEZl?= =?utf-8?B?NWFwV3EwUGJQdk9BNWw1QUtZdHNFWUpDdnAxVUVTVmZkQnpoYlZISXR2UzV5?= =?utf-8?B?MWpLeVlJRC8yOUpjbmpzVlJpL2pNaDN3R2VaemNqTUdhV284YTlwc3R3M2J4?= =?utf-8?B?dHorVHdtWVZnVCtPNFl4bFVEMVIxa3FlUVJsRktzbFRDNVdDaDJ4Z1VPdWs4?= =?utf-8?B?NkVQdUtrOWFEeFpNeEJFa21ZV0RJVm4xNTV6QlBRUmVCNnRIY05Ia1l4UHlw?= =?utf-8?B?QTVVTCtudXlTdnJlTXhnYi9KZFhOSjlTVDNMcGZ5c2JkN01xNmljUnpJWFdH?= =?utf-8?B?d1ZKVFZYVU5oMk12YUREYmxGMk1UYkZ0MkhhckpWTW8yZHM0cFpGcXRRRWxm?= =?utf-8?B?ODEvU0t6WWdSbFlxcnY1d3NmZEttMVhTeUtSTFZEL0hsc3l4YXJMUFpwL08y?= =?utf-8?B?UmpaeW4wd3lmeWNBL1pacXVLMVRLV0c5UUs0UEtsTFlmMFFEZnE3dVNiVGNt?= =?utf-8?B?d3p4Y2VyUC91VHU5VUY2TEM2UWR1d09UcWdGL2syWnlpaFQ1Z3JvWkl5VFNQ?= =?utf-8?B?aFViNjAvQ3pFVmRjYTd5ditvb05SZElLaVVhTGVaRWVUdkJZWURSZ2tUU21B?= =?utf-8?B?K0dBOXJkaHkxdzRYeTBvZHNOakdOamgxSWhTTjl1TzM5VGs5TFEvc2FKamg0?= =?utf-8?B?NjhabjdFUG9lbkRkTXk0b0FpL3hMdStrUThTNjVsaCs5eHBFd1Bkcno3cDIx?= =?utf-8?B?UkF4TXRyUVlST3VDSHYzaWx4RVFZbzlESGNhTS9HRmYwd29pYzdWUnNyOW5a?= =?utf-8?B?UjNZQmhBRklPM0NDYnhyUXFjSFlmbUJNd1JlemkxOTZxWUdmWEtISmN3WTVp?= =?utf-8?B?RUdPUG9wclBDMHZHV25wcjgvakd3aXN5T1ZyTHRWT0MzYWM1TGxQYVhqc2Mr?= =?utf-8?B?VHFLZUVZcTkzVDhEd00zb2FIR0dQZk1tZGVKbEhkakhlZjN3R3RaQ3l5S3Nr?= =?utf-8?B?UDZWS3dubWo1Uit6d1lLd3AxOUcxNmVIVjMwU00xNlNwV3psVkxNeWFmZTN2?= =?utf-8?B?TXh0V2xpWDNjYTVvVE51MEdoWkhQUGx4L2RmSGUyVHdldkswSU9hTFhNeEVF?= =?utf-8?B?a2ZZU0xJUlE5b3NsRHA3aVlsWGZpcUt1ZVBod0VSS2ZxdllkblZvZXVQb2o0?= =?utf-8?B?K1lmMll5cVdNL25BL0FyMWNnNGEyYWYwVFNxZTFrYUN0Q1JKcDBhdlk0a0Yw?= =?utf-8?B?dllVNFRpVDgvSU1sdzAySHJsc2xQL01KUS8wenhoTks3UUYvV3Q4cHBsQi8z?= =?utf-8?B?d0xaT0xxZUJrck0wRitZSUF5WHNucWt4RUYyYWp2eVRmVno5Y2pUTG1zcVN3?= =?utf-8?Q?z0uQmcB3yuOZf6Zu1Zs4dj1doOT?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR12MB0134;5:31ykyXu7Q6r6QpRz1XyeEZ2eL78C5DgTgQSrUzerdu36mmafyg38ViyeYRYd40clGyfc+vO+83cQHn+0u7QcBUjTsezcWBLOgJBNfUw7DnXjv6Xw/i7TK/fq/y9phW+O9FOJdDIBZU5dm1um0w8iug==;24:eImPPbTA4MB72p+r2YuyHrF5k3QYhwX+O7re0rYlcLMCe0IZgaqH++0kvfQX/q4+SQNgN+MzlwfTd6koKSeOG9Y1S0+hSjAq/jAVmbsM4qs=;20:S2NqZMcO4FLEtvUMbP+PfLcfCoT/VUTPVjB5f/2BNnKm7IhuSV4IRU3kWeeCcgZo8VzjkN+1MWpwLeOLI3jBqbXpBAKMCdf5xE7vxWoB0Y1hNpgtPnXSdjXc792Ttmz9XjBEwHtrWCdBPxfrjiMknzvxXwbcHU7y6hhM/QfAkuCHjeuxGes6uqIdTNMpGUaq7A8MR2cnneYXOMbt8s/r2NY7vAPggXNLuqNPqpawMcJhq3q70IsKGfSN0B/vMBR9 SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Feb 2016 13:36:06.8707 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR12MB0134 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org [Dropping CCing the individual people, but adding the dri-devel mailing list as well instead]. Am 29.02.2016 um 14:26 schrieb Michal Hocko: > From: Michal Hocko > > radeon_mn_get which is called during ioct path relies on mmap_sem for > write. If the waiting task gets killed by the oom killer it would block > oom_reaper from asynchronous address space reclaim and reduce the > chances of timely OOM resolving. Wait for the lock in the killable mode > and return with EINTR if the task got killed while waiting. > > Cc: Alex Deucher > Cc: "Christian König" > Cc: David Airlie > Signed-off-by: Michal Hocko This one and patch #18 in this series are Reviewed-by: Christian König . Nice to see some improvements on this side, Christian. > --- > drivers/gpu/drm/radeon/radeon_mn.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/radeon/radeon_mn.c b/drivers/gpu/drm/radeon/radeon_mn.c > index eef006c48584..896f2cf51e4e 100644 > --- a/drivers/gpu/drm/radeon/radeon_mn.c > +++ b/drivers/gpu/drm/radeon/radeon_mn.c > @@ -186,7 +186,9 @@ static struct radeon_mn *radeon_mn_get(struct radeon_device *rdev) > struct radeon_mn *rmn; > int r; > > - down_write(&mm->mmap_sem); > + if (down_write_killable(&mm->mmap_sem)) > + return ERR_PTR(-EINTR); > + > mutex_lock(&rdev->mn_lock); > > hash_for_each_possible(rdev->mn_hash, rmn, node, (unsigned long)mm)