From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Thomas=20Hellstr=C3=B6m=20=28VMware=29?= Subject: [PATCH v6 1/9] mm: Allow the [page|pfn]_mkwrite callbacks to drop the mmap_sem Date: Wed, 12 Jun 2019 17:19:42 +0200 Message-ID: <20190612151950.2870-2-thellstrom@vmwopensource.org> References: <20190612151950.2870-1-thellstrom@vmwopensource.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from pio-pvt-msa2.bahnhof.se (pio-pvt-msa2.bahnhof.se [79.136.2.41]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0C1F0896E4 for ; Wed, 12 Jun 2019 15:20:37 +0000 (UTC) In-Reply-To: <20190612151950.2870-1-thellstrom@vmwopensource.org> 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 , pv-drivers@vmware.com, Minchan Kim , Will Deacon , linux-kernel@vger.kernel.org, Matthew Wilcox , hch@infradead.org, Peter Zijlstra , =?UTF-8?q?J=C3=A9r=C3=B4me=20Glisse?= , linux-graphics-maintainer@vmware.com, Souptick Joarder , Huang Ying , Andrew Morton , Ralph Campbell , linux-mm@kvack.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogVGhvbWFzIEhlbGxzdHJvbSA8dGhlbGxzdHJvbUB2bXdhcmUuY29tPgoKRHJpdmVyIGZh dWx0IGNhbGxiYWNrcyBhcmUgYWxsb3dlZCB0byBkcm9wIHRoZSBtbWFwX3NlbSB3aGVuIGV4cGVj dGluZwpsb25nIGhhcmR3YXJlIHdhaXRzIHRvIGF2b2lkIGJsb2NraW5nIG90aGVyIG1tIHVzZXJz LiBBbGxvdyB0aGUgbWt3cml0ZQpjYWxsYmFja3MgdG8gZG8gdGhlIHNhbWUgYnkgcmV0dXJuaW5n IGVhcmx5IG9uIFZNX0ZBVUxUX1JFVFJZLgoKSW4gcGFydGljdWxhciB3ZSB3YW50IHRvIGJlIGFi bGUgdG8gZHJvcCB0aGUgbW1hcF9zZW0gd2hlbiB3YWl0aW5nIGZvcgphIHJlc2VydmF0aW9uIG9i amVjdCBsb2NrIG9uIGEgR1BVIGJ1ZmZlciBvYmplY3QuIFRoZXNlIGxvY2tzIG1heSBiZQpoZWxk IHdoaWxlIHdhaXRpbmcgZm9yIHRoZSBHUFUuCgpDYzogQW5kcmV3IE1vcnRvbiA8YWtwbUBsaW51 eC1mb3VuZGF0aW9uLm9yZz4KQ2M6IE1hdHRoZXcgV2lsY294IDx3aWxseUBpbmZyYWRlYWQub3Jn PgpDYzogV2lsbCBEZWFjb24gPHdpbGwuZGVhY29uQGFybS5jb20+CkNjOiBQZXRlciBaaWpsc3Ry YSA8cGV0ZXJ6QGluZnJhZGVhZC5vcmc+CkNjOiBSaWsgdmFuIFJpZWwgPHJpZWxAc3VycmllbC5j b20+CkNjOiBNaW5jaGFuIEtpbSA8bWluY2hhbkBrZXJuZWwub3JnPgpDYzogTWljaGFsIEhvY2tv IDxtaG9ja29Ac3VzZS5jb20+CkNjOiBIdWFuZyBZaW5nIDx5aW5nLmh1YW5nQGludGVsLmNvbT4K Q2M6IFNvdXB0aWNrIEpvYXJkZXIgPGpyZHIubGludXhAZ21haWwuY29tPgpDYzogIkrDqXLDtG1l IEdsaXNzZSIgPGpnbGlzc2VAcmVkaGF0LmNvbT4KQ2M6IGxpbnV4LW1tQGt2YWNrLm9yZwpDYzog bGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZwoKU2lnbmVkLW9mZi1ieTogVGhvbWFzIEhlbGxz dHJvbSA8dGhlbGxzdHJvbUB2bXdhcmUuY29tPgpSZXZpZXdlZC1ieTogUmFscGggQ2FtcGJlbGwg PHJjYW1wYmVsbEBudmlkaWEuY29tPgotLS0KIG1tL21lbW9yeS5jIHwgMTAgKysrKysrLS0tLQog MSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9tbS9tZW1vcnkuYyBiL21tL21lbW9yeS5jCmluZGV4IGRkZjIwYmQwYzMxNy4uMTY4ZjU0 NmFmMWFkIDEwMDY0NAotLS0gYS9tbS9tZW1vcnkuYworKysgYi9tbS9tZW1vcnkuYwpAQCAtMjIz OCw3ICsyMjM4LDcgQEAgc3RhdGljIHZtX2ZhdWx0X3QgZG9fcGFnZV9ta3dyaXRlKHN0cnVjdCB2 bV9mYXVsdCAqdm1mKQogCXJldCA9IHZtZi0+dm1hLT52bV9vcHMtPnBhZ2VfbWt3cml0ZSh2bWYp OwogCS8qIFJlc3RvcmUgb3JpZ2luYWwgZmxhZ3Mgc28gdGhhdCBjYWxsZXIgaXMgbm90IHN1cnBy aXNlZCAqLwogCXZtZi0+ZmxhZ3MgPSBvbGRfZmxhZ3M7Ci0JaWYgKHVubGlrZWx5KHJldCAmIChW TV9GQVVMVF9FUlJPUiB8IFZNX0ZBVUxUX05PUEFHRSkpKQorCWlmICh1bmxpa2VseShyZXQgJiAo Vk1fRkFVTFRfRVJST1IgfCBWTV9GQVVMVF9OT1BBR0UgfCBWTV9GQVVMVF9SRVRSWSkpKQogCQly ZXR1cm4gcmV0OwogCWlmICh1bmxpa2VseSghKHJldCAmIFZNX0ZBVUxUX0xPQ0tFRCkpKSB7CiAJ CWxvY2tfcGFnZShwYWdlKTsKQEAgLTI1MTUsNyArMjUxNSw3IEBAIHN0YXRpYyB2bV9mYXVsdF90 IHdwX3Bmbl9zaGFyZWQoc3RydWN0IHZtX2ZhdWx0ICp2bWYpCiAJCXB0ZV91bm1hcF91bmxvY2so dm1mLT5wdGUsIHZtZi0+cHRsKTsKIAkJdm1mLT5mbGFncyB8PSBGQVVMVF9GTEFHX01LV1JJVEU7 CiAJCXJldCA9IHZtYS0+dm1fb3BzLT5wZm5fbWt3cml0ZSh2bWYpOwotCQlpZiAocmV0ICYgKFZN X0ZBVUxUX0VSUk9SIHwgVk1fRkFVTFRfTk9QQUdFKSkKKwkJaWYgKHJldCAmIChWTV9GQVVMVF9F UlJPUiB8IFZNX0ZBVUxUX05PUEFHRSB8IFZNX0ZBVUxUX1JFVFJZKSkKIAkJCXJldHVybiByZXQ7 CiAJCXJldHVybiBmaW5pc2hfbWt3cml0ZV9mYXVsdCh2bWYpOwogCX0KQEAgLTI1MzYsNyArMjUz Niw4IEBAIHN0YXRpYyB2bV9mYXVsdF90IHdwX3BhZ2Vfc2hhcmVkKHN0cnVjdCB2bV9mYXVsdCAq dm1mKQogCQlwdGVfdW5tYXBfdW5sb2NrKHZtZi0+cHRlLCB2bWYtPnB0bCk7CiAJCXRtcCA9IGRv X3BhZ2VfbWt3cml0ZSh2bWYpOwogCQlpZiAodW5saWtlbHkoIXRtcCB8fCAodG1wICYKLQkJCQkg ICAgICAoVk1fRkFVTFRfRVJST1IgfCBWTV9GQVVMVF9OT1BBR0UpKSkpIHsKKwkJCQkgICAgICAo Vk1fRkFVTFRfRVJST1IgfCBWTV9GQVVMVF9OT1BBR0UgfAorCQkJCSAgICAgICBWTV9GQVVMVF9S RVRSWSkpKSkgewogCQkJcHV0X3BhZ2Uodm1mLT5wYWdlKTsKIAkJCXJldHVybiB0bXA7CiAJCX0K QEAgLTM2MDEsNyArMzYwMiw4IEBAIHN0YXRpYyB2bV9mYXVsdF90IGRvX3NoYXJlZF9mYXVsdChz dHJ1Y3Qgdm1fZmF1bHQgKnZtZikKIAkJdW5sb2NrX3BhZ2Uodm1mLT5wYWdlKTsKIAkJdG1wID0g ZG9fcGFnZV9ta3dyaXRlKHZtZik7CiAJCWlmICh1bmxpa2VseSghdG1wIHx8Ci0JCQkJKHRtcCAm IChWTV9GQVVMVF9FUlJPUiB8IFZNX0ZBVUxUX05PUEFHRSkpKSkgeworCQkJCSh0bXAgJiAoVk1f RkFVTFRfRVJST1IgfCBWTV9GQVVMVF9OT1BBR0UgfAorCQkJCQlWTV9GQVVMVF9SRVRSWSkpKSkg ewogCQkJcHV0X3BhZ2Uodm1mLT5wYWdlKTsKIAkJCXJldHVybiB0bXA7CiAJCX0KLS0gCjIuMjAu MQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRl dmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs