From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 2/5] drm/i915: Fallback to using CPU relocations for large batch buffers Date: Tue, 27 Jan 2015 16:09:37 +0100 Message-ID: <20150127150937.GD4764@phenom.ffwll.local> 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 mail-we0-f175.google.com (mail-we0-f175.google.com [74.125.82.175]) by gabe.freedesktop.org (Postfix) with ESMTP id 0F8746E4BF for ; Tue, 27 Jan 2015 07:08:19 -0800 (PST) Received: by mail-we0-f175.google.com with SMTP id p10so15467265wes.6 for ; Tue, 27 Jan 2015 07:08:18 -0800 (PST) Content-Disposition: inline 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 Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBKYW4gMTQsIDIwMTUgYXQgMTE6MjA6NTZBTSArMDAwMCwgQ2hyaXMgV2lsc29uIHdy b3RlOgo+IElmIHRoZSBiYXRjaCBidWZmZXIgaXMgdG9vIGxhcmdlIHRvIGZpdCBpbnRvIHRoZSBh cGVydHVyZSBhbmQgd2UgbmVlZCBhCj4gR1RUIG1hcHBpbmcgZm9yIHJlbG9jYXRpb25zLCB3ZSBj dXJyZW50bHkgZmFpbC4gVGhpcyBvbmx5IGFwcGxpZXMgdG8gYQo+IHN1YnNldCBvZiBtYWNoaW5l cyBmb3IgYSBzdWJzZXQgb2YgZW52aXJvbm1lbnRzLCBxdWl0ZSB1bmRlc2lyYWJsZS4gV2UKPiBj YW4gc2ltcGx5IGNoZWNrIGFmdGVyIGZhaWxpbmcgdG8gaW5zZXJ0IHRoZSBiYXRjaCBpbnRvIHRo ZSBHVFQgYXMgdG8KPiB3aGV0aGVyIHdlIG9ubHkgbmVlZCBhIG1hcHBhYmxlIGJpbmRpbmcgZm9y IHJlbG9jYXRpb24gYW5kLCBpZiBzbywgd2UgY2FuCj4gcmV2ZXJ0IHRvIHVzaW5nIGEgbm9uLW1h cHBhYmxlIGJpbmRpbmcgYW5kIGFuIGFsdGVybmF0ZSByZWxvY2F0aW9uCj4gbWV0aG9kLiBIb3dl dmVyLCB1c2luZyByZWxvY2F0ZV9lbnRyeV9jcHUoKSBpcyBleGNydWNpYXRpbmdseSBzbG93IGZv cgo+IGxhcmdlIGJ1ZmZlcnMgb24gbm9uLUxMQyBhcyB0aGUgZW50aXJlIGJ1ZmZlciByZXF1aXJl cyBjbGZsdXNoaW5nIGJlZm9yZQo+IGFuZCBhZnRlciB0aGUgcmVsb2NhdGlvbiBoYW5kbGluZy4g QWx0ZXJuYXRpdmVseSwgd2UgY2FuIGltcGxlbWVudCBhCj4gdGhpcmQgcmVsb2NhdGlvbiBtZXRo b2QgdGhhdCBvbmx5IGNsZmx1c2hlcyBhcm91bmQgdGhlIHJlbG9jYXRpb24gZW50cnkuCj4gVGhp cyBpcyBzdGlsbCBzbG93ZXIgdGhhbiB1cGRhdGluZyB0aHJvdWdoIHRoZSBHVFQsIHNvIHdlIHBy ZWZlciB1c2luZwo+IHRoZSBHVFQgd2hlcmUgcG9zc2libGUsIGJ1dCBpcyBvcmRlcnMgb2YgbWFn bml0dWRlIGZhc3RlciBhcyB3ZQo+IHR5cGljYWxseSBkbyBub3QgaGF2ZSB0byB0aGVuIGNsZmx1 c2ggdGhlIGVudGlyZSBidWZmZXIuCj4gCj4gQW4gYWx0ZXJuYXRpdmUgaWRlYSBvZiB1c2luZyBh IHRlbXBvcmFyeSBXQyBtYXBwaW5nIG9mIHRoZSBiYWNraW5nIHN0b3JlCj4gaXMgcHJvbWlzaW5n IChpdCBzaG91bGQgYmUgZmFzdGVyIHRoYW4gdXNpbmcgdGhlIEdUVCBpdHNlbGYpLCBidXQKPiBy ZXF1aXJlcyBmYWlybHkgZXh0ZW5zaXZlIGFyY2gveDg2IHN1cHBvcnQgLSBhbG9uZyB0aGUgbGlu ZXMgb2YKPiBrbWFwX2F0b21pY19wcm9mX3BmbigpICh3aGljaCBpcyBub3QgdW5pdmVyc2FsbHkg aW1wbGVtZW50ZWQgZXZlbiBmb3IKPiB4ODYpLgo+IAo+IFRlc3RjYXNlOiBpZ3QvZ2VtX2V4ZWNf YmlnICNwbnYsYnl0Cj4gQnVnemlsbGE6IGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hv d19idWcuY2dpP2lkPTg4MzkyCj4gU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0Bj aHJpcy13aWxzb24uY28udWs+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2V4ZWNidWZmZXIuYyB8IDg0ICsrKysrKysrKysrKysrKysrKysrKysrKystLS0tLQo+ICAxIGZp bGUgY2hhbmdlZCwgNzIgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwo+IGluZGV4IGUzZWYxNzc4Mzc2 NS4uMDZiZGY3NjcwNTg0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX2V4ZWNidWZmZXIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4 ZWNidWZmZXIuYwo+IEBAIC0yNTEsNyArMjUxLDYgQEAgc3RhdGljIGlubGluZSBpbnQgdXNlX2Nw dV9yZWxvYyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQo+ICB7Cj4gIAlyZXR1cm4g KEhBU19MTEMob2JqLT5iYXNlLmRldikgfHwKPiAgCQlvYmotPmJhc2Uud3JpdGVfZG9tYWluID09 IEk5MTVfR0VNX0RPTUFJTl9DUFUgfHwKPiAtCQkhb2JqLT5tYXBfYW5kX2ZlbmNlYWJsZSB8fAo+ ICAJCW9iai0+Y2FjaGVfbGV2ZWwgIT0gSTkxNV9DQUNIRV9OT05FKTsKPiAgfQo+ICAKPiBAQCAt MzM3LDYgKzMzNiw1MSBAQCByZWxvY2F0ZV9lbnRyeV9ndHQoc3RydWN0IGRybV9pOTE1X2dlbV9v YmplY3QgKm9iaiwKPiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+ICtzdGF0aWMgdm9pZAo+ICtjbGZs dXNoX3dyaXRlMzIodm9pZCAqYWRkciwgdWludDMyX3QgdmFsdWUpCj4gK3sKPiArCS8qIFRoaXMg aXMgbm90IGEgZmFzdCBwYXRoLCBzbyBLSVNTLiAqLwo+ICsJZHJtX2NsZmx1c2hfdmlydF9yYW5n ZShhZGRyLCBzaXplb2YodWludDMyX3QpKTsKPiArCSoodWludDMyX3QgKilhZGRyID0gdmFsdWU7 Cj4gKwlkcm1fY2xmbHVzaF92aXJ0X3JhbmdlKGFkZHIsIHNpemVvZih1aW50MzJfdCkpOwo+ICt9 Cj4gKwo+ICtzdGF0aWMgaW50Cj4gK3JlbG9jYXRlX2VudHJ5X2NsZmx1c2goc3RydWN0IGRybV9p OTE1X2dlbV9vYmplY3QgKm9iaiwKPiArCQkgICAgICAgc3RydWN0IGRybV9pOTE1X2dlbV9yZWxv Y2F0aW9uX2VudHJ5ICpyZWxvYywKPiArCQkgICAgICAgdWludDY0X3QgdGFyZ2V0X29mZnNldCkK PiArewo+ICsJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IG9iai0+YmFzZS5kZXY7Cj4gKwl1aW50 MzJfdCBwYWdlX29mZnNldCA9IG9mZnNldF9pbl9wYWdlKHJlbG9jLT5vZmZzZXQpOwo+ICsJdWlu dDY0X3QgZGVsdGEgPSAoaW50KXJlbG9jLT5kZWx0YSArIHRhcmdldF9vZmZzZXQ7Cj4gKwljaGFy ICp2YWRkcjsKPiArCWludCByZXQ7Cj4gKwo+ICsJcmV0ID0gaTkxNV9nZW1fb2JqZWN0X3NldF90 b19ndHRfZG9tYWluKG9iaiwgdHJ1ZSk7Cj4gKwlpZiAocmV0KQo+ICsJCXJldHVybiByZXQ7Cj4g Kwo+ICsJdmFkZHIgPSBrbWFwX2F0b21pYyhpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2Uob2JqLAo+ ICsJCQkJcmVsb2MtPm9mZnNldCA+PiBQQUdFX1NISUZUKSk7Cj4gKwljbGZsdXNoX3dyaXRlMzIo dmFkZHIgKyBwYWdlX29mZnNldCwgbG93ZXJfMzJfYml0cyhkZWx0YSkpOwo+ICsKPiArCWlmIChJ TlRFTF9JTkZPKGRldiktPmdlbiA+PSA4KSB7Cj4gKwkJcGFnZV9vZmZzZXQgPSBvZmZzZXRfaW5f cGFnZShwYWdlX29mZnNldCArIHNpemVvZih1aW50MzJfdCkpOwo+ICsKPiArCQlpZiAocGFnZV9v ZmZzZXQgPT0gMCkgewo+ICsJCQlrdW5tYXBfYXRvbWljKHZhZGRyKTsKPiArCQkJdmFkZHIgPSBr bWFwX2F0b21pYyhpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2Uob2JqLAo+ICsJCQkgICAgKHJlbG9j LT5vZmZzZXQgKyBzaXplb2YodWludDMyX3QpKSA+PiBQQUdFX1NISUZUKSk7Cj4gKwkJfQo+ICsK PiArCQljbGZsdXNoX3dyaXRlMzIodmFkZHIgKyBwYWdlX29mZnNldCwgdXBwZXJfMzJfYml0cyhk ZWx0YSkpOwo+ICsJfQo+ICsKPiArCWt1bm1hcF9hdG9taWModmFkZHIpOwo+ICsKPiArCXJldHVy biAwOwo+ICt9Cj4gKwo+ICBzdGF0aWMgaW50Cj4gIGk5MTVfZ2VtX2V4ZWNidWZmZXJfcmVsb2Nh dGVfZW50cnkoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKPiAgCQkJCSAgIHN0cnVj dCBlYl92bWFzICplYiwKPiBAQCAtNDI2LDkgKzQ3MCwxMiBAQCBpOTE1X2dlbV9leGVjYnVmZmVy X3JlbG9jYXRlX2VudHJ5KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCj4gIAo+ICAJ aWYgKHVzZV9jcHVfcmVsb2Mob2JqKSkKPiAgCQlyZXQgPSByZWxvY2F0ZV9lbnRyeV9jcHUob2Jq LCByZWxvYywgdGFyZ2V0X29mZnNldCk7Cj4gLQllbHNlCj4gKwllbHNlIGlmIChvYmotPm1hcF9h bmRfZmVuY2VhYmxlKQo+ICAJCXJldCA9IHJlbG9jYXRlX2VudHJ5X2d0dChvYmosIHJlbG9jLCB0 YXJnZXRfb2Zmc2V0KTsKPiAtCj4gKwllbHNlIGlmIChjcHVfaGFzX2NsZmx1c2gpCj4gKwkJcmV0 ID0gcmVsb2NhdGVfZW50cnlfY2xmbHVzaChvYmosIHJlbG9jLCB0YXJnZXRfb2Zmc2V0KTsKPiAr CWVsc2UKPiArCQlyZXQgPSAtRU5PREVWOwoKSSB0aGluayBhIERSTV9FUlJPUiBoZXJlIHdvdWxk IGJlIGdvb2Qgc2luY2UgdGhpcyBzaG91bGQgbmV2ZXIgaGFwcGVuLiBBbmQKd2h5IGRvbid0IHdl IGhhdmUgYW4gZXJybm8gZm9yIC1FS0VSTkVMQlVHIC4uLgoKPiAgCWlmIChyZXQpCj4gIAkJcmV0 dXJuIHJldDsKPiAgCj4gQEAgLTUyNSw2ICs1NzIsMTIgQEAgaTkxNV9nZW1fZXhlY2J1ZmZlcl9y ZWxvY2F0ZShzdHJ1Y3QgZWJfdm1hcyAqZWIpCj4gIAlyZXR1cm4gcmV0Owo+ICB9Cj4gIAo+ICtz dGF0aWMgYm9vbCBvbmx5X21hcHBhYmxlX2Zvcl9yZWxvYyh1bnNpZ25lZCBpbnQgZmxhZ3MpCj4g K3sKPiArCXJldHVybiAoZmxhZ3MgJiAoRVhFQ19PQkpFQ1RfTkVFRFNfRkVOQ0UgfCBfX0VYRUNf T0JKRUNUX05FRURTX01BUCkpID09Cj4gKwkJX19FWEVDX09CSkVDVF9ORUVEU19NQVA7Cj4gK30K CkknbSBzbGlnaHRseSBmcmVha2VkIG91dCBieSB1cyBlbmNvZGluZyB0aGlzIGhlcmUgd2l0aG91 dCBtYWtpbmcgaXQKZXhwbGljaXQgaW4gdGhlIGZsYWdzLiBCdXQgSSBjb3VsZG4ndCBjb21lIHVw IHdpdGggYSBiZXR0ZXIgaWRlYT8KCj4gKwo+ICBzdGF0aWMgaW50Cj4gIGk5MTVfZ2VtX2V4ZWNi dWZmZXJfcmVzZXJ2ZV92bWEoc3RydWN0IGk5MTVfdm1hICp2bWEsCj4gIAkJCQlzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICpyaW5nLAo+IEBAIC01MzYsMTQgKzU4OSwyMSBAQCBpOTE1X2dlbV9leGVj YnVmZmVyX3Jlc2VydmVfdm1hKHN0cnVjdCBpOTE1X3ZtYSAqdm1hLAo+ICAJaW50IHJldDsKPiAg Cj4gIAlmbGFncyA9IDA7Cj4gLQlpZiAoZW50cnktPmZsYWdzICYgX19FWEVDX09CSkVDVF9ORUVE U19NQVApCj4gLQkJZmxhZ3MgfD0gUElOX0dMT0JBTCB8IFBJTl9NQVBQQUJMRTsKPiAtCWlmIChl bnRyeS0+ZmxhZ3MgJiBFWEVDX09CSkVDVF9ORUVEU19HVFQpCj4gLQkJZmxhZ3MgfD0gUElOX0dM T0JBTDsKPiAtCWlmIChlbnRyeS0+ZmxhZ3MgJiBfX0VYRUNfT0JKRUNUX05FRURTX0JJQVMpCj4g LQkJZmxhZ3MgfD0gQkFUQ0hfT0ZGU0VUX0JJQVMgfCBQSU5fT0ZGU0VUX0JJQVM7Cj4gKwlpZiAo IWRybV9tbV9ub2RlX2FsbG9jYXRlZCgmdm1hLT5ub2RlKSkgewo+ICsJCWlmIChlbnRyeS0+Zmxh Z3MgJiBfX0VYRUNfT0JKRUNUX05FRURTX01BUCkKPiArCQkJZmxhZ3MgfD0gUElOX0dMT0JBTCB8 IFBJTl9NQVBQQUJMRTsKPiArCQlpZiAoZW50cnktPmZsYWdzICYgRVhFQ19PQkpFQ1RfTkVFRFNf R1RUKQo+ICsJCQlmbGFncyB8PSBQSU5fR0xPQkFMOwo+ICsJCWlmIChlbnRyeS0+ZmxhZ3MgJiBf X0VYRUNfT0JKRUNUX05FRURTX0JJQVMpCj4gKwkJCWZsYWdzIHw9IEJBVENIX09GRlNFVF9CSUFT IHwgUElOX09GRlNFVF9CSUFTOwo+ICsJfQoKSG0sIGFyZW4ndCB3ZSBhbHdheXMgY2FsbGluZyBy ZXNlcnZlIHVuIGJ1ZmZlcnMgd2Uga25vdyB3ZSd2ZSBqdXN0CnVuYm91bmQ/IEtlZXBpbmcgdGhl IGZsYWdzIGNvbXB1dGF0aW9uIHdvdWxkIGF0IGxlYXN0IGJlIGEgZ29vZCBzZWxmY2hlY2sKYWJv dXQgdGhlIGNvbnNpc3RlbmN5IG9mIG91ciBwbGFjaW5nIGRlY2lzaW9ucywgc28gSSdkIGxpa2Ug dG8ga2VlcCBpdC4KCj4gIAo+ICAJcmV0ID0gaTkxNV9nZW1fb2JqZWN0X3BpbihvYmosIHZtYS0+ dm0sIGVudHJ5LT5hbGlnbm1lbnQsIGZsYWdzKTsKPiArCWlmICgocmV0ID09IC1FTk9TUEMgIHx8 IHJldCA9PSAtRTJCSUcpICYmCj4gKwkgICAgb25seV9tYXBwYWJsZV9mb3JfcmVsb2MoZW50cnkt PmZsYWdzKSkKPiArCQlyZXQgPSBpOTE1X2dlbV9vYmplY3RfcGluKG9iaiwgdm1hLT52bSwKPiAr CQkJCQkgIGVudHJ5LT5hbGlnbm1lbnQsCj4gKwkJCQkJICBmbGFncyAmIH4oUElOX0dMT0JBTCB8 IFBJTl9NQVBQQUJMRSkpOwo+ICAJaWYgKHJldCkKPiAgCQlyZXR1cm4gcmV0Owo+ICAKPiBAQCAt NjA1LDEzICs2NjUsMTMgQEAgZWJfdm1hX21pc3BsYWNlZChzdHJ1Y3QgaTkxNV92bWEgKnZtYSkK PiAgCSAgICB2bWEtPm5vZGUuc3RhcnQgJiAoZW50cnktPmFsaWdubWVudCAtIDEpKQo+ICAJCXJl dHVybiB0cnVlOwo+ICAKPiAtCWlmIChlbnRyeS0+ZmxhZ3MgJiBfX0VYRUNfT0JKRUNUX05FRURT X01BUCAmJiAhb2JqLT5tYXBfYW5kX2ZlbmNlYWJsZSkKPiAtCQlyZXR1cm4gdHJ1ZTsKPiAtCj4g IAlpZiAoZW50cnktPmZsYWdzICYgX19FWEVDX09CSkVDVF9ORUVEU19CSUFTICYmCj4gIAkgICAg dm1hLT5ub2RlLnN0YXJ0IDwgQkFUQ0hfT0ZGU0VUX0JJQVMpCj4gIAkJcmV0dXJuIHRydWU7Cj4g IAo+ICsJaWYgKGVudHJ5LT5mbGFncyAmIF9fRVhFQ19PQkpFQ1RfTkVFRFNfTUFQICYmICFvYmot Pm1hcF9hbmRfZmVuY2VhYmxlKQo+ICsJCXJldHVybiAhb25seV9tYXBwYWJsZV9mb3JfcmVsb2Mo ZW50cnktPmZsYWdzKTsKCkhtLCB0aGlzIHNlZW1zIHRvIGNvbnRyYWRpY3QgeW91ciBjb21taXQg bWVzc2FnZSBhIGJpdCBzaW5jZSBpdCdsbCByZXN1bHQKaW4gYSBiZWhhdmlvdXJhbCBjaGFuZ2Ug b2Ygd2hhdCB3ZSB0cnkgdG8gcHVzaCBpbnRvIG1hcHBhYmxlIGZvciByZWxvY3MuCgpTaG91bGRu J3Qgd2UgaW5zdGVhZCBqdXN0IGNsZWFyIHRoZSBORUVEU19NQVAgZmxhZyBpbiByZXNlcnZlX3Zt YSB3aGVuIHRoZQptYXBwYWJsZSBwaW4gZmFpbHMgYW5kIHdlIGZhbGwgYmFjaz8KCkJlc2lkZXMg dGhlIG5pdHBpY2tzIG9uIGludGVncmF0aW9uIGxndG0uCi1EYW5pZWwKCj4gKwo+ICAJcmV0dXJu IGZhbHNlOwo+ICB9Cj4gIAo+IC0tIAo+IDIuMS40Cj4gCj4gX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJl IEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgorNDEgKDApIDc5IDM2NSA1NyA0OCAtIGh0dHA6 Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwt Z2Z4Cg==