From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH 2/5] drm/i915: Fallback to using CPU relocations for large batch buffers Date: Mon, 26 Jan 2015 10:57:17 +0200 Message-ID: <87d261hqc2.fsf@intel.com> References: <1421234459-21424-1-git-send-email-chris@chris-wilson.co.uk> <1421234459-21424-2-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 mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 2C5136E222 for ; Mon, 26 Jan 2015 00:56:35 -0800 (PST) In-Reply-To: <1421234459-21424-2-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 T24gV2VkLCAxNCBKYW4gMjAxNSwgQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28u dWs+IHdyb3RlOgo+IElmIHRoZSBiYXRjaCBidWZmZXIgaXMgdG9vIGxhcmdlIHRvIGZpdCBpbnRv IHRoZSBhcGVydHVyZSBhbmQgd2UgbmVlZCBhCj4gR1RUIG1hcHBpbmcgZm9yIHJlbG9jYXRpb25z LCB3ZSBjdXJyZW50bHkgZmFpbC4gVGhpcyBvbmx5IGFwcGxpZXMgdG8gYQo+IHN1YnNldCBvZiBt YWNoaW5lcyBmb3IgYSBzdWJzZXQgb2YgZW52aXJvbm1lbnRzLCBxdWl0ZSB1bmRlc2lyYWJsZS4g V2UKPiBjYW4gc2ltcGx5IGNoZWNrIGFmdGVyIGZhaWxpbmcgdG8gaW5zZXJ0IHRoZSBiYXRjaCBp bnRvIHRoZSBHVFQgYXMgdG8KPiB3aGV0aGVyIHdlIG9ubHkgbmVlZCBhIG1hcHBhYmxlIGJpbmRp bmcgZm9yIHJlbG9jYXRpb24gYW5kLCBpZiBzbywgd2UgY2FuCj4gcmV2ZXJ0IHRvIHVzaW5nIGEg bm9uLW1hcHBhYmxlIGJpbmRpbmcgYW5kIGFuIGFsdGVybmF0ZSByZWxvY2F0aW9uCj4gbWV0aG9k LiBIb3dldmVyLCB1c2luZyByZWxvY2F0ZV9lbnRyeV9jcHUoKSBpcyBleGNydWNpYXRpbmdseSBz bG93IGZvcgo+IGxhcmdlIGJ1ZmZlcnMgb24gbm9uLUxMQyBhcyB0aGUgZW50aXJlIGJ1ZmZlciBy ZXF1aXJlcyBjbGZsdXNoaW5nIGJlZm9yZQo+IGFuZCBhZnRlciB0aGUgcmVsb2NhdGlvbiBoYW5k bGluZy4gQWx0ZXJuYXRpdmVseSwgd2UgY2FuIGltcGxlbWVudCBhCj4gdGhpcmQgcmVsb2NhdGlv biBtZXRob2QgdGhhdCBvbmx5IGNsZmx1c2hlcyBhcm91bmQgdGhlIHJlbG9jYXRpb24gZW50cnku Cj4gVGhpcyBpcyBzdGlsbCBzbG93ZXIgdGhhbiB1cGRhdGluZyB0aHJvdWdoIHRoZSBHVFQsIHNv IHdlIHByZWZlciB1c2luZwo+IHRoZSBHVFQgd2hlcmUgcG9zc2libGUsIGJ1dCBpcyBvcmRlcnMg b2YgbWFnbml0dWRlIGZhc3RlciBhcyB3ZQo+IHR5cGljYWxseSBkbyBub3QgaGF2ZSB0byB0aGVu IGNsZmx1c2ggdGhlIGVudGlyZSBidWZmZXIuCj4KPiBBbiBhbHRlcm5hdGl2ZSBpZGVhIG9mIHVz aW5nIGEgdGVtcG9yYXJ5IFdDIG1hcHBpbmcgb2YgdGhlIGJhY2tpbmcgc3RvcmUKPiBpcyBwcm9t aXNpbmcgKGl0IHNob3VsZCBiZSBmYXN0ZXIgdGhhbiB1c2luZyB0aGUgR1RUIGl0c2VsZiksIGJ1 dAo+IHJlcXVpcmVzIGZhaXJseSBleHRlbnNpdmUgYXJjaC94ODYgc3VwcG9ydCAtIGFsb25nIHRo ZSBsaW5lcyBvZgo+IGttYXBfYXRvbWljX3Byb2ZfcGZuKCkgKHdoaWNoIGlzIG5vdCB1bml2ZXJz YWxseSBpbXBsZW1lbnRlZCBldmVuIGZvcgo+IHg4NikuCj4KPiBUZXN0Y2FzZTogaWd0L2dlbV9l eGVjX2JpZyAjcG52LGJ5dAo+IEJ1Z3ppbGxhOiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3Jn L3Nob3dfYnVnLmNnaT9pZD04ODM5MgoKVGVzdGVkLWJ5OiBsdSBodWEgPGh1YXgubHVAaW50ZWwu Y29tPgoKPiBTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5j by51az4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5j IHwgODQgKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCA3 MiBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKPiBpbmRleCBlM2VmMTc3ODM3NjUuLjA2YmRmNzY3MDU4 NCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVy LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKPiBA QCAtMjUxLDcgKzI1MSw2IEBAIHN0YXRpYyBpbmxpbmUgaW50IHVzZV9jcHVfcmVsb2Moc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKPiAgewo+ICAJcmV0dXJuIChIQVNfTExDKG9iai0+ YmFzZS5kZXYpIHx8Cj4gIAkJb2JqLT5iYXNlLndyaXRlX2RvbWFpbiA9PSBJOTE1X0dFTV9ET01B SU5fQ1BVIHx8Cj4gLQkJIW9iai0+bWFwX2FuZF9mZW5jZWFibGUgfHwKPiAgCQlvYmotPmNhY2hl X2xldmVsICE9IEk5MTVfQ0FDSEVfTk9ORSk7Cj4gIH0KPiAgCj4gQEAgLTMzNyw2ICszMzYsNTEg QEAgcmVsb2NhdGVfZW50cnlfZ3R0KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCj4g IAlyZXR1cm4gMDsKPiAgfQo+ICAKPiArc3RhdGljIHZvaWQKPiArY2xmbHVzaF93cml0ZTMyKHZv aWQgKmFkZHIsIHVpbnQzMl90IHZhbHVlKQo+ICt7Cj4gKwkvKiBUaGlzIGlzIG5vdCBhIGZhc3Qg cGF0aCwgc28gS0lTUy4gKi8KPiArCWRybV9jbGZsdXNoX3ZpcnRfcmFuZ2UoYWRkciwgc2l6ZW9m KHVpbnQzMl90KSk7Cj4gKwkqKHVpbnQzMl90ICopYWRkciA9IHZhbHVlOwo+ICsJZHJtX2NsZmx1 c2hfdmlydF9yYW5nZShhZGRyLCBzaXplb2YodWludDMyX3QpKTsKPiArfQo+ICsKPiArc3RhdGlj IGludAo+ICtyZWxvY2F0ZV9lbnRyeV9jbGZsdXNoKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 ICpvYmosCj4gKwkJICAgICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVsb2NhdGlvbl9lbnRyeSAq cmVsb2MsCj4gKwkJICAgICAgIHVpbnQ2NF90IHRhcmdldF9vZmZzZXQpCj4gK3sKPiArCXN0cnVj dCBkcm1fZGV2aWNlICpkZXYgPSBvYmotPmJhc2UuZGV2Owo+ICsJdWludDMyX3QgcGFnZV9vZmZz ZXQgPSBvZmZzZXRfaW5fcGFnZShyZWxvYy0+b2Zmc2V0KTsKPiArCXVpbnQ2NF90IGRlbHRhID0g KGludClyZWxvYy0+ZGVsdGEgKyB0YXJnZXRfb2Zmc2V0Owo+ICsJY2hhciAqdmFkZHI7Cj4gKwlp bnQgcmV0Owo+ICsKPiArCXJldCA9IGk5MTVfZ2VtX29iamVjdF9zZXRfdG9fZ3R0X2RvbWFpbihv YmosIHRydWUpOwo+ICsJaWYgKHJldCkKPiArCQlyZXR1cm4gcmV0Owo+ICsKPiArCXZhZGRyID0g a21hcF9hdG9taWMoaTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlKG9iaiwKPiArCQkJCXJlbG9jLT5v ZmZzZXQgPj4gUEFHRV9TSElGVCkpOwo+ICsJY2xmbHVzaF93cml0ZTMyKHZhZGRyICsgcGFnZV9v ZmZzZXQsIGxvd2VyXzMyX2JpdHMoZGVsdGEpKTsKPiArCj4gKwlpZiAoSU5URUxfSU5GTyhkZXYp LT5nZW4gPj0gOCkgewo+ICsJCXBhZ2Vfb2Zmc2V0ID0gb2Zmc2V0X2luX3BhZ2UocGFnZV9vZmZz ZXQgKyBzaXplb2YodWludDMyX3QpKTsKPiArCj4gKwkJaWYgKHBhZ2Vfb2Zmc2V0ID09IDApIHsK PiArCQkJa3VubWFwX2F0b21pYyh2YWRkcik7Cj4gKwkJCXZhZGRyID0ga21hcF9hdG9taWMoaTkx NV9nZW1fb2JqZWN0X2dldF9wYWdlKG9iaiwKPiArCQkJICAgIChyZWxvYy0+b2Zmc2V0ICsgc2l6 ZW9mKHVpbnQzMl90KSkgPj4gUEFHRV9TSElGVCkpOwo+ICsJCX0KPiArCj4gKwkJY2xmbHVzaF93 cml0ZTMyKHZhZGRyICsgcGFnZV9vZmZzZXQsIHVwcGVyXzMyX2JpdHMoZGVsdGEpKTsKPiArCX0K PiArCj4gKwlrdW5tYXBfYXRvbWljKHZhZGRyKTsKPiArCj4gKwlyZXR1cm4gMDsKPiArfQo+ICsK PiAgc3RhdGljIGludAo+ICBpOTE1X2dlbV9leGVjYnVmZmVyX3JlbG9jYXRlX2VudHJ5KHN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCj4gIAkJCQkgICBzdHJ1Y3QgZWJfdm1hcyAqZWIs Cj4gQEAgLTQyNiw5ICs0NzAsMTIgQEAgaTkxNV9nZW1fZXhlY2J1ZmZlcl9yZWxvY2F0ZV9lbnRy eShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAo+ICAKPiAgCWlmICh1c2VfY3B1X3Jl bG9jKG9iaikpCj4gIAkJcmV0ID0gcmVsb2NhdGVfZW50cnlfY3B1KG9iaiwgcmVsb2MsIHRhcmdl dF9vZmZzZXQpOwo+IC0JZWxzZQo+ICsJZWxzZSBpZiAob2JqLT5tYXBfYW5kX2ZlbmNlYWJsZSkK PiAgCQlyZXQgPSByZWxvY2F0ZV9lbnRyeV9ndHQob2JqLCByZWxvYywgdGFyZ2V0X29mZnNldCk7 Cj4gLQo+ICsJZWxzZSBpZiAoY3B1X2hhc19jbGZsdXNoKQo+ICsJCXJldCA9IHJlbG9jYXRlX2Vu dHJ5X2NsZmx1c2gob2JqLCByZWxvYywgdGFyZ2V0X29mZnNldCk7Cj4gKwllbHNlCj4gKwkJcmV0 ID0gLUVOT0RFVjsKPiAgCWlmIChyZXQpCj4gIAkJcmV0dXJuIHJldDsKPiAgCj4gQEAgLTUyNSw2 ICs1NzIsMTIgQEAgaTkxNV9nZW1fZXhlY2J1ZmZlcl9yZWxvY2F0ZShzdHJ1Y3QgZWJfdm1hcyAq ZWIpCj4gIAlyZXR1cm4gcmV0Owo+ICB9Cj4gIAo+ICtzdGF0aWMgYm9vbCBvbmx5X21hcHBhYmxl X2Zvcl9yZWxvYyh1bnNpZ25lZCBpbnQgZmxhZ3MpCj4gK3sKPiArCXJldHVybiAoZmxhZ3MgJiAo RVhFQ19PQkpFQ1RfTkVFRFNfRkVOQ0UgfCBfX0VYRUNfT0JKRUNUX05FRURTX01BUCkpID09Cj4g KwkJX19FWEVDX09CSkVDVF9ORUVEU19NQVA7Cj4gK30KPiArCj4gIHN0YXRpYyBpbnQKPiAgaTkx NV9nZW1fZXhlY2J1ZmZlcl9yZXNlcnZlX3ZtYShzdHJ1Y3QgaTkxNV92bWEgKnZtYSwKPiAgCQkJ CXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCj4gQEAgLTUzNiwxNCArNTg5LDIxIEBAIGk5 MTVfZ2VtX2V4ZWNidWZmZXJfcmVzZXJ2ZV92bWEoc3RydWN0IGk5MTVfdm1hICp2bWEsCj4gIAlp bnQgcmV0Owo+ICAKPiAgCWZsYWdzID0gMDsKPiAtCWlmIChlbnRyeS0+ZmxhZ3MgJiBfX0VYRUNf T0JKRUNUX05FRURTX01BUCkKPiAtCQlmbGFncyB8PSBQSU5fR0xPQkFMIHwgUElOX01BUFBBQkxF Owo+IC0JaWYgKGVudHJ5LT5mbGFncyAmIEVYRUNfT0JKRUNUX05FRURTX0dUVCkKPiAtCQlmbGFn cyB8PSBQSU5fR0xPQkFMOwo+IC0JaWYgKGVudHJ5LT5mbGFncyAmIF9fRVhFQ19PQkpFQ1RfTkVF RFNfQklBUykKPiAtCQlmbGFncyB8PSBCQVRDSF9PRkZTRVRfQklBUyB8IFBJTl9PRkZTRVRfQklB UzsKPiArCWlmICghZHJtX21tX25vZGVfYWxsb2NhdGVkKCZ2bWEtPm5vZGUpKSB7Cj4gKwkJaWYg KGVudHJ5LT5mbGFncyAmIF9fRVhFQ19PQkpFQ1RfTkVFRFNfTUFQKQo+ICsJCQlmbGFncyB8PSBQ SU5fR0xPQkFMIHwgUElOX01BUFBBQkxFOwo+ICsJCWlmIChlbnRyeS0+ZmxhZ3MgJiBFWEVDX09C SkVDVF9ORUVEU19HVFQpCj4gKwkJCWZsYWdzIHw9IFBJTl9HTE9CQUw7Cj4gKwkJaWYgKGVudHJ5 LT5mbGFncyAmIF9fRVhFQ19PQkpFQ1RfTkVFRFNfQklBUykKPiArCQkJZmxhZ3MgfD0gQkFUQ0hf T0ZGU0VUX0JJQVMgfCBQSU5fT0ZGU0VUX0JJQVM7Cj4gKwl9Cj4gIAo+ICAJcmV0ID0gaTkxNV9n ZW1fb2JqZWN0X3BpbihvYmosIHZtYS0+dm0sIGVudHJ5LT5hbGlnbm1lbnQsIGZsYWdzKTsKPiAr CWlmICgocmV0ID09IC1FTk9TUEMgIHx8IHJldCA9PSAtRTJCSUcpICYmCj4gKwkgICAgb25seV9t YXBwYWJsZV9mb3JfcmVsb2MoZW50cnktPmZsYWdzKSkKPiArCQlyZXQgPSBpOTE1X2dlbV9vYmpl Y3RfcGluKG9iaiwgdm1hLT52bSwKPiArCQkJCQkgIGVudHJ5LT5hbGlnbm1lbnQsCj4gKwkJCQkJ ICBmbGFncyAmIH4oUElOX0dMT0JBTCB8IFBJTl9NQVBQQUJMRSkpOwo+ICAJaWYgKHJldCkKPiAg CQlyZXR1cm4gcmV0Owo+ICAKPiBAQCAtNjA1LDEzICs2NjUsMTMgQEAgZWJfdm1hX21pc3BsYWNl ZChzdHJ1Y3QgaTkxNV92bWEgKnZtYSkKPiAgCSAgICB2bWEtPm5vZGUuc3RhcnQgJiAoZW50cnkt PmFsaWdubWVudCAtIDEpKQo+ICAJCXJldHVybiB0cnVlOwo+ICAKPiAtCWlmIChlbnRyeS0+Zmxh Z3MgJiBfX0VYRUNfT0JKRUNUX05FRURTX01BUCAmJiAhb2JqLT5tYXBfYW5kX2ZlbmNlYWJsZSkK PiAtCQlyZXR1cm4gdHJ1ZTsKPiAtCj4gIAlpZiAoZW50cnktPmZsYWdzICYgX19FWEVDX09CSkVD VF9ORUVEU19CSUFTICYmCj4gIAkgICAgdm1hLT5ub2RlLnN0YXJ0IDwgQkFUQ0hfT0ZGU0VUX0JJ QVMpCj4gIAkJcmV0dXJuIHRydWU7Cj4gIAo+ICsJaWYgKGVudHJ5LT5mbGFncyAmIF9fRVhFQ19P QkpFQ1RfTkVFRFNfTUFQICYmICFvYmotPm1hcF9hbmRfZmVuY2VhYmxlKQo+ICsJCXJldHVybiAh b25seV9tYXBwYWJsZV9mb3JfcmVsb2MoZW50cnktPmZsYWdzKTsKPiArCj4gIAlyZXR1cm4gZmFs c2U7Cj4gIH0KPiAgCj4gLS0gCj4gMi4xLjQKPgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4CgotLSAKSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291 cmNlIFRlY2hub2xvZ3kgQ2VudGVyCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4Cg==