From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 05/16] drm/i915: Add unit tests for the breadcrumb rbtree, wakeups Date: Thu, 8 Dec 2016 17:38:34 +0000 Message-ID: <9f55b4fa-e6a5-857e-9728-37f1a718a1e6@linux.intel.com> References: <20161207135833.32740-1-chris@chris-wilson.co.uk> <20161207135833.32740-6-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id A36A56E163 for ; Thu, 8 Dec 2016 17:38:37 +0000 (UTC) In-Reply-To: <20161207135833.32740-6-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 Ck9uIDA3LzEyLzIwMTYgMTM6NTgsIENocmlzIFdpbHNvbiB3cm90ZToKPiBUaGlyZCByZXRyb2Fj dGl2ZSB0ZXN0LCBtYWtlIHN1cmUgdGhhdCB0aGUgc2Vxbm8gd2FpdGVycyBhcmUgd29rZW4uCj4K PiBTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4K PiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYnJlYWRjcnVtYnMuYyB8IDE3MSAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIDEgZmlsZSBjaGFuZ2VkLCAxNzEgaW5z ZXJ0aW9ucygrKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Jy ZWFkY3J1bWJzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9icmVhZGNydW1icy5jCj4g aW5kZXggZmM5NTBmN2ZmMzIyLi4xMzc0YTU0ZTQxYzkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfYnJlYWRjcnVtYnMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2JyZWFkY3J1bWJzLmMKPiBAQCAtOTY2LDExICs5NjYsMTgyIEBAIHN0YXRpYyBp bnQgaWd0X2luc2VydF9jb21wbGV0ZSh2b2lkICppZ25vcmUpCj4gIAlyZXR1cm4gZXJyOwo+ICB9 Cj4KPiArc3RydWN0IGlndF93YWtldXAgewo+ICsJc3RydWN0IHRhc2tfc3RydWN0ICp0c2s7Cj4g KwlhdG9taWNfdCAqcmVhZHksICpzZXQsICpkb25lOwo+ICsJc3RydWN0IGludGVsX2VuZ2luZV9j cyAqZW5naW5lOwo+ICsJdW5zaWduZWQgbG9uZyBmbGFnczsKPiArCXdhaXRfcXVldWVfaGVhZF90 ICp3cTsKPiArCXUzMiBzZXFubzsKPiArfTsKPiArCj4gK3N0YXRpYyBpbnQgd2FpdF9hdG9taWMo YXRvbWljX3QgKnApCj4gK3sKPiArCXNjaGVkdWxlKCk7Cj4gKwlyZXR1cm4gMDsKPiArfQo+ICsK PiArc3RhdGljIGludCB3YWl0X2F0b21pY190aW1lb3V0KGF0b21pY190ICpwKQo+ICt7Cj4gKwly ZXR1cm4gc2NoZWR1bGVfdGltZW91dCgxMCAqIEhaKSA/IDAgOiAtRVRJTUVET1VUOwo+ICt9Cj4g Kwo+ICtzdGF0aWMgaW50IGlndF93YWtldXBfdGhyZWFkKHZvaWQgKmFyZykKPiArewo+ICsJc3Ry dWN0IGlndF93YWtldXAgKncgPSBhcmc7Cj4gKwlzdHJ1Y3QgaW50ZWxfd2FpdCB3YWl0Owo+ICsK PiArCXdoaWxlICgha3RocmVhZF9zaG91bGRfc3RvcCgpKSB7Cj4gKwkJREVGSU5FX1dBSVQocmVh ZHkpOwo+ICsKPiArCQlmb3IgKDs7KSB7Cj4gKwkJCXByZXBhcmVfdG9fd2FpdCh3LT53cSwgJnJl YWR5LCBUQVNLX0lOVEVSUlVQVElCTEUpOwo+ICsJCQlpZiAoYXRvbWljX3JlYWQody0+cmVhZHkp ID09IDApCj4gKwkJCQlicmVhazsKPiArCj4gKwkJCXNjaGVkdWxlKCk7Cj4gKwkJfQo+ICsJCWZp bmlzaF93YWl0KHctPndxLCAmcmVhZHkpOwoKSGF2ZSB0byBzYXkgdGhpcyBpcyB0aGUgZmlyc3Qg dGltZSBJJ3ZlIGxlYXJudCBhYm91dCB3YWtlX3VwX2F0b21pY190ICYgCmNvLiBZb3UgY291bGRu J3QgdXNlIHdhaXRfb25fYXRvbWljX3QgaW5zdGVhZCBvZiB0aGUgbG9vcCBhYm92ZT8KCj4gKwkJ aWYgKGF0b21pY19kZWNfYW5kX3Rlc3Qody0+c2V0KSkKPiArCQkJd2FrZV91cF9hdG9taWNfdCh3 LT5zZXQpOwo+ICsKCk9rYXksIGFsbCB0aGUgdGhyZWFkcyBoYXZlIG9ic2VydmVkIHRoYXQgYWxs IG90aGVyIHRocmVhZHMgaGF2ZSBiZWVuIApzdGFydGVkLCB5ZXM/Cgo+ICsJCWlmICh0ZXN0X2Jp dCgwLCAmdy0+ZmxhZ3MpKQo+ICsJCQlicmVhazsKCk9uZSB0aHJlYWQgZmFpbGVkIHRvIHN0YXJ0 ID0gYmFpbG91dC4KCkRvIHlvdSBpbnRlbmQgdG8gdXNlIHRoZSBmbGFncyBmb3Igc29tZXRoaW5n IG1vcmUgd2hpY2ggcHJlY2x1ZGVzIGEgbW9yZSAKZGVzY3JpcHRpdmUgbmFtZSBmb3IgaXRzIHNp bmdsZSBwdXJwb3NlIGhlcmU/Cgo+ICsKPiArCQlpbnRlbF93YWl0X2luaXQoJndhaXQsIHctPnNl cW5vKTsKPiArCQlpbnRlbF9lbmdpbmVfYWRkX3dhaXQody0+ZW5naW5lLCAmd2FpdCk7Cj4gKwkJ Zm9yICg7Oykgewo+ICsJCQlzZXRfY3VycmVudF9zdGF0ZShUQVNLX1VOSU5URVJSVVBUSUJMRSk7 Cj4gKwkJCWlmIChpOTE1X3NlcW5vX3Bhc3NlZChpbnRlbF9lbmdpbmVfZ2V0X3NlcW5vKHctPmVu Z2luZSksCj4gKwkJCQkJICAgICAgdy0+c2Vxbm8pKQo+ICsJCQkJYnJlYWs7Cj4gKwo+ICsJCQlz Y2hlZHVsZSgpOwo+ICsJCX0KPiArCQlpbnRlbF9lbmdpbmVfcmVtb3ZlX3dhaXQody0+ZW5naW5l LCAmd2FpdCk7Cj4gKwkJX19zZXRfY3VycmVudF9zdGF0ZShUQVNLX1JVTk5JTkcpOwo+ICsKPiAr CQlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCh3LT5kb25lKSkKPiArCQkJd2FrZV91cF9hdG9taWNf dCh3LT5kb25lKTsKPiArCX0KPiArCj4gKwlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCh3LT5kb25l KSkKPiArCQl3YWtlX3VwX2F0b21pY190KHctPmRvbmUpOwoKTXVzdCBiZSBhIHNwZWNpYWwgcmVh c29uIGRvbmUgaXMgZGVjcmVtZW50ZWQgaW4gdGhlIGxvb3AgYW5kIG91dHNpZGUgdGhlIApsb29w PwoKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBpZ3Rfd2FrZV9hbGxfc3lu YyhhdG9taWNfdCAqcmVhZHksCj4gKwkJCSAgICAgIGF0b21pY190ICpzZXQsCj4gKwkJCSAgICAg IGF0b21pY190ICpkb25lLAo+ICsJCQkgICAgICB3YWl0X3F1ZXVlX2hlYWRfdCAqd3EsCj4gKwkJ CSAgICAgIGludCBjb3VudCkKPiArewo+ICsJYXRvbWljX3NldChzZXQsIGNvdW50KTsKPiArCWF0 b21pY19zZXQoZG9uZSwgY291bnQpOwo+ICsKPiArCWF0b21pY19zZXQocmVhZHksIDApOwo+ICsJ d2FrZV91cF9hbGwod3EpOwo+ICsKPiArCXdhaXRfb25fYXRvbWljX3Qoc2V0LCB3YWl0X2F0b21p YywgVEFTS19VTklOVEVSUlVQVElCTEUpOwo+ICsJYXRvbWljX3NldChyZWFkeSwgY291bnQpOwo+ ICt9Cj4gKwo+ICtzdGF0aWMgaW50IGlndF93YWtldXAodm9pZCAqaWdub3JlKQo+ICt7Cj4gKwlj b25zdCBpbnQgc3RhdGUgPSBUQVNLX1VOSU5URVJSVVBUSUJMRTsKPiArCXN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKmVuZ2luZTsKPiArCXN0cnVjdCBpZ3Rfd2FrZXVwICp3YWl0ZXJzOwo+ICsJREVD TEFSRV9XQUlUX1FVRVVFX0hFQURfT05TVEFDSyh3cSk7Cj4gKwljb25zdCBpbnQgY291bnQgPSA0 MDk2Owo+ICsJY29uc3QgdTMyIG1heF9zZXFubyA9IGNvdW50IC8gNDsKPiArCWF0b21pY190IHJl YWR5LCBzZXQsIGRvbmU7Cj4gKwlpbnQgZXJyID0gLUVOT01FTTsKPiArCWludCBuLCBzdGVwOwo+ ICsKPiArCWVuZ2luZSA9IG1vY2tfZW5naW5lKCJtb2NrIik7Cj4gKwlpZiAoIWVuZ2luZSkKPiAr CQlnb3RvIG91dDsKPiArCj4gKwl3YWl0ZXJzID0gZHJtX21hbGxvY19nZnAoY291bnQsIHNpemVv Zigqd2FpdGVycyksIEdGUF9URU1QT1JBUlkpOwo+ICsJaWYgKCF3YWl0ZXJzKQo+ICsJCWdvdG8g b3V0X2VuZ2luZXM7Cj4gKwo+ICsJYXRvbWljX3NldCgmcmVhZHksIGNvdW50KTsKPiArCWZvciAo biA9IDA7IG4gPCBjb3VudDsgbisrKSB7Cj4gKwkJd2FpdGVyc1tuXS53cSA9ICZ3cTsKPiArCQl3 YWl0ZXJzW25dLnJlYWR5ID0gJnJlYWR5Owo+ICsJCXdhaXRlcnNbbl0uc2V0ID0gJnNldDsKPiAr CQl3YWl0ZXJzW25dLmRvbmUgPSAmZG9uZTsKPiArCQl3YWl0ZXJzW25dLmVuZ2luZSA9IGVuZ2lu ZTsKPiArCQl3YWl0ZXJzW25dLmZsYWdzID0gMDsKPiArCj4gKwkJd2FpdGVyc1tuXS50c2sgPSBr dGhyZWFkX3J1bihpZ3Rfd2FrZXVwX3RocmVhZCwgJndhaXRlcnNbbl0sCj4gKwkJCQkJICAgICAi aTkxNS9pZ3Q6JWQiLCBuKTsKPiArCQlpZiAoSVNfRVJSKHdhaXRlcnNbbl0udHNrKSkKPiArCQkJ Z290byBvdXRfd2FpdGVyczsKPiArCj4gKwkJZ2V0X3Rhc2tfc3RydWN0KHdhaXRlcnNbbl0udHNr KTsKPiArCX0KPiArCgpJdCBpcyB0aW1lIHRvIHN0YXJ0IGRvY3VtZW50aW5nIHRoZSB0ZXN0cyBJ IHRoaW5rIHZpYSBuaWNlIGNvbW1lbnRzIGF0IApzdHJhdGVnaWMgcGxhY2VzLiBQcm9iYWJseSBh IHNob3J0IGNvbW1lbnRhcnkgb24gdGhlIHRlc3QgYXMgYSB3aG9sZSBhbmQgCnRoZW4gc2VwYXJh dGVseSBhdCBpbnRlcmVzdGluZyBzdGVwcy4KCj4gKwlmb3IgKHN0ZXAgPSAxOyBzdGVwIDw9IG1h eF9zZXFubzsgc3RlcCA8PD0gMSkgewo+ICsJCXUzMiBzZXFubzsKPiArCj4gKwkJZm9yIChuID0g MDsgbiA8IGNvdW50OyBuKyspCj4gKwkJCXdhaXRlcnNbbl0uc2Vxbm8gPSAxICsgZ2V0X3JhbmRv bV9pbnQoKSAlIG1heF9zZXFubzsKClNvIHlvdSBoYXZlIDQwOTYgd2FpdGVycyBidXQgc29tZSBh cmUgd2FpdGluZyBvbiB0aGUgc2FtZSBzZXFubywgc2luY2UgCnRoZXJlIGFyZSBhdCBtb3N0IDEw MjQgdW5pcXVlIHNlcW5vcy4gVG9vayBtZSBhIHdoaWxlIHRvIGZpZ3VyZSB0aGlzIG9uZSAKb3V0 LgoKPiArCj4gKwkJbW9ja19zZXFub19hZHZhbmNlKGVuZ2luZSwgMCk7Cj4gKwkJaWd0X3dha2Vf YWxsX3N5bmMoJnJlYWR5LCAmc2V0LCAmZG9uZSwgJndxLCBjb3VudCk7Cj4gKwo+ICsJCWZvciAo c2Vxbm8gPSAxOyBzZXFubyA8PSBtYXhfc2Vxbm8gKyBzdGVwOyBzZXFubyArPSBzdGVwKSB7CgpG aXJzdCBzdGVwIHdha2VzIHVwIGFsbCBzZXFub3Mgb25lIGJ5IG9uZSwgdGhlIG90aGVyIHN0ZXBz IGRvIGl0IGluIApjaHVua3Mgd2l0aCBhIGxhcmdlciBhbmQgbGFyZ2VyIHNraXAuIEFsbCB0aGUg d2F5IHRvIHdha2luZyB0aGUgd2hvbGUgCmJ1bmNoIGF0IG9uY2U/Cgo+ICsJCQl1c2xlZXBfcmFu Z2UoNTAsIDUwMCk7CgpXaHkgc2xlZXA/IEl0IHNob3VsZCB3b3JrIHdpdGhvdXQgaXQsIG5vPwoK PiArCQkJbW9ja19zZXFub19hZHZhbmNlKGVuZ2luZSwgc2Vxbm8pOwo+ICsJCX0KPiArCQlHRU1f QlVHX09OKGludGVsX2VuZ2luZV9nZXRfc2Vxbm8oZW5naW5lKSA8IDEgKyBtYXhfc2Vxbm8pOwo+ ICsKPiArCQllcnIgPSB3YWl0X29uX2F0b21pY190KCZkb25lLCB3YWl0X2F0b21pY190aW1lb3V0 LCBzdGF0ZSk7Cj4gKwkJaWYgKGVycikgewo+ICsJCQlwcl9lcnIoIlRpbWVkIG91dCB3YWl0aW5n IGZvciAlZCByZW1haW5pbmcgd2FpdGVyc1xuIiwKPiArCQkJICAgICAgIGF0b21pY19yZWFkKCZk b25lKSk7Cj4gKwkJCWJyZWFrOwo+ICsJCX0KPiArCj4gKwkJZXJyID0gY2hlY2tfcmJ0cmVlX2Vt cHR5KGVuZ2luZSk7Cj4gKwkJaWYgKGVycikKPiArCQkJYnJlYWs7Cj4gKwl9Cj4gKwo+ICtvdXRf d2FpdGVyczoKPiArCWZvciAobiA9IDA7IG4gPCBjb3VudDsgbisrKSB7Cj4gKwkJaWYgKElTX0VS Uih3YWl0ZXJzW25dLnRzaykpCj4gKwkJCWJyZWFrOwo+ICsKPiArCQlzZXRfYml0KDAsICZ3YWl0 ZXJzW25dLmZsYWdzKTsKPiArCX0KPiArCj4gKwlpZ3Rfd2FrZV9hbGxfc3luYygmcmVhZHksICZz ZXQsICZkb25lLCAmd3EsIG4pOwo+ICsJd2FpdF9vbl9hdG9taWNfdCgmZG9uZSwgd2FpdF9hdG9t aWMsIHN0YXRlKTsKCkMtTy1NLU0tRS1OLVQtUyEgOkQKCj4gKwo+ICsJZm9yIChuID0gMDsgbiA8 IGNvdW50OyBuKyspIHsKPiArCQlpZiAoSVNfRVJSKHdhaXRlcnNbbl0udHNrKSkKPiArCQkJYnJl YWs7Cj4gKwo+ICsJCWt0aHJlYWRfc3RvcCh3YWl0ZXJzW25dLnRzayk7Cj4gKwkJcHV0X3Rhc2tf c3RydWN0KHdhaXRlcnNbbl0udHNrKTsKPiArCX0KPiArCj4gKwlkcm1fZnJlZV9sYXJnZSh3YWl0 ZXJzKTsKPiArb3V0X2VuZ2luZXM6Cj4gKwlrZnJlZShlbmdpbmUpOwo+ICtvdXQ6Cj4gKwlyZXR1 cm4gZXJyOwo+ICt9Cj4gKwo+ICBpbnQgaW50ZWxfYnJlYWRjcnVtYnNfc2VsZnRlc3Qodm9pZCkK PiAgewo+ICAJc3RhdGljIGNvbnN0IHN0cnVjdCBpOTE1X3N1YnRlc3QgdGVzdHNbXSA9IHsKPiAg CQlTVUJURVNUKGlndF9yYW5kb21faW5zZXJ0X3JlbW92ZSksCj4gIAkJU1VCVEVTVChpZ3RfaW5z ZXJ0X2NvbXBsZXRlKSwKPiArCQlTVUJURVNUKGlndF93YWtldXApLAo+ICAJfTsKPgo+ICAJcmV0 dXJuIGk5MTVfc3VidGVzdHModGVzdHMsIE5VTEwpOwo+CgpQaGV3LCBsb29rcyBtb3N0bHkgT0su IEkgdGhpbmsgb25seSBvbmUgdGhpbmcgSSBhbSB1bnN1cmUgb2YuCgpUaGlzIHdhcyBxdWl0ZSBz bWFydCwgcGxlYXNlIHN0YXJ0IGFkZGluZyBjb21tZW50cyB3aGVuIHlvdSBjb21lIHVwIHdpdGgg CnNpbWlsYXIgdGhpbmdzLiA6KQoKUmVnYXJkcywKClR2cnRrbwpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVs LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK