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)