From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH] drm/i915: Add unit tests for the breadcrumb rbtree, wakeups Date: Mon, 13 Feb 2017 14:39:56 +0000 Message-ID: <632ff13c-ee6b-dfeb-14ca-81feb6f0bb96@linux.intel.com> References: <20170213120655.23590-1-chris@chris-wilson.co.uk> <20170213121054.32300-1-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 mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 044D06E410 for ; Mon, 13 Feb 2017 14:39:59 +0000 (UTC) In-Reply-To: <20170213121054.32300-1-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 Ck9uIDEzLzAyLzIwMTcgMTI6MTAsIENocmlzIFdpbHNvbiB3cm90ZToKPiBUaGlyZCByZXRyb2Fj dGl2ZSB0ZXN0LCBtYWtlIHN1cmUgdGhhdCB0aGUgc2Vxbm8gd2FpdGVycyBhcmUgd29rZW4uCj4K PiB2MjogU21hdHRlcmluZyBvZiBjb21tZW50cywgcmVhcnJhbmdlIGNvZGUKPiB2MzogRml4IElE TEUgYXNzZXJ0IHRvIGF2b2lkIHN0YXJ0dXAvc2xlZXAgcmFjZXMKClRoaXMgYWRkcmVzc2VzIHRo ZSBsYXN0IHJlbWFpbmluZyBpc3N1ZSBJIGhhZC4KClJldmlld2VkLWJ5OiBUdnJ0a28gVXJzdWxp biA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgoKUmVnYXJkcywKClR2cnRrbwoKPiBTaWduZWQt b2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPiAtLS0KPiAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2ludGVsX2JyZWFkY3J1bWJzLmMgfCAyMDEg KysrKysrKysrKysrKysrKysrKysrCj4gIDEgZmlsZSBjaGFuZ2VkLCAyMDEgaW5zZXJ0aW9ucygr KQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pbnRlbF9i cmVhZGNydW1icy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2ludGVsX2JyZWFk Y3J1bWJzLmMKPiBpbmRleCAzMmEyN2U1NmMzNTMuLmQxYjk5YjU2NTUwMCAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaW50ZWxfYnJlYWRjcnVtYnMuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pbnRlbF9icmVhZGNydW1icy5jCj4g QEAgLTI1OSwxMSArMjU5LDIxMiBAQCBzdGF0aWMgaW50IGlndF9pbnNlcnRfY29tcGxldGUodm9p ZCAqYXJnKQo+ICAJcmV0dXJuIGVycjsKPiAgfQo+Cj4gK3N0cnVjdCBpZ3Rfd2FrZXVwIHsKPiAr CXN0cnVjdCB0YXNrX3N0cnVjdCAqdHNrOwo+ICsJYXRvbWljX3QgKnJlYWR5LCAqc2V0LCAqZG9u ZTsKPiArCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZTsKPiArCXVuc2lnbmVkIGxvbmcg ZmxhZ3M7Cj4gKyNkZWZpbmUgU1RPUCAwCj4gKyNkZWZpbmUgSURMRSAxCj4gKwl3YWl0X3F1ZXVl X2hlYWRfdCAqd3E7Cj4gKwl1MzIgc2Vxbm87Cj4gK307Cj4gKwo+ICtzdGF0aWMgaW50IHdhaXRf YXRvbWljKGF0b21pY190ICpwKQo+ICt7Cj4gKwlzY2hlZHVsZSgpOwo+ICsJcmV0dXJuIDA7Cj4g K30KPiArCj4gK3N0YXRpYyBpbnQgd2FpdF9hdG9taWNfdGltZW91dChhdG9taWNfdCAqcCkKPiAr ewo+ICsJcmV0dXJuIHNjaGVkdWxlX3RpbWVvdXQoMTAgKiBIWikgPyAwIDogLUVUSU1FRE9VVDsK PiArfQo+ICsKPiArc3RhdGljIGJvb2wgd2FpdF9mb3JfcmVhZHkoc3RydWN0IGlndF93YWtldXAg KncpCj4gK3sKPiArCURFRklORV9XQUlUKHJlYWR5KTsKPiArCj4gKwlzZXRfYml0KElETEUsICZ3 LT5mbGFncyk7Cj4gKwlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCh3LT5kb25lKSkKPiArCQl3YWtl X3VwX2F0b21pY190KHctPmRvbmUpOwo+ICsKPiArCWlmICh0ZXN0X2JpdChTVE9QLCAmdy0+Zmxh Z3MpKQo+ICsJCWdvdG8gb3V0Owo+ICsKPiArCWZvciAoOzspIHsKPiArCQlwcmVwYXJlX3RvX3dh aXQody0+d3EsICZyZWFkeSwgVEFTS19JTlRFUlJVUFRJQkxFKTsKPiArCQlpZiAoYXRvbWljX3Jl YWQody0+cmVhZHkpID09IDApCj4gKwkJCWJyZWFrOwo+ICsKPiArCQlzY2hlZHVsZSgpOwo+ICsJ fQo+ICsJZmluaXNoX3dhaXQody0+d3EsICZyZWFkeSk7Cj4gKwo+ICtvdXQ6Cj4gKwljbGVhcl9i aXQoSURMRSwgJnctPmZsYWdzKTsKPiArCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KHctPnNldCkp Cj4gKwkJd2FrZV91cF9hdG9taWNfdCh3LT5zZXQpOwo+ICsKPiArCXJldHVybiAhdGVzdF9iaXQo U1RPUCwgJnctPmZsYWdzKTsKPiArfQo+ICsKPiArc3RhdGljIGludCBpZ3Rfd2FrZXVwX3RocmVh ZCh2b2lkICphcmcpCj4gK3sKPiArCXN0cnVjdCBpZ3Rfd2FrZXVwICp3ID0gYXJnOwo+ICsJc3Ry dWN0IGludGVsX3dhaXQgd2FpdDsKPiArCj4gKwl3aGlsZSAod2FpdF9mb3JfcmVhZHkodykpIHsK PiArCQlHRU1fQlVHX09OKGt0aHJlYWRfc2hvdWxkX3N0b3AoKSk7Cj4gKwo+ICsJCWludGVsX3dh aXRfaW5pdCgmd2FpdCwgdy0+c2Vxbm8pOwo+ICsJCWludGVsX2VuZ2luZV9hZGRfd2FpdCh3LT5l bmdpbmUsICZ3YWl0KTsKPiArCQlmb3IgKDs7KSB7Cj4gKwkJCXNldF9jdXJyZW50X3N0YXRlKFRB U0tfVU5JTlRFUlJVUFRJQkxFKTsKPiArCQkJaWYgKGk5MTVfc2Vxbm9fcGFzc2VkKGludGVsX2Vu Z2luZV9nZXRfc2Vxbm8ody0+ZW5naW5lKSwKPiArCQkJCQkgICAgICB3LT5zZXFubykpCj4gKwkJ CQlicmVhazsKPiArCj4gKwkJCWlmICh0ZXN0X2JpdChTVE9QLCAmdy0+ZmxhZ3MpKSAvKiBlbWVy Z2VuY3kgZXNjYXBlICovCj4gKwkJCQlicmVhazsKPiArCj4gKwkJCXNjaGVkdWxlKCk7Cj4gKwkJ fQo+ICsJCWludGVsX2VuZ2luZV9yZW1vdmVfd2FpdCh3LT5lbmdpbmUsICZ3YWl0KTsKPiArCQlf X3NldF9jdXJyZW50X3N0YXRlKFRBU0tfUlVOTklORyk7Cj4gKwl9Cj4gKwo+ICsJcmV0dXJuIDA7 Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIGlndF93YWtlX2FsbF9zeW5jKGF0b21pY190ICpyZWFk eSwKPiArCQkJICAgICAgYXRvbWljX3QgKnNldCwKPiArCQkJICAgICAgYXRvbWljX3QgKmRvbmUs Cj4gKwkJCSAgICAgIHdhaXRfcXVldWVfaGVhZF90ICp3cSwKPiArCQkJICAgICAgaW50IGNvdW50 KQo+ICt7Cj4gKwlhdG9taWNfc2V0KHNldCwgY291bnQpOwo+ICsJYXRvbWljX3NldChyZWFkeSwg MCk7Cj4gKwl3YWtlX3VwX2FsbCh3cSk7Cj4gKwo+ICsJd2FpdF9vbl9hdG9taWNfdChzZXQsIHdh aXRfYXRvbWljLCBUQVNLX1VOSU5URVJSVVBUSUJMRSk7Cj4gKwlhdG9taWNfc2V0KHJlYWR5LCBj b3VudCk7Cj4gKwlhdG9taWNfc2V0KGRvbmUsIGNvdW50KTsKPiArfQo+ICsKPiArc3RhdGljIGlu dCBpZ3Rfd2FrZXVwKHZvaWQgKmFyZykKPiArewo+ICsJSTkxNV9STkRfU1RBVEUocHJuZyk7Cj4g Kwljb25zdCBpbnQgc3RhdGUgPSBUQVNLX1VOSU5URVJSVVBUSUJMRTsKPiArCXN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKmVuZ2luZSA9IGFyZzsKPiArCXN0cnVjdCBpZ3Rfd2FrZXVwICp3YWl0ZXJz Owo+ICsJREVDTEFSRV9XQUlUX1FVRVVFX0hFQURfT05TVEFDSyh3cSk7Cj4gKwljb25zdCBpbnQg Y291bnQgPSA0MDk2Owo+ICsJY29uc3QgdTMyIG1heF9zZXFubyA9IGNvdW50IC8gNDsKPiArCWF0 b21pY190IHJlYWR5LCBzZXQsIGRvbmU7Cj4gKwlpbnQgZXJyID0gLUVOT01FTTsKPiArCWludCBu LCBzdGVwOwo+ICsKPiArCW1vY2tfZW5naW5lX3Jlc2V0KGVuZ2luZSk7Cj4gKwo+ICsJd2FpdGVy cyA9IGRybV9tYWxsb2NfZ2ZwKGNvdW50LCBzaXplb2YoKndhaXRlcnMpLCBHRlBfVEVNUE9SQVJZ KTsKPiArCWlmICghd2FpdGVycykKPiArCQlnb3RvIG91dF9lbmdpbmVzOwo+ICsKPiArCS8qIENy ZWF0ZSBhIGxhcmdlIG51bWJlciBvZiB0aHJlYWRzLCBlYWNoIHdhaXRpbmcgb24gYSByYW5kb20g c2Vxbm8uCj4gKwkgKiBNdWx0aXBsZSB3YWl0ZXJzIHdpbGwgYmUgd2FpdGluZyBmb3IgdGhlIHNh bWUgc2Vxbm8uCj4gKwkgKi8KPiArCWF0b21pY19zZXQoJnJlYWR5LCBjb3VudCk7Cj4gKwlmb3Ig KG4gPSAwOyBuIDwgY291bnQ7IG4rKykgewo+ICsJCXdhaXRlcnNbbl0ud3EgPSAmd3E7Cj4gKwkJ d2FpdGVyc1tuXS5yZWFkeSA9ICZyZWFkeTsKPiArCQl3YWl0ZXJzW25dLnNldCA9ICZzZXQ7Cj4g KwkJd2FpdGVyc1tuXS5kb25lID0gJmRvbmU7Cj4gKwkJd2FpdGVyc1tuXS5lbmdpbmUgPSBlbmdp bmU7Cj4gKwkJd2FpdGVyc1tuXS5mbGFncyA9IEJJVChJRExFKTsKPiArCj4gKwkJd2FpdGVyc1tu XS50c2sgPSBrdGhyZWFkX3J1bihpZ3Rfd2FrZXVwX3RocmVhZCwgJndhaXRlcnNbbl0sCj4gKwkJ CQkJICAgICAiaTkxNS9pZ3Q6JWQiLCBuKTsKPiArCQlpZiAoSVNfRVJSKHdhaXRlcnNbbl0udHNr KSkKPiArCQkJZ290byBvdXRfd2FpdGVyczsKPiArCj4gKwkJZ2V0X3Rhc2tfc3RydWN0KHdhaXRl cnNbbl0udHNrKTsKPiArCX0KPiArCj4gKwlmb3IgKHN0ZXAgPSAxOyBzdGVwIDw9IG1heF9zZXFu bzsgc3RlcCA8PD0gMSkgewo+ICsJCXUzMiBzZXFubzsKPiArCj4gKwkJLyogVGhlIHdhaXRlciB0 aHJlYWRzIHN0YXJ0IHBhdXNlZCBhcyB3ZSBhc3NpZ24gdGhlbSBhIHJhbmRvbQo+ICsJCSAqIHNl cW5vIGFuZCByZXNldCB0aGUgZW5naW5lLiBPbmNlIHRoZSBlbmdpbmUgaXMgcmVzZXQsCj4gKwkJ ICogd2Ugc2lnbmFsIHRoYXQgdGhlIHRocmVhZHMgbWF5IGJlZ2luIHRoZWlyIHdhaXQgdXBvbiB0 aGVpcgo+ICsJCSAqIHNlcW5vLgo+ICsJCSAqLwo+ICsJCWZvciAobiA9IDA7IG4gPCBjb3VudDsg bisrKSB7Cj4gKwkJCUdFTV9CVUdfT04oIXRlc3RfYml0KElETEUsICZ3YWl0ZXJzW25dLmZsYWdz KSk7Cj4gKwkJCXdhaXRlcnNbbl0uc2Vxbm8gPQo+ICsJCQkJMSArIHByYW5kb21fdTMyX3N0YXRl KCZwcm5nKSAlIG1heF9zZXFubzsKPiArCQl9Cj4gKwkJbW9ja19zZXFub19hZHZhbmNlKGVuZ2lu ZSwgMCk7Cj4gKwkJaWd0X3dha2VfYWxsX3N5bmMoJnJlYWR5LCAmc2V0LCAmZG9uZSwgJndxLCBj b3VudCk7Cj4gKwo+ICsJCS8qIFNpbXVsYXRlIHRoZSBHUFUgZG9pbmcgY2h1bmtzIG9mIHdvcmss IHdpdGggb25lIG9yIG1vcmUKPiArCQkgKiBzZXFubyBhcHBlYXJpbmcgdG8gZmluaXNoIGF0IHRo ZSBzYW1lIHRpbWUuIEEgcmFuZG9tIG51bWJlcgo+ICsJCSAqIG9mIHRocmVhZHMgd2lsbCBiZSB3 YWl0aW5nIHVwb24gdGhlIHVwZGF0ZSBhbmQgaG9wZWZ1bGx5IGJlCj4gKwkJICogd29rZW4uCj4g KwkJICovCj4gKwkJZm9yIChzZXFubyA9IDE7IHNlcW5vIDw9IG1heF9zZXFubyArIHN0ZXA7IHNl cW5vICs9IHN0ZXApIHsKPiArCQkJdXNsZWVwX3JhbmdlKDUwLCA1MDApOwo+ICsJCQltb2NrX3Nl cW5vX2FkdmFuY2UoZW5naW5lLCBzZXFubyk7Cj4gKwkJfQo+ICsJCUdFTV9CVUdfT04oaW50ZWxf ZW5naW5lX2dldF9zZXFubyhlbmdpbmUpIDwgMSArIG1heF9zZXFubyk7Cj4gKwo+ICsJCS8qIFdp dGggdGhlIHNlcW5vIG5vdyBiZXlvbmQgYW55IG9mIHRoZSB3YWl0aW5nIHRocmVhZHMsIHRoZXkK PiArCQkgKiBzaG91bGQgYWxsIGJlIHdva2VuLCBzZWUgdGhhdCB0aGV5IGFyZSBjb21wbGV0ZSBh bmQgc2lnbmFsCj4gKwkJICogdGhhdCB0aGV5IGFyZSByZWFkeSBmb3IgdGhlIG5leHQgdGVzdC4g V2Ugd2FpdCB1bnRpbCBhbGwKPiArCQkgKiB0aHJlYWRzIGFyZSBjb21wbGV0ZSBhbmQgd2FpdGlu ZyBmb3IgdXMgKGkuZS4gbm90IGEgc2Vxbm8pLgo+ICsJCSAqLwo+ICsJCWVyciA9IHdhaXRfb25f YXRvbWljX3QoJmRvbmUsIHdhaXRfYXRvbWljX3RpbWVvdXQsIHN0YXRlKTsKPiArCQlpZiAoZXJy KSB7Cj4gKwkJCXByX2VycigiVGltZWQgb3V0IHdhaXRpbmcgZm9yICVkIHJlbWFpbmluZyB3YWl0 ZXJzXG4iLAo+ICsJCQkgICAgICAgYXRvbWljX3JlYWQoJmRvbmUpKTsKPiArCQkJYnJlYWs7Cj4g KwkJfQo+ICsKPiArCQllcnIgPSBjaGVja19yYnRyZWVfZW1wdHkoZW5naW5lKTsKPiArCQlpZiAo ZXJyKQo+ICsJCQlicmVhazsKPiArCX0KPiArCj4gK291dF93YWl0ZXJzOgo+ICsJZm9yIChuID0g MDsgbiA8IGNvdW50OyBuKyspIHsKPiArCQlpZiAoSVNfRVJSKHdhaXRlcnNbbl0udHNrKSkKPiAr CQkJYnJlYWs7Cj4gKwo+ICsJCXNldF9iaXQoU1RPUCwgJndhaXRlcnNbbl0uZmxhZ3MpOwo+ICsJ fQo+ICsJbW9ja19zZXFub19hZHZhbmNlKGVuZ2luZSwgSU5UX01BWCk7IC8qIHdha2V1cCBhbnkg YnJva2VuIHdhaXRlcnMgKi8KPiArCWlndF93YWtlX2FsbF9zeW5jKCZyZWFkeSwgJnNldCwgJmRv bmUsICZ3cSwgbik7Cj4gKwo+ICsJZm9yIChuID0gMDsgbiA8IGNvdW50OyBuKyspIHsKPiArCQlp ZiAoSVNfRVJSKHdhaXRlcnNbbl0udHNrKSkKPiArCQkJYnJlYWs7Cj4gKwo+ICsJCWt0aHJlYWRf c3RvcCh3YWl0ZXJzW25dLnRzayk7Cj4gKwkJcHV0X3Rhc2tfc3RydWN0KHdhaXRlcnNbbl0udHNr KTsKPiArCX0KPiArCj4gKwlkcm1fZnJlZV9sYXJnZSh3YWl0ZXJzKTsKPiArb3V0X2VuZ2luZXM6 Cj4gKwltb2NrX2VuZ2luZV9mbHVzaChlbmdpbmUpOwo+ICsJcmV0dXJuIGVycjsKPiArfQo+ICsK PiAgaW50IGludGVsX2JyZWFkY3J1bWJzX21vY2tfc2VsZnRlc3RzKHZvaWQpCj4gIHsKPiAgCXN0 YXRpYyBjb25zdCBzdHJ1Y3QgaTkxNV9zdWJ0ZXN0IHRlc3RzW10gPSB7Cj4gIAkJU1VCVEVTVChp Z3RfcmFuZG9tX2luc2VydF9yZW1vdmUpLAo+ICAJCVNVQlRFU1QoaWd0X2luc2VydF9jb21wbGV0 ZSksCj4gKwkJU1VCVEVTVChpZ3Rfd2FrZXVwKSwKPiAgCX07Cj4gIAlzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICplbmdpbmU7Cj4gIAlpbnQgZXJyOwo+Cl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=