From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH v3] drm/i915: Add unit tests for the breadcrumb rbtree, wakeups Date: Wed, 1 Feb 2017 16:57:53 +0000 Message-ID: References: <8855527e-f275-1e9d-3766-ca6aa8df079c@linux.intel.com> <20170201131906.7795-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 mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 905076E339 for ; Wed, 1 Feb 2017 16:57:56 +0000 (UTC) In-Reply-To: <20170201131906.7795-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 Ck9uIDAxLzAyLzIwMTcgMTM6MTksIENocmlzIFdpbHNvbiB3cm90ZToKPiBUaGlyZCByZXRyb2Fj dGl2ZSB0ZXN0LCBtYWtlIHN1cmUgdGhhdCB0aGUgc2Vxbm8gd2FpdGVycyBhcmUgd29rZW4uCj4K PiB2MjogU21hdHRlcmluZyBvZiBjb21tZW50cywgcmVhcnJhbmdlIGNvZGUKPgo+IFNpZ25lZC1v ZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+IC0tLQo+ICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaW50ZWxfYnJlYWRjcnVtYnMuYyB8IDIwMiAr KysrKysrKysrKysrKysrKysrKysKPiAgMSBmaWxlIGNoYW5nZWQsIDIwMiBpbnNlcnRpb25zKCsp Cj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2ludGVsX2Jy ZWFkY3J1bWJzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaW50ZWxfYnJlYWRj cnVtYnMuYwo+IGluZGV4IDI0NWU1ZjFiODM3My4uOTA3NTAzOTAxNjQ0IDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pbnRlbF9icmVhZGNydW1icy5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2ludGVsX2JyZWFkY3J1bWJzLmMKPiBA QCAtMjYzLDExICsyNjMsMjEzIEBAIHN0YXRpYyBpbnQgaWd0X2luc2VydF9jb21wbGV0ZSh2b2lk ICphcmcpCj4gIAlyZXR1cm4gZXJyOwo+ICB9Cj4KPiArc3RydWN0IGlndF93YWtldXAgewo+ICsJ c3RydWN0IHRhc2tfc3RydWN0ICp0c2s7Cj4gKwlhdG9taWNfdCAqcmVhZHksICpzZXQsICpkb25l Owo+ICsJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lOwo+ICsJdW5zaWduZWQgbG9uZyBm bGFnczsKPiArI2RlZmluZSBTVE9QIDAKPiArI2RlZmluZSBXQUlUSU5HIDEKPiArCXdhaXRfcXVl dWVfaGVhZF90ICp3cTsKPiArCXUzMiBzZXFubzsKPiArfTsKPiArCj4gK3N0YXRpYyBpbnQgd2Fp dF9hdG9taWMoYXRvbWljX3QgKnApCj4gK3sKPiArCXNjaGVkdWxlKCk7Cj4gKwlyZXR1cm4gMDsK PiArfQo+ICsKPiArc3RhdGljIGludCB3YWl0X2F0b21pY190aW1lb3V0KGF0b21pY190ICpwKQo+ ICt7Cj4gKwlyZXR1cm4gc2NoZWR1bGVfdGltZW91dCgxMCAqIEhaKSA/IDAgOiAtRVRJTUVET1VU Owo+ICt9Cj4gKwo+ICtzdGF0aWMgYm9vbCB3YWl0X2Zvcl9yZWFkeShzdHJ1Y3QgaWd0X3dha2V1 cCAqdykKPiArewo+ICsJREVGSU5FX1dBSVQocmVhZHkpOwo+ICsKPiArCWlmIChhdG9taWNfZGVj X2FuZF90ZXN0KHctPmRvbmUpKQo+ICsJCXdha2VfdXBfYXRvbWljX3Qody0+ZG9uZSk7Cj4gKwo+ ICsJaWYgKHRlc3RfYml0KFNUT1AsICZ3LT5mbGFncykpCj4gKwkJZ290byBvdXQ7Cj4gKwo+ICsJ c2V0X2JpdChXQUlUSU5HLCAmdy0+ZmxhZ3MpOwo+ICsJZm9yICg7Oykgewo+ICsJCXByZXBhcmVf dG9fd2FpdCh3LT53cSwgJnJlYWR5LCBUQVNLX0lOVEVSUlVQVElCTEUpOwo+ICsJCWlmIChhdG9t aWNfcmVhZCh3LT5yZWFkeSkgPT0gMCkKPiArCQkJYnJlYWs7Cj4gKwo+ICsJCXNjaGVkdWxlKCk7 Cj4gKwl9Cj4gKwlmaW5pc2hfd2FpdCh3LT53cSwgJnJlYWR5KTsKPiArCWNsZWFyX2JpdChXQUlU SU5HLCAmdy0+ZmxhZ3MpOwo+ICsKPiArb3V0Ogo+ICsJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3Qo dy0+c2V0KSkKPiArCQl3YWtlX3VwX2F0b21pY190KHctPnNldCk7Cj4gKwo+ICsJcmV0dXJuICF0 ZXN0X2JpdChTVE9QLCAmdy0+ZmxhZ3MpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IGlndF93YWtl dXBfdGhyZWFkKHZvaWQgKmFyZykKPiArewo+ICsJc3RydWN0IGlndF93YWtldXAgKncgPSBhcmc7 Cj4gKwlzdHJ1Y3QgaW50ZWxfd2FpdCB3YWl0Owo+ICsKPiArCXdoaWxlICh3YWl0X2Zvcl9yZWFk eSh3KSkgewo+ICsJCUdFTV9CVUdfT04oa3RocmVhZF9zaG91bGRfc3RvcCgpKTsKPiArCj4gKwkJ aW50ZWxfd2FpdF9pbml0KCZ3YWl0LCB3LT5zZXFubyk7Cj4gKwkJaW50ZWxfZW5naW5lX2FkZF93 YWl0KHctPmVuZ2luZSwgJndhaXQpOwo+ICsJCWZvciAoOzspIHsKPiArCQkJc2V0X2N1cnJlbnRf c3RhdGUoVEFTS19VTklOVEVSUlVQVElCTEUpOwo+ICsJCQlpZiAoaTkxNV9zZXFub19wYXNzZWQo aW50ZWxfZW5naW5lX2dldF9zZXFubyh3LT5lbmdpbmUpLAo+ICsJCQkJCSAgICAgIHctPnNlcW5v KSkKPiArCQkJCWJyZWFrOwo+ICsKPiArCQkJaWYgKHRlc3RfYml0KFNUT1AsICZ3LT5mbGFncykp IC8qIGVtZXJnZW5jeSBlc2NhcGUgKi8KPiArCQkJCWJyZWFrOwo+ICsKPiArCQkJc2NoZWR1bGUo KTsKPiArCQl9Cj4gKwkJaW50ZWxfZW5naW5lX3JlbW92ZV93YWl0KHctPmVuZ2luZSwgJndhaXQp Owo+ICsJCV9fc2V0X2N1cnJlbnRfc3RhdGUoVEFTS19SVU5OSU5HKTsKPiArCX0KPiArCj4gKwly ZXR1cm4gMDsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgaWd0X3dha2VfYWxsX3N5bmMoYXRvbWlj X3QgKnJlYWR5LAo+ICsJCQkgICAgICBhdG9taWNfdCAqc2V0LAo+ICsJCQkgICAgICBhdG9taWNf dCAqZG9uZSwKPiArCQkJICAgICAgd2FpdF9xdWV1ZV9oZWFkX3QgKndxLAo+ICsJCQkgICAgICBp bnQgY291bnQpCj4gK3sKPiArCWF0b21pY19zZXQoc2V0LCBjb3VudCk7Cj4gKwlhdG9taWNfc2V0 KGRvbmUsIGNvdW50KTsKPiArCj4gKwlhdG9taWNfc2V0KHJlYWR5LCAwKTsKPiArCXdha2VfdXBf YWxsKHdxKTsKPiArCj4gKwl3YWl0X29uX2F0b21pY190KHNldCwgd2FpdF9hdG9taWMsIFRBU0tf VU5JTlRFUlJVUFRJQkxFKTsKPiArCWF0b21pY19zZXQocmVhZHksIGNvdW50KTsKPiArfQo+ICsK PiArc3RhdGljIGludCBpZ3Rfd2FrZXVwKHZvaWQgKmFyZykKPiArewo+ICsJSTkxNV9STkRfU1RB VEUocHJuZyk7Cj4gKwljb25zdCBpbnQgc3RhdGUgPSBUQVNLX1VOSU5URVJSVVBUSUJMRTsKPiAr CXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9IGFyZzsKPiArCXN0cnVjdCBpZ3Rfd2Fr ZXVwICp3YWl0ZXJzOwo+ICsJREVDTEFSRV9XQUlUX1FVRVVFX0hFQURfT05TVEFDSyh3cSk7Cj4g Kwljb25zdCBpbnQgY291bnQgPSA0MDk2Owo+ICsJY29uc3QgdTMyIG1heF9zZXFubyA9IGNvdW50 IC8gNDsKPiArCWF0b21pY190IHJlYWR5LCBzZXQsIGRvbmU7Cj4gKwlpbnQgZXJyID0gLUVOT01F TTsKPiArCWludCBuLCBzdGVwOwo+ICsKPiArCW1vY2tfZW5naW5lX3Jlc2V0KGVuZ2luZSk7Cj4g Kwo+ICsJd2FpdGVycyA9IGRybV9tYWxsb2NfZ2ZwKGNvdW50LCBzaXplb2YoKndhaXRlcnMpLCBH RlBfVEVNUE9SQVJZKTsKPiArCWlmICghd2FpdGVycykKPiArCQlnb3RvIG91dF9lbmdpbmVzOwo+ ICsKPiArCS8qIENyZWF0ZSBhIGxhcmdlIG51bWJlciBvZiB0aHJlYWRzLCBlYWNoIHdhaXRpbmcg b24gYSByYW5kb20gc2Vxbm8uCj4gKwkgKiBNdWx0aXBsZSB3YWl0ZXJzIHdpbGwgYmUgd2FpdGlu ZyBmb3IgdGhlIHNhbWUgc2Vxbm8uCj4gKwkgKi8KPiArCWF0b21pY19zZXQoJnJlYWR5LCBjb3Vu dCk7Cj4gKwlmb3IgKG4gPSAwOyBuIDwgY291bnQ7IG4rKykgewo+ICsJCXdhaXRlcnNbbl0ud3Eg PSAmd3E7Cj4gKwkJd2FpdGVyc1tuXS5yZWFkeSA9ICZyZWFkeTsKPiArCQl3YWl0ZXJzW25dLnNl dCA9ICZzZXQ7Cj4gKwkJd2FpdGVyc1tuXS5kb25lID0gJmRvbmU7Cj4gKwkJd2FpdGVyc1tuXS5l bmdpbmUgPSBlbmdpbmU7Cj4gKwkJd2FpdGVyc1tuXS5mbGFncyA9IDA7Cj4gKwo+ICsJCXdhaXRl cnNbbl0udHNrID0ga3RocmVhZF9ydW4oaWd0X3dha2V1cF90aHJlYWQsICZ3YWl0ZXJzW25dLAo+ ICsJCQkJCSAgICAgImk5MTUvaWd0OiVkIiwgbik7Cj4gKwkJaWYgKElTX0VSUih3YWl0ZXJzW25d LnRzaykpCj4gKwkJCWdvdG8gb3V0X3dhaXRlcnM7Cj4gKwo+ICsJCWdldF90YXNrX3N0cnVjdCh3 YWl0ZXJzW25dLnRzayk7Cj4gKwl9Cj4gKwo+ICsJZm9yIChzdGVwID0gMTsgc3RlcCA8PSBtYXhf c2Vxbm87IHN0ZXAgPDw9IDEpIHsKPiArCQl1MzIgc2Vxbm87Cj4gKwo+ICsJCS8qIFRoZSB3YWl0 ZXIgdGhyZWFkcyBzdGFydCBwYXVzZWQgYXMgd2UgYXNzaWduIHRoZW0gYSByYW5kb20KPiArCQkg KiBzZXFubyBhbmQgcmVzZXQgdGhlIGVuZ2luZS4gT25jZSB0aGUgZW5naW5lIGlzIHJlc2V0LAo+ ICsJCSAqIHdlIHNpZ25hbCB0aGF0IHRoZSB0aHJlYWRzIG1heSBiZWdpbiB0aGVpciwgYW5kIHdl IHdhaXQKPiArCQkgKiB1bnRpbCBhbGwgdGhyZWFkcyBhcmUgd29rZW4uCj4gKwkJICovCj4gKwkJ Zm9yIChuID0gMDsgbiA8IGNvdW50OyBuKyspIHsKPiArCQkJR0VNX0JVR19PTighdGVzdF9iaXQo V0FJVElORywgJndhaXRlcnNbbl0uZmxhZ3MpKTsKCkxvb2tzIGxpa2UgYSByYWNlIGNvbmRpdGlv biBiZXR3ZWVuIHRocmVhZCBzdGFydHVwIGFuZCBjaGVja2luZyB0aGlzIApiaXQuIEkgdGhpbmsg dGhlIGFzc2VydCBpcyBqdXN0IHVubmVjZXNzYXJ5LgoKPiArCQkJd2FpdGVyc1tuXS5zZXFubyA9 Cj4gKwkJCQkxICsgcHJhbmRvbV91MzJfc3RhdGUoJnBybmcpICUgbWF4X3NlcW5vOwo+ICsJCX0K PiArCQltb2NrX3NlcW5vX2FkdmFuY2UoZW5naW5lLCAwKTsKPiArCQlpZ3Rfd2FrZV9hbGxfc3lu YygmcmVhZHksICZzZXQsICZkb25lLCAmd3EsIGNvdW50KTsKPiArCj4gKwkJLyogU2ltdWxhdGUg R1BVIGRvaW5nIGNodW5rcyBvZiB3b3JrLCB3aXRoIG9uZSBvciBtb3JlIHNlcW5vCj4gKwkJICog YXBwZWFyaW5nIHRvIGZpbmlzaCBhdCB0aGUgc2FtZSB0aW1lLiBBIHJhbmRvbSBudW1iZXIgb2YK PiArCQkgKiB0aHJlYWRzIHdpbGwgYmUgd2FpdGluZyB1cG9uIHRoZSB1cGRhdGUgYW5kIGhvcGVm dWxseSBiZQo+ICsJCSAqIHdva2VuLgo+ICsJCSAqLwo+ICsJCWZvciAoc2Vxbm8gPSAxOyBzZXFu byA8PSBtYXhfc2Vxbm8gKyBzdGVwOyBzZXFubyArPSBzdGVwKSB7Cj4gKwkJCXVzbGVlcF9yYW5n ZSg1MCwgNTAwKTsKPiArCQkJbW9ja19zZXFub19hZHZhbmNlKGVuZ2luZSwgc2Vxbm8pOwo+ICsJ CX0KPiArCQlHRU1fQlVHX09OKGludGVsX2VuZ2luZV9nZXRfc2Vxbm8oZW5naW5lKSA8IDEgKyBt YXhfc2Vxbm8pOwo+ICsKPiArCQkvKiBXaXRoIHRoZSBzZXFubyBub3cgYmV5b25kIGFueSBvZiB0 aGUgd2FpdGluZyB0aHJlYWRzLCB0aGV5Cj4gKwkJICogc2hvdWxkIGFsbCBiZSB3b2tlbiwgc2Vl IHRoYXQgdGhleSBhcmUgY29tcGxldGUgYW5kIHNpZ25hbAo+ICsJCSAqIHRoYXQgdGhleSBhcmUg cmVhZHkgZm9yIHRoZSBuZXh0IHRlc3QuIFdlIHdhaXQgdW50aWwgYWxsCj4gKwkJICogdGhyZWFk cyBhcmUgd2FpdGluZyBmb3IgdXMgKGFuZCBub3QgYSBzZXFubykgYWdhaW4uCj4gKwkJICovCj4g KwkJZXJyID0gd2FpdF9vbl9hdG9taWNfdCgmZG9uZSwgd2FpdF9hdG9taWNfdGltZW91dCwgc3Rh dGUpOwo+ICsJCWlmIChlcnIpIHsKPiArCQkJcHJfZXJyKCJUaW1lZCBvdXQgd2FpdGluZyBmb3Ig JWQgcmVtYWluaW5nIHdhaXRlcnNcbiIsCj4gKwkJCSAgICAgICBhdG9taWNfcmVhZCgmZG9uZSkp Owo+ICsJCQlicmVhazsKPiArCQl9Cj4gKwo+ICsJCWVyciA9IGNoZWNrX3JidHJlZV9lbXB0eShl bmdpbmUpOwo+ICsJCWlmIChlcnIpCj4gKwkJCWJyZWFrOwo+ICsJfQo+ICsKPiArb3V0X3dhaXRl cnM6Cj4gKwltb2NrX3NlcW5vX2FkdmFuY2UoZW5naW5lLCBJTlRfTUFYKTsgLyogd2FrZXVwIGFu eSBicm9rZW4gd2FpdGVycyAqLwo+ICsJZm9yIChuID0gMDsgbiA8IGNvdW50OyBuKyspIHsKPiAr CQlpZiAoSVNfRVJSKHdhaXRlcnNbbl0udHNrKSkKPiArCQkJYnJlYWs7Cj4gKwo+ICsJCXNldF9i aXQoU1RPUCwgJndhaXRlcnNbbl0uZmxhZ3MpOwo+ICsJfQo+ICsJaWd0X3dha2VfYWxsX3N5bmMo JnJlYWR5LCAmc2V0LCAmZG9uZSwgJndxLCBuKTsKPiArCj4gKwlmb3IgKG4gPSAwOyBuIDwgY291 bnQ7IG4rKykgewo+ICsJCWlmIChJU19FUlIod2FpdGVyc1tuXS50c2spKQo+ICsJCQlicmVhazsK PiArCj4gKwkJa3RocmVhZF9zdG9wKHdhaXRlcnNbbl0udHNrKTsKPiArCQlwdXRfdGFza19zdHJ1 Y3Qod2FpdGVyc1tuXS50c2spOwo+ICsJfQo+ICsKPiArCWRybV9mcmVlX2xhcmdlKHdhaXRlcnMp Owo+ICtvdXRfZW5naW5lczoKPiArCW1vY2tfZW5naW5lX2ZsdXNoKGVuZ2luZSk7Cj4gKwlyZXR1 cm4gZXJyOwo+ICt9Cj4gKwo+ICBpbnQgaW50ZWxfYnJlYWRjcnVtYnNfbW9ja19zZWxmdGVzdHMo dm9pZCkKPiAgewo+ICAJc3RhdGljIGNvbnN0IHN0cnVjdCBpOTE1X3N1YnRlc3QgdGVzdHNbXSA9 IHsKPiAgCQlTVUJURVNUKGlndF9yYW5kb21faW5zZXJ0X3JlbW92ZSksCj4gIAkJU1VCVEVTVChp Z3RfaW5zZXJ0X2NvbXBsZXRlKSwKPiArCQlTVUJURVNUKGlndF93YWtldXApLAo+ICAJfTsKPiAg CXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZTsKPiAgCWludCBlcnI7Cj4KClRoYW5rcyBm b3IgYWRkaW5nIHRoZSBjb21tZW50cy4gSXQgd2lsbCBwYXkgb2ZmIGluIHRoZSBmdXR1cmUgSSBh bSBzdXJlLgoKT3RoZXIgdGhhbiB0aGUgZG9kZ3kgYXNzZXJ0IGl0IGxvb2tzIGdvb2QgdG8gbWUu CgpSZWdhcmRzLAoKVHZydGtvCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lu dGVsLWdmeAo=