From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joonas Lahtinen Subject: Re: [PATCH 6/8] drm/i915: Pin the pages first in shmem prepare read/write Date: Thu, 09 Jun 2016 16:06:59 +0300 Message-ID: <1465477619.9670.31.camel@linux.intel.com> References: <1465471779-20765-1-git-send-email-chris@chris-wilson.co.uk> <1465471779-20765-7-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id E70616EBB9 for ; Thu, 9 Jun 2016 13:08:00 +0000 (UTC) In-Reply-To: <1465471779-20765-7-git-send-email-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gdG8sIDIwMTYtMDYtMDkgYXQgMTI6MjkgKzAxMDAsIENocmlzIFdpbHNvbiB3cm90ZToKPiBU aGVyZSBpcyBhbiBpbXByb2JhYmxlLCBidXQgbm90IGltcG9zc2libGUsIGNhc2UgdGhhdCBpZiB3 ZSBsZWF2ZSB0aGUKPiBwYWdlcyB1bnBpbiBhcyB3ZSBvcGVyYXRlIG9uIHRoZSBvYmplY3QsIHRo ZW4gc29tZWJvZHkgbWF5IHN0ZWFsIHRoZQo+IGxvY2sgYW5kIGNoYW5nZSB0aGUgY2FjaGUgZG9t YWlucyBhZnRlciB3ZSBoYXZlIGFscmVhZHkgaW5zcGVjdGVkIHRoZW0uCj4gCgpXaGljaCBsb2Nr IGV4YWN0bHk/Cgo+IChXaGlsc3QgaGVyZSwgYXZhaWwgb3Vyc2VsdmVzIG9mIHRoZSBvcHBvcnR1 bml0eSB0byB0YWtlIGEgY291cGxlIG9mCj4gc3RlcHMgdG8gbWFrZSB0aGUgdHdvIGZ1bmN0aW9u cyBsb29rIG1vcmUgc2ltaWxhci4pCj4gCj4gU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxj aHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4gLS0tCj4gwqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbS5jIHwgODggKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0K PiDCoDEgZmlsZSBjaGFuZ2VkLCA1MSBpbnNlcnRpb25zKCspLCAzNyBkZWxldGlvbnMoLSkKPiAK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiBpbmRleCBmZmUzZDNlOWQ2OWQuLjhjOTBiNmExMmQ0 NSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+IEBAIC01NzEsMTMgKzU3MSwyMiBAQCBp bnQgaTkxNV9nZW1fb2JqX3ByZXBhcmVfc2htZW1fcmVhZChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCAqb2JqLAo+IMKgCWlmICgob2JqLT5vcHMtPmZsYWdzICYgSTkxNV9HRU1fT0JKRUNUX0hB U19TVFJVQ1RfUEFHRSkgPT0gMCkKPiDCoAkJcmV0dXJuIC1FSU5WQUw7Cj4gwqAKPiArCXJldCA9 IGk5MTVfZ2VtX29iamVjdF9nZXRfcGFnZXMob2JqKTsKPiArCWlmIChyZXQpCj4gKwkJcmV0dXJu IHJldDsKPiArCgpUaGVyZSdzIHN0aWxsIHRpbWUgZm9yIHRoZSBwYWdlcyB0byBkaXNhcHBlYXIg YXQgdGhpcyBwb2ludCBpZiBzb21lYm9keQppcyByYWNpbmcgd2l0aCB1cywgYW5kIEJVR19PTiB3 aWxsIGJlIGltbWluZW50LiBTbyBJJ20gbm90IHN1cmUgd2hpY2gKbG9jayB5b3UgbWVhbi4KCj4g KwlpOTE1X2dlbV9vYmplY3RfcGluX3BhZ2VzKG9iaik7Cj4gKwo+ICsJaWYgKG9iai0+YmFzZS53 cml0ZV9kb21haW4gPT0gSTkxNV9HRU1fRE9NQUlOX0NQVSkKPiArCQlnb3RvIG91dDsKPiArCj4g KwlyZXQgPSBpOTE1X2dlbV9vYmplY3Rfd2FpdF9yZW5kZXJpbmcob2JqLCB0cnVlKTsKPiArCWlm IChyZXQpCj4gKwkJZ290byBlcnJfdW5waW47Cj4gKwo+IMKgCWk5MTVfZ2VtX29iamVjdF9mbHVz aF9ndHRfd3JpdGVfZG9tYWluKG9iaik7Cj4gwqAKPiDCoAlpZiAoIShvYmotPmJhc2UucmVhZF9k b21haW5zICYgSTkxNV9HRU1fRE9NQUlOX0NQVSkpIHsKPiAtCQlyZXQgPSBpOTE1X2dlbV9vYmpl Y3Rfd2FpdF9yZW5kZXJpbmcob2JqLCB0cnVlKTsKPiAtCQlpZiAocmV0KQo+IC0JCQlyZXR1cm4g cmV0Owo+IC0KPiDCoAkJLyogSWYgd2UncmUgbm90IGluIHRoZSBjcHUgcmVhZCBkb21haW4sIHNl dCBvdXJzZWxmIGludG8gdGhlIGd0dAo+IMKgCQnCoCogcmVhZCBkb21haW4gYW5kIG1hbnVhbGx5 IGZsdXNoIGNhY2hlbGluZXMgKGlmIHJlcXVpcmVkKS4gVGhpcwo+IMKgCQnCoCogb3B0aW1pemVz IGZvciB0aGUgY2FzZSB3aGVuIHRoZSBncHUgd2lsbCBkaXJ0eSB0aGUgZGF0YQo+IEBAIC01ODYs MjYgKzU5NSwyNSBAQCBpbnQgaTkxNV9nZW1fb2JqX3ByZXBhcmVfc2htZW1fcmVhZChzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAo+IMKgCQkJCQkJCW9iai0+Y2FjaGVfbGV2ZWwpOwo+ IMKgCX0KPiDCoAo+IC0JcmV0ID0gaTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlcyhvYmopOwo+IC0J aWYgKHJldCkKPiAtCQlyZXR1cm4gcmV0Owo+IC0KPiAtCWk5MTVfZ2VtX29iamVjdF9waW5fcGFn ZXMob2JqKTsKPiAtCj4gwqAJaWYgKCpuZWVkc19jbGZsdXNoICYmICFib290X2NwdV9oYXMoWDg2 X0ZFQVRVUkVfQ0xGTFVTSCkpIHsKPiDCoAkJcmV0ID0gaTkxNV9nZW1fb2JqZWN0X3NldF90b19j cHVfZG9tYWluKG9iaiwgZmFsc2UpOwo+IC0JCWlmIChyZXQpIHsKPiAtCQkJaTkxNV9nZW1fb2Jq ZWN0X3VucGluX3BhZ2VzKG9iaik7Cj4gLQkJCXJldHVybiByZXQ7Cj4gLQkJfQo+ICsJCWlmIChy ZXQpCj4gKwkJCWdvdG8gZXJyX3VucGluOwo+ICsKPiDCoAkJKm5lZWRzX2NsZmx1c2ggPSAwOwo+ IMKgCX0KPiDCoAo+ICtvdXQ6Cj4gKwkvKiByZXR1cm4gd2l0aCB0aGUgcGFnZXMgcGlubmVkICov Cj4gwqAJcmV0dXJuIDA7Cj4gKwo+ICtlcnJfdW5waW46Cj4gKwlpOTE1X2dlbV9vYmplY3RfdW5w aW5fcGFnZXMob2JqKTsKPiArCXJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiDCoGludCBpOTE1X2dl bV9vYmpfcHJlcGFyZV9zaG1lbV93cml0ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2Jq LAo+IC0JCQkJwqDCoMKgwqB1bnNpZ25lZCAqbmVlZHNfY2xmbHVzaCkKPiArCQkJCcKgwqDCoMKg wqB1bnNpZ25lZCAqbmVlZHNfY2xmbHVzaCkKPiDCoHsKPiDCoAlpbnQgcmV0Owo+IMKgCj4gQEAg LTYxMywyMCArNjIxLDI3IEBAIGludCBpOTE1X2dlbV9vYmpfcHJlcGFyZV9zaG1lbV93cml0ZShz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAo+IMKgCWlmICgob2JqLT5vcHMtPmZsYWdz ICYgSTkxNV9HRU1fT0JKRUNUX0hBU19TVFJVQ1RfUEFHRSkgPT0gMCkKPiDCoAkJcmV0dXJuIC1F SU5WQUw7Cj4gwqAKPiAtCWk5MTVfZ2VtX29iamVjdF9mbHVzaF9ndHRfd3JpdGVfZG9tYWluKG9i aik7Cj4gKwlyZXQgPSBpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2VzKG9iaik7Cj4gKwlpZiAocmV0 KQo+ICsJCXJldHVybiByZXQ7Cj4gwqAKPiAtCWlmIChvYmotPmJhc2Uud3JpdGVfZG9tYWluICE9 IEk5MTVfR0VNX0RPTUFJTl9DUFUpIHsKPiAtCQlyZXQgPSBpOTE1X2dlbV9vYmplY3Rfd2FpdF9y ZW5kZXJpbmcob2JqLCBmYWxzZSk7Cj4gLQkJaWYgKHJldCkKPiAtCQkJcmV0dXJuIHJldDsKPiAr CWk5MTVfZ2VtX29iamVjdF9waW5fcGFnZXMob2JqKTsKPiDCoAo+IC0JCS8qIElmIHdlJ3JlIG5v dCBpbiB0aGUgY3B1IHdyaXRlIGRvbWFpbiwgc2V0IG91cnNlbGYgaW50byB0aGUKPiAtCQnCoCog Z3R0IHdyaXRlIGRvbWFpbiBhbmQgbWFudWFsbHkgZmx1c2ggY2FjaGVsaW5lcyAoYXMgcmVxdWly ZWQpLgo+IC0JCcKgKiBUaGlzIG9wdGltaXplcyBmb3IgdGhlIGNhc2Ugd2hlbiB0aGUgZ3B1IHdp bGwgdXNlIHRoZSBkYXRhCj4gLQkJwqAqIHJpZ2h0IGF3YXkgYW5kIHdlIHRoZXJlZm9yZSBoYXZl IHRvIGNsZmx1c2ggYW55d2F5Lgo+IC0JCcKgKi8KPiAtCQkqbmVlZHNfY2xmbHVzaCB8PSBjcHVf d3JpdGVfbmVlZHNfY2xmbHVzaChvYmopIDw8IDE7Cj4gLQl9Cj4gKwlpZiAob2JqLT5iYXNlLndy aXRlX2RvbWFpbiA9PSBJOTE1X0dFTV9ET01BSU5fQ1BVKQo+ICsJCWdvdG8gb3V0Owo+ICsKPiAr CXJldCA9IGk5MTVfZ2VtX29iamVjdF93YWl0X3JlbmRlcmluZyhvYmosIGZhbHNlKTsKPiArCWlm IChyZXQpCj4gKwkJZ290byBlcnJfdW5waW47Cj4gKwo+ICsJaTkxNV9nZW1fb2JqZWN0X2ZsdXNo X2d0dF93cml0ZV9kb21haW4ob2JqKTsKPiArCj4gKwkvKiBJZiB3ZSdyZSBub3QgaW4gdGhlIGNw dSB3cml0ZSBkb21haW4sIHNldCBvdXJzZWxmIGludG8gdGhlCj4gKwnCoCogZ3R0IHdyaXRlIGRv bWFpbiBhbmQgbWFudWFsbHkgZmx1c2ggY2FjaGVsaW5lcyAoYXMgcmVxdWlyZWQpLgo+ICsJwqAq IFRoaXMgb3B0aW1pemVzIGZvciB0aGUgY2FzZSB3aGVuIHRoZSBncHUgd2lsbCB1c2UgdGhlIGRh dGEKPiArCcKgKiByaWdodCBhd2F5IGFuZCB3ZSB0aGVyZWZvcmUgaGF2ZSB0byBjbGZsdXNoIGFu eXdheS4KPiArCcKgKi8KPiArCSpuZWVkc19jbGZsdXNoIHw9IGNwdV93cml0ZV9uZWVkc19jbGZs dXNoKG9iaikgPDwgMTsKClVzZSA/OiB0byBrZWVwIHRoZSBjb2RlIHJlYWRhYmxlLgoKPiDCoAo+ IMKgCS8qIFNhbWUgdHJpY2sgYXBwbGllcyB0byBpbnZhbGlkYXRlIHBhcnRpYWxseSB3cml0dGVu IGNhY2hlbGluZXMgcmVhZAo+IMKgCcKgKiBiZWZvcmUgd3JpdGluZy4KPiBAQCAtNjM1LDI3ICs2 NTAsMjYgQEAgaW50IGk5MTVfZ2VtX29ial9wcmVwYXJlX3NobWVtX3dyaXRlKHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmosCj4gwqAJCSpuZWVkc19jbGZsdXNoIHw9ICFjcHVfY2FjaGVf aXNfY29oZXJlbnQob2JqLT5iYXNlLmRldiwKPiDCoAkJCQkJCQnCoG9iai0+Y2FjaGVfbGV2ZWwp Owo+IMKgCj4gLQlyZXQgPSBpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2VzKG9iaik7Cj4gLQlpZiAo cmV0KQo+IC0JCXJldHVybiByZXQ7Cj4gLQo+IC0JaTkxNV9nZW1fb2JqZWN0X3Bpbl9wYWdlcyhv YmopOwo+IC0KPiDCoAlpZiAoKm5lZWRzX2NsZmx1c2ggJiYgIWJvb3RfY3B1X2hhcyhYODZfRkVB VFVSRV9DTEZMVVNIKSkgewo+IMKgCQlyZXQgPSBpOTE1X2dlbV9vYmplY3Rfc2V0X3RvX2NwdV9k b21haW4ob2JqLCB0cnVlKTsKPiAtCQlpZiAocmV0KSB7Cj4gLQkJCWk5MTVfZ2VtX29iamVjdF91 bnBpbl9wYWdlcyhvYmopOwo+IC0JCQlyZXR1cm4gcmV0Owo+IC0JCX0KPiArCQlpZiAocmV0KQo+ ICsJCQlnb3RvIGVycl91bnBpbjsKPiArCj4gwqAJCSpuZWVkc19jbGZsdXNoID0gMDsKPiDCoAl9 Cj4gwqAKPiDCoAlpZiAoKCpuZWVkc19jbGZsdXNoICYgQ0xGTFVTSF9BRlRFUikgPT0gMCkKPiDC oAkJb2JqLT5jYWNoZV9kaXJ0eSA9IHRydWU7Cj4gwqAKPiArb3V0Ogo+IMKgCWludGVsX2ZiX29i al9pbnZhbGlkYXRlKG9iaiwgT1JJR0lOX0NQVSk7Cj4gwqAJb2JqLT5kaXJ0eSA9IDE7Cj4gKwkv KiByZXR1cm4gd2l0aCB0aGUgcGFnZXMgcGlubmVkICovCj4gwqAJcmV0dXJuIDA7Cj4gKwo+ICtl cnJfdW5waW46Cj4gKwlpOTE1X2dlbV9vYmplY3RfdW5waW5fcGFnZXMob2JqKTsKPiArCXJldHVy biByZXQ7Cj4gwqB9Cj4gwqAKPiDCoC8qIFBlci1wYWdlIGNvcHkgZnVuY3Rpb24gZm9yIHRoZSBz aG1lbSBwcmVhZCBmYXN0cGF0aC4KLS0gCkpvb25hcyBMYWh0aW5lbgpPcGVuIFNvdXJjZSBUZWNo bm9sb2d5IENlbnRlcgpJbnRlbCBDb3Jwb3JhdGlvbgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngK