From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH v4] drm/i915/selftests: Exercise context switching in parallel Date: Mon, 30 Sep 2019 17:18:26 +0100 Message-ID: References: <20190930113106.27596-1-chris@chris-wilson.co.uk> <20190930144919.27992-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 mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 17B866E48E for ; Mon, 30 Sep 2019 16:18:28 +0000 (UTC) In-Reply-To: <20190930144919.27992-1-chris@chris-wilson.co.uk> Content-Language: en-US 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 Ck9uIDMwLzA5LzIwMTkgMTU6NDksIENocmlzIFdpbHNvbiB3cm90ZToKPiBXZSBjdXJyZW50bHkg dGVzdCBjb250ZXh0IHN3aXRjaGluZyBvbiBlYWNoIGVuZ2luZSBhcyBhIGJhc2ljIHN0cmVzcwo+ IHRlc3QgKGp1c3QgdmVyaWZ5aW5nIHRoYXQgbm90aGluZyBleHBsb2RlcyBpZiB3ZSBleGVjdXRl IDIgcmVxdWVzdHMgZnJvbQo+IGRpZmZlcmVudCBjb250ZXh0cyBzZXF1ZW50aWFsbHkpLiBXaGF0 IHdlIGhhdmUgbm90IHRlc3RlZCBpcyB3aGF0Cj4gaGFwcGVucyBpZiB3ZSB0cnkgYW5kIGRvIHNv IG9uIGFsbCBhdmFpbGFibGUgZW5naW5lcyBzaW11bHRhbmVvdXNseSwKPiBwdXR0aW5nIG91ciBT VyBhbmQgdGhlIEhXIHVuZGVyIHRoZSBtYXhpbWFsIHN0cmVzcy4KPiAKPiB2MjogQ2xvbmUgdGhl IHNldCBvZiBlbmdpbmVzIGZyb20gdGhlIGZpcnN0IGNvbnRleHQgaW50byB0aGUgc2Vjb25kYXJ5 Cj4gY29udGV4dHMuCj4gCj4gU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJp cy13aWxzb24uY28udWs+Cj4gQ2M6IE1pa2EgS3VvcHBhbGEgPG1pa2Eua3VvcHBhbGFAbGludXgu aW50ZWwuY29tPgo+IENjOiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29t Pgo+IC0tLQo+ICAgLi4uL2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaTkxNV9nZW1fY29udGV4dC5j IHwgMjI1ICsrKysrKysrKysrKysrKysrKwo+ICAgMSBmaWxlIGNoYW5nZWQsIDIyNSBpbnNlcnRp b25zKCspCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVz dHMvaTkxNV9nZW1fY29udGV4dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0 cy9pOTE1X2dlbV9jb250ZXh0LmMKPiBpbmRleCBkYzI1YmNjM2UzNzIuLjgxYTgzYzM0NDA0YyAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2k5MTVfZ2Vt X2NvbnRleHQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaTkx NV9nZW1fY29udGV4dC5jCj4gQEAgLTE1Niw2ICsxNTYsMjMwIEBAIHN0YXRpYyBpbnQgbGl2ZV9u b3Bfc3dpdGNoKHZvaWQgKmFyZykKPiAgIAlyZXR1cm4gZXJyOwo+ICAgfQo+ICAgCj4gK3N0cnVj dCBwYXJhbGxlbF9zd2l0Y2ggewo+ICsJc3RydWN0IHRhc2tfc3RydWN0ICp0c2s7Cj4gKwlzdHJ1 Y3QgaW50ZWxfY29udGV4dCAqY2VbMl07Cj4gK307Cj4gKwo+ICtzdGF0aWMgaW50IF9fbGl2ZV9w YXJhbGxlbF9zd2l0Y2gxKHZvaWQgKmRhdGEpCj4gK3sKPiArCXN0cnVjdCBwYXJhbGxlbF9zd2l0 Y2ggKmFyZyA9IGRhdGE7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IGFyZy0+ Y2VbMF0tPmVuZ2luZS0+aTkxNTsKPiArCUlHVF9USU1FT1VUKGVuZF90aW1lKTsKPiArCXVuc2ln bmVkIGxvbmcgY291bnQ7Cj4gKwo+ICsJY291bnQgPSAwOwo+ICsJZG8gewo+ICsJCXN0cnVjdCBp OTE1X3JlcXVlc3QgKnJxID0gTlVMTDsKPiArCQlpbnQgZXJyLCBuOwo+ICsKPiArCQlmb3IgKG4g PSAwOyBuIDwgQVJSQVlfU0laRShhcmctPmNlKTsgbisrKSB7Cj4gKwkJCWk5MTVfcmVxdWVzdF9w dXQocnEpOwo+ICsKPiArCQkJbXV0ZXhfbG9jaygmaTkxNS0+ZHJtLnN0cnVjdF9tdXRleCk7Cj4g KwkJCXJxID0gaTkxNV9yZXF1ZXN0X2NyZWF0ZShhcmctPmNlW25dKTsKPiArCQkJaWYgKElTX0VS UihycSkpIHsKPiArCQkJCW11dGV4X3VubG9jaygmaTkxNS0+ZHJtLnN0cnVjdF9tdXRleCk7Cj4g KwkJCQlyZXR1cm4gUFRSX0VSUihycSk7Cj4gKwkJCX0KPiArCj4gKwkJCWk5MTVfcmVxdWVzdF9n ZXQocnEpOwo+ICsJCQlpOTE1X3JlcXVlc3RfYWRkKHJxKTsKPiArCQkJbXV0ZXhfdW5sb2NrKCZp OTE1LT5kcm0uc3RydWN0X211dGV4KTsKPiArCQl9Cj4gKwo+ICsJCWVyciA9IDA7Cj4gKwkJaWYg KGk5MTVfcmVxdWVzdF93YWl0KHJxLCAwLCBIWiAvIDUpIDwgMCkKPiArCQkJZXJyID0gLUVUSU1F Owo+ICsJCWk5MTVfcmVxdWVzdF9wdXQocnEpOwo+ICsJCWlmIChlcnIpCj4gKwkJCXJldHVybiBl cnI7Cj4gKwo+ICsJCWNvdW50Kys7Cj4gKwl9IHdoaWxlICghX19pZ3RfdGltZW91dChlbmRfdGlt ZSwgTlVMTCkpOwo+ICsKPiArCXByX2luZm8oIiVzOiAlbHUgc3dpdGNoZXMgKHN5bmMpXG4iLCBh cmctPmNlWzBdLT5lbmdpbmUtPm5hbWUsIGNvdW50KTsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ ICtzdGF0aWMgaW50IF9fbGl2ZV9wYXJhbGxlbF9zd2l0Y2hOKHZvaWQgKmRhdGEpCj4gK3sKPiAr CXN0cnVjdCBwYXJhbGxlbF9zd2l0Y2ggKmFyZyA9IGRhdGE7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqaTkxNSA9IGFyZy0+Y2VbMF0tPmVuZ2luZS0+aTkxNTsKPiArCUlHVF9USU1FT1VU KGVuZF90aW1lKTsKPiArCXVuc2lnbmVkIGxvbmcgY291bnQ7Cj4gKwlpbnQgbjsKPiArCj4gKwlj b3VudCA9IDA7Cj4gKwlkbyB7Cj4gKwkJZm9yIChuID0gMDsgbiA8IEFSUkFZX1NJWkUoYXJnLT5j ZSk7IG4rKykgewo+ICsJCQlzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycTsKPiArCj4gKwkJCW11dGV4 X2xvY2soJmk5MTUtPmRybS5zdHJ1Y3RfbXV0ZXgpOwo+ICsJCQlycSA9IGk5MTVfcmVxdWVzdF9j cmVhdGUoYXJnLT5jZVtuXSk7Cj4gKwkJCWlmIChJU19FUlIocnEpKSB7Cj4gKwkJCQltdXRleF91 bmxvY2soJmk5MTUtPmRybS5zdHJ1Y3RfbXV0ZXgpOwo+ICsJCQkJcmV0dXJuIFBUUl9FUlIocnEp Owo+ICsJCQl9Cj4gKwo+ICsJCQlpOTE1X3JlcXVlc3RfYWRkKHJxKTsKPiArCQkJbXV0ZXhfdW5s b2NrKCZpOTE1LT5kcm0uc3RydWN0X211dGV4KTsKPiArCQl9Cj4gKwo+ICsJCWNvdW50Kys7Cj4g Kwl9IHdoaWxlICghX19pZ3RfdGltZW91dChlbmRfdGltZSwgTlVMTCkpOwo+ICsKPiArCXByX2lu Zm8oIiVzOiAlbHUgc3dpdGNoZXMgKG1hbnkpXG4iLCBhcmctPmNlWzBdLT5lbmdpbmUtPm5hbWUs IGNvdW50KTsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IGxpdmVfcGFyYWxs ZWxfc3dpdGNoKHZvaWQgKmFyZykKPiArewo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5 MTUgPSBhcmc7Cj4gKwlzdGF0aWMgaW50ICgqIGNvbnN0IGZ1bmNbXSkodm9pZCAqYXJnKSA9IHsK PiArCQlfX2xpdmVfcGFyYWxsZWxfc3dpdGNoMSwKPiArCQlfX2xpdmVfcGFyYWxsZWxfc3dpdGNo TiwKPiArCQlOVUxMLAo+ICsJfTsKPiArCXN0cnVjdCBwYXJhbGxlbF9zd2l0Y2ggKmRhdGEgPSBO VUxMOwo+ICsJc3RydWN0IGk5MTVfZ2VtX2VuZ2luZXMgKmVuZ2luZXM7Cj4gKwlzdHJ1Y3QgaTkx NV9nZW1fZW5naW5lc19pdGVyIGl0Owo+ICsJaW50ICgqIGNvbnN0ICpmbikodm9pZCAqYXJnKTsK PiArCXN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHg7Cj4gKwlzdHJ1Y3QgaW50ZWxfY29udGV4 dCAqY2U7Cj4gKwlzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGU7Cj4gKwlpbnQgbiwgbSwgY291bnQ7Cj4g KwlpbnQgZXJyID0gMDsKPiArCj4gKwkvKgo+ICsJICogQ2hlY2sgd2UgY2FuIHByb2Nlc3Mgc3dp dGNoZXMgb24gYWxsIGVuZ2luZXMgc2ltdWx0YW5lb3VzbHkuCj4gKwkgKi8KPiArCj4gKwlpZiAo IURSSVZFUl9DQVBTKGk5MTUpLT5oYXNfbG9naWNhbF9jb250ZXh0cykKPiArCQlyZXR1cm4gMDsK PiArCj4gKwlmaWxlID0gbW9ja19maWxlKGk5MTUpOwo+ICsJaWYgKElTX0VSUihmaWxlKSkKPiAr CQlyZXR1cm4gUFRSX0VSUihmaWxlKTsKPiArCj4gKwltdXRleF9sb2NrKCZpOTE1LT5kcm0uc3Ry dWN0X211dGV4KTsKPiArCj4gKwljdHggPSBsaXZlX2NvbnRleHQoaTkxNSwgZmlsZSk7Cj4gKwlp ZiAoSVNfRVJSKGN0eCkpIHsKPiArCQllcnIgPSBQVFJfRVJSKGN0eCk7Cj4gKwkJZ290byBvdXRf bG9ja2VkOwo+ICsJfQo+ICsKPiArCWVuZ2luZXMgPSBpOTE1X2dlbV9jb250ZXh0X2xvY2tfZW5n aW5lcyhjdHgpOwo+ICsJY291bnQgPSBlbmdpbmVzLT5udW1fZW5naW5lczsKPiArCj4gKwlkYXRh ID0ga2NhbGxvYyhjb3VudCwgc2l6ZW9mKCpkYXRhKSwgR0ZQX0tFUk5FTCk7Cj4gKwlpZiAoIWRh dGEpIHsKPiArCQlpOTE1X2dlbV9jb250ZXh0X3VubG9ja19lbmdpbmVzKGN0eCk7Cj4gKwkJZXJy ID0gLUVOT01FTTsKPiArCQlnb3RvIG91dF9sb2NrZWQ7Cj4gKwl9Cj4gKwo+ICsJbSA9IDA7IC8q IFVzZSB0aGUgZmlyc3QgY29udGV4dCBhcyBvdXIgdGVtcGxhdGUgZm9yIHRoZSBlbmdpbmVzICov Cj4gKwlmb3JfZWFjaF9nZW1fZW5naW5lKGNlLCBlbmdpbmVzLCBpdCkgewo+ICsJCWVyciA9IGlu dGVsX2NvbnRleHRfcGluKGNlKTsKPiArCQlpZiAoZXJyKSB7Cj4gKwkJCWk5MTVfZ2VtX2NvbnRl eHRfdW5sb2NrX2VuZ2luZXMoY3R4KTsKPiArCQkJZ290byBvdXRfbG9ja2VkOwo+ICsJCX0KPiAr CQlkYXRhW20rK10uY2VbMF0gPSBpbnRlbF9jb250ZXh0X2dldChjZSk7Cj4gKwl9Cj4gKwlpOTE1 X2dlbV9jb250ZXh0X3VubG9ja19lbmdpbmVzKGN0eCk7Cj4gKwo+ICsJLyogQ2xvbmUgdGhlIHNh bWUgc2V0IG9mIGVuZ2luZXMgaW4gdGhlIG90aGVyIGNvbnRleHRzICovCj4gKwlmb3IgKG4gPSAx OyBuIDwgQVJSQVlfU0laRShkYXRhLT5jZSk7IG4rKykgewo+ICsJCWN0eCA9IGxpdmVfY29udGV4 dChpOTE1LCBmaWxlKTsKPiArCQlpZiAoSVNfRVJSKGN0eCkpIHsKPiArCQkJZXJyID0gUFRSX0VS UihjdHgpOwo+ICsJCQlnb3RvIG91dF9sb2NrZWQ7Cj4gKwkJfQo+ICsKPiArCQlmb3IgKG0gPSAw OyBtIDwgY291bnQ7IG0rKykgewo+ICsJCQlpZiAoIWRhdGFbbV0uY2VbMF0pCj4gKwkJCQljb250 aW51ZTsKPiArCj4gKwkJCWNlID0gaW50ZWxfY29udGV4dF9jcmVhdGUoY3R4LCBkYXRhW21dLmNl WzBdLT5lbmdpbmUpOwo+ICsJCQlpZiAoSVNfRVJSKGNlKSkKPiArCQkJCWdvdG8gb3V0X2xvY2tl ZDsKPiArCj4gKwkJCWVyciA9IGludGVsX2NvbnRleHRfcGluKGNlKTsKPiArCQkJaWYgKGVycikg ewo+ICsJCQkJaW50ZWxfY29udGV4dF9wdXQoY2UpOwo+ICsJCQkJZ290byBvdXRfbG9ja2VkOwo+ ICsJCQl9Cj4gKwo+ICsJCQlkYXRhW21dLmNlW25dID0gY2U7Cj4gKwkJfQo+ICsJfQo+ICsKPiAr CW11dGV4X3VubG9jaygmaTkxNS0+ZHJtLnN0cnVjdF9tdXRleCk7Cj4gKwo+ICsJZm9yIChmbiA9 IGZ1bmM7ICFlcnIgJiYgKmZuOyBmbisrKSB7Cj4gKwkJc3RydWN0IGlndF9saXZlX3Rlc3QgdDsK PiArCQlpbnQgbjsKPiArCj4gKwkJbXV0ZXhfbG9jaygmaTkxNS0+ZHJtLnN0cnVjdF9tdXRleCk7 Cj4gKwkJZXJyID0gaWd0X2xpdmVfdGVzdF9iZWdpbigmdCwgaTkxNSwgX19mdW5jX18sICIiKTsK PiArCQltdXRleF91bmxvY2soJmk5MTUtPmRybS5zdHJ1Y3RfbXV0ZXgpOwo+ICsJCWlmIChlcnIp Cj4gKwkJCWJyZWFrOwo+ICsKPiArCQlmb3IgKG4gPSAwOyBuIDwgY291bnQ7IG4rKykgewo+ICsJ CQlpZiAoZGF0YVtuXS5jZVswXSA9PSBOVUxMKQo+ICsJCQkJY29udGludWU7Cj4gKwo+ICsJCQlk YXRhW25dLnRzayA9IGt0aHJlYWRfcnVuKCpmbiwgJmRhdGFbbl0sCj4gKwkJCQkJCSAgImlndC9w YXJhbGxlbDolcyIsCj4gKwkJCQkJCSAgZGF0YVtuXS5jZVswXS0+ZW5naW5lLT5uYW1lKTsKPiAr CQkJaWYgKElTX0VSUihkYXRhW25dLnRzaykpIHsKPiArCQkJCWVyciA9IFBUUl9FUlIoZGF0YVtu XS50c2spOwo+ICsJCQkJYnJlYWs7Cj4gKwkJCX0KPiArCQkJZ2V0X3Rhc2tfc3RydWN0KGRhdGFb bl0udHNrKTsKPiArCQl9Cj4gKwo+ICsJCWZvciAobiA9IDA7IG4gPCBjb3VudDsgbisrKSB7Cj4g KwkJCWludCBzdGF0dXM7Cj4gKwo+ICsJCQlpZiAoSVNfRVJSX09SX05VTEwoZGF0YVtuXS50c2sp KQo+ICsJCQkJY29udGludWU7Cj4gKwo+ICsJCQlzdGF0dXMgPSBrdGhyZWFkX3N0b3AoZGF0YVtu XS50c2spOwo+ICsJCQlpZiAoc3RhdHVzICYmICFlcnIpCj4gKwkJCQllcnIgPSBzdGF0dXM7Cj4g Kwo+ICsJCQlwdXRfdGFza19zdHJ1Y3QoZGF0YVtuXS50c2spOwo+ICsJCQlkYXRhW25dLnRzayA9 IE5VTEw7Cj4gKwkJfQo+ICsKPiArCQltdXRleF9sb2NrKCZpOTE1LT5kcm0uc3RydWN0X211dGV4 KTsKPiArCQlpZiAoaWd0X2xpdmVfdGVzdF9lbmQoJnQpKQo+ICsJCQllcnIgPSAtRUlPOwo+ICsJ CW11dGV4X3VubG9jaygmaTkxNS0+ZHJtLnN0cnVjdF9tdXRleCk7Cj4gKwl9Cj4gKwo+ICsJbXV0 ZXhfbG9jaygmaTkxNS0+ZHJtLnN0cnVjdF9tdXRleCk7Cj4gK291dF9sb2NrZWQ6Cj4gKwlmb3Ig KG4gPSAwOyBuIDwgY291bnQ7IG4rKykgewo+ICsJCWZvciAobSA9IDA7IG0gPCBBUlJBWV9TSVpF KGRhdGEtPmNlKTsgbSsrKSB7Cj4gKwkJCWlmICghZGF0YVtuXS5jZVttXSkKPiArCQkJCWNvbnRp bnVlOwo+ICsKPiArCQkJaW50ZWxfY29udGV4dF91bnBpbihkYXRhW25dLmNlW21dKTsKPiArCQkJ aW50ZWxfY29udGV4dF9wdXQoZGF0YVtuXS5jZVttXSk7Cj4gKwkJfQo+ICsJfQo+ICsJbXV0ZXhf dW5sb2NrKCZpOTE1LT5kcm0uc3RydWN0X211dGV4KTsKPiArCWtmcmVlKGRhdGEpOwo+ICsJbW9j a19maWxlX2ZyZWUoaTkxNSwgZmlsZSk7Cj4gKwlyZXR1cm4gZXJyOwo+ICt9Cj4gKwo+ICAgc3Rh dGljIHVuc2lnbmVkIGxvbmcgcmVhbF9wYWdlX2NvdW50KHN0cnVjdCBkcm1faTkxNV9nZW1fb2Jq ZWN0ICpvYmopCj4gICB7Cj4gICAJcmV0dXJuIGh1Z2VfZ2VtX29iamVjdF9waHlzX3NpemUob2Jq KSA+PiBQQUdFX1NISUZUOwo+IEBAIC0xNjgxLDYgKzE5MDUsNyBAQCBpbnQgaTkxNV9nZW1fY29u dGV4dF9saXZlX3NlbGZ0ZXN0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKPiAgIHsK PiAgIAlzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfc3VidGVzdCB0ZXN0c1tdID0gewo+ICAgCQlT VUJURVNUKGxpdmVfbm9wX3N3aXRjaCksCj4gKwkJU1VCVEVTVChsaXZlX3BhcmFsbGVsX3N3aXRj aCksCj4gICAJCVNVQlRFU1QoaWd0X2N0eF9leGVjKSwKPiAgIAkJU1VCVEVTVChpZ3RfY3R4X3Jl YWRvbmx5KSwKPiAgIAkJU1VCVEVTVChpZ3RfY3R4X3NzZXUpLAo+IAoKUmV2aWV3ZWQtYnk6IFR2 cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+CgpSZWdhcmRzLAoKVHZydGtv Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==