From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Hellstrom Subject: [RFC PATCH 1/3] mm: Allow the [page|pfn]_mkwrite callbacks to drop the mmap_sem Date: Wed, 20 Mar 2019 16:23:13 +0100 Message-ID: <20190320152315.82758-2-thellstrom@vmware.com> References: <20190320152315.82758-1-thellstrom@vmware.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from EX13-EDG-OU-002.vmware.com (ex13-edg-ou-002.vmware.com [208.91.0.190]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4B65389F99 for ; Wed, 20 Mar 2019 15:23:46 +0000 (UTC) In-Reply-To: <20190320152315.82758-1-thellstrom@vmware.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: Thomas Hellstrom , Michal Hocko , Rik van Riel , Peter Zijlstra , Will Deacon , linux-kernel@vger.kernel.org, Matthew Wilcox , linux-mm@kvack.org, Minchan Kim , =?UTF-8?q?J=C3=A9r=C3=B4me=20Glisse?= , linux-graphics-maintainer@vmware.com, Souptick Joarder , Huang Ying , Andrew Morton List-Id: dri-devel@lists.freedesktop.org RHJpdmVyIGZhdWx0IGNhbGxiYWNrcyBhcmUgYWxsb3dlZCB0byBkcm9wIHRoZSBtbWFwX3NlbSB3 aGVuIGV4cGVjdGluZwpsb25nIGhhcmR3YXJlIHdhaXRzIHRvIGF2b2lkIGJsb2NraW5nIG90aGVy IG1tIHVzZXJzLiBBbGxvdyB0aGUgbWt3cml0ZQpjYWxsYmFja3MgdG8gZG8gdGhlIHNhbWUgYnkg cmV0dXJuaW5nIGVhcmx5IG9uIFZNX0ZBVUxUX1JFVFJZLgoKSW4gcGFydGljdWxhciB3ZSB3YW50 IHRvIGJlIGFibGUgdG8gZHJvcCB0aGUgbW1hcF9zZW0gd2hlbiB3YWl0aW5nIGZvcgphIHJlc2Vy dmF0aW9uIG9iamVjdCBsb2NrIG9uIGEgR1BVIGJ1ZmZlciBvYmplY3QuIFRoZXNlIGxvY2tzIG1h eSBiZQpoZWxkIHdoaWxlIHdhaXRpbmcgZm9yIHRoZSBHUFUuCgpDYzogQW5kcmV3IE1vcnRvbiA8 YWtwbUBsaW51eC1mb3VuZGF0aW9uLm9yZz4KQ2M6IE1hdHRoZXcgV2lsY294IDx3aWxseUBpbmZy YWRlYWQub3JnPgpDYzogV2lsbCBEZWFjb24gPHdpbGwuZGVhY29uQGFybS5jb20+CkNjOiBQZXRl ciBaaWpsc3RyYSA8cGV0ZXJ6QGluZnJhZGVhZC5vcmc+CkNjOiBSaWsgdmFuIFJpZWwgPHJpZWxA c3VycmllbC5jb20+CkNjOiBNaW5jaGFuIEtpbSA8bWluY2hhbkBrZXJuZWwub3JnPgpDYzogTWlj aGFsIEhvY2tvIDxtaG9ja29Ac3VzZS5jb20+CkNjOiBIdWFuZyBZaW5nIDx5aW5nLmh1YW5nQGlu dGVsLmNvbT4KQ2M6IFNvdXB0aWNrIEpvYXJkZXIgPGpyZHIubGludXhAZ21haWwuY29tPgpDYzog IkrDqXLDtG1lIEdsaXNzZSIgPGpnbGlzc2VAcmVkaGF0LmNvbT4KQ2M6IGxpbnV4LW1tQGt2YWNr Lm9yZwpDYzogbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZwoKU2lnbmVkLW9mZi1ieTogVGhv bWFzIEhlbGxzdHJvbSA8dGhlbGxzdHJvbUB2bXdhcmUuY29tPgotLS0KIG1tL21lbW9yeS5jIHwg MTAgKysrKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9tbS9tZW1vcnkuYyBiL21tL21lbW9yeS5jCmluZGV4IGE1MjY2 M2MwNjEyZC4uZGNkODAzMTNjZjEwIDEwMDY0NAotLS0gYS9tbS9tZW1vcnkuYworKysgYi9tbS9t ZW1vcnkuYwpAQCAtMjE0NCw3ICsyMTQ0LDcgQEAgc3RhdGljIHZtX2ZhdWx0X3QgZG9fcGFnZV9t a3dyaXRlKHN0cnVjdCB2bV9mYXVsdCAqdm1mKQogCXJldCA9IHZtZi0+dm1hLT52bV9vcHMtPnBh Z2VfbWt3cml0ZSh2bWYpOwogCS8qIFJlc3RvcmUgb3JpZ2luYWwgZmxhZ3Mgc28gdGhhdCBjYWxs ZXIgaXMgbm90IHN1cnByaXNlZCAqLwogCXZtZi0+ZmxhZ3MgPSBvbGRfZmxhZ3M7Ci0JaWYgKHVu bGlrZWx5KHJldCAmIChWTV9GQVVMVF9FUlJPUiB8IFZNX0ZBVUxUX05PUEFHRSkpKQorCWlmICh1 bmxpa2VseShyZXQgJiAoVk1fRkFVTFRfRVJST1IgfCBWTV9GQVVMVF9SRVRSWSB8IFZNX0ZBVUxU X05PUEFHRSkpKQogCQlyZXR1cm4gcmV0OwogCWlmICh1bmxpa2VseSghKHJldCAmIFZNX0ZBVUxU X0xPQ0tFRCkpKSB7CiAJCWxvY2tfcGFnZShwYWdlKTsKQEAgLTI0MTksNyArMjQxOSw3IEBAIHN0 YXRpYyB2bV9mYXVsdF90IHdwX3Bmbl9zaGFyZWQoc3RydWN0IHZtX2ZhdWx0ICp2bWYpCiAJCXB0 ZV91bm1hcF91bmxvY2sodm1mLT5wdGUsIHZtZi0+cHRsKTsKIAkJdm1mLT5mbGFncyB8PSBGQVVM VF9GTEFHX01LV1JJVEU7CiAJCXJldCA9IHZtYS0+dm1fb3BzLT5wZm5fbWt3cml0ZSh2bWYpOwot CQlpZiAocmV0ICYgKFZNX0ZBVUxUX0VSUk9SIHwgVk1fRkFVTFRfTk9QQUdFKSkKKwkJaWYgKHJl dCAmIChWTV9GQVVMVF9FUlJPUiB8IFZNX0ZBVUxUX1JFVFJZIHwgVk1fRkFVTFRfTk9QQUdFKSkK IAkJCXJldHVybiByZXQ7CiAJCXJldHVybiBmaW5pc2hfbWt3cml0ZV9mYXVsdCh2bWYpOwogCX0K QEAgLTI0NDAsNyArMjQ0MCw4IEBAIHN0YXRpYyB2bV9mYXVsdF90IHdwX3BhZ2Vfc2hhcmVkKHN0 cnVjdCB2bV9mYXVsdCAqdm1mKQogCQlwdGVfdW5tYXBfdW5sb2NrKHZtZi0+cHRlLCB2bWYtPnB0 bCk7CiAJCXRtcCA9IGRvX3BhZ2VfbWt3cml0ZSh2bWYpOwogCQlpZiAodW5saWtlbHkoIXRtcCB8 fCAodG1wICYKLQkJCQkgICAgICAoVk1fRkFVTFRfRVJST1IgfCBWTV9GQVVMVF9OT1BBR0UpKSkp IHsKKwkJCQkgICAgICAoVk1fRkFVTFRfRVJST1IgfCBWTV9GQVVMVF9SRVRSWSB8CisJCQkJICAg ICAgIFZNX0ZBVUxUX05PUEFHRSkpKSkgewogCQkJcHV0X3BhZ2Uodm1mLT5wYWdlKTsKIAkJCXJl dHVybiB0bXA7CiAJCX0KQEAgLTM0NzIsNyArMzQ3Myw4IEBAIHN0YXRpYyB2bV9mYXVsdF90IGRv X3NoYXJlZF9mYXVsdChzdHJ1Y3Qgdm1fZmF1bHQgKnZtZikKIAkJdW5sb2NrX3BhZ2Uodm1mLT5w YWdlKTsKIAkJdG1wID0gZG9fcGFnZV9ta3dyaXRlKHZtZik7CiAJCWlmICh1bmxpa2VseSghdG1w IHx8Ci0JCQkJKHRtcCAmIChWTV9GQVVMVF9FUlJPUiB8IFZNX0ZBVUxUX05PUEFHRSkpKSkgewor CQkJCSh0bXAgJiAoVk1fRkFVTFRfRVJST1IgfCBWTV9GQVVMVF9SRVRSWSB8CisJCQkJCVZNX0ZB VUxUX05PUEFHRSkpKSkgewogCQkJcHV0X3BhZ2Uodm1mLT5wYWdlKTsKIAkJCXJldHVybiB0bXA7 CiAJCX0KLS0gCjIuMTkuMC5yYzEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2RyaS1kZXZlbA==