From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 19/46] drm/i915: Test request ordering between engines Date: Thu, 2 Feb 2017 09:08:38 +0000 Message-ID: <20170202090905.29028-20-chris@chris-wilson.co.uk> References: <20170202090905.29028-1-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-wm0-x243.google.com (mail-wm0-x243.google.com [IPv6:2a00:1450:400c:c09::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1B04B6E97C for ; Thu, 2 Feb 2017 09:09:30 +0000 (UTC) Received: by mail-wm0-x243.google.com with SMTP id v77so2746580wmv.0 for ; Thu, 02 Feb 2017 01:09:30 -0800 (PST) In-Reply-To: <20170202090905.29028-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: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org QSByZXF1ZXN0IG9uIG9uZSBlbmdpbmUgd2l0aCBhIGRlcGVuZGVuY3kgb24gYSByZXF1ZXN0IG9u IGFub3RoZXIgZW5naW5lCm11c3Qgd2FpdCBmb3IgY29tcGxldGlvbiBvZiB0aGUgZmlyc3QgcmVx dWVzdCBiZWZvcmUgc3RhcnRpbmcuCgpTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlz QGNocmlzLXdpbHNvbi5jby51az4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMv aTkxNV9nZW1fcmVxdWVzdC5jIHwgMTM3ICsrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBj aGFuZ2VkLCAxMzcgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9yZXF1ZXN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9z ZWxmdGVzdHMvaTkxNV9nZW1fcmVxdWVzdC5jCmluZGV4IDU3MGNmYTE5NmNhNy4uZjljMTcxZDFh MDViIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1f cmVxdWVzdC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9y ZXF1ZXN0LmMKQEAgLTQ3MywxMSArNDczLDE0OCBAQCBzdGF0aWMgaW50IGxpdmVfYWxsX2VuZ2lu ZXModm9pZCAqYXJnKQogCXJldHVybiBlcnI7CiB9CiAKK3N0YXRpYyBpbnQgbGl2ZV9zZXF1ZW50 aWFsX2VuZ2luZXModm9pZCAqYXJnKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1 ID0gYXJnOworCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdFtJOTE1X05VTV9F TkdJTkVTXSA9IHt9OworCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcHJldiA9IE5VTEw7 CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lOworCXN0cnVjdCBsaXZlX3Rlc3QgdDsK Kwl1bnNpZ25lZCBpbnQgaWQ7CisJaW50IGVycjsKKworCS8qIENoZWNrIHdlIGNhbiBzdWJtaXQg cmVxdWVzdHMgdG8gYWxsIGVuZ2luZXMgc2VxdWVudGlhbGx5LCBzdWNoCisJICogdGhhdCBlYWNo IHN1Y2Nlc3NpdmUgcmVxdWVzdCB3YWl0cyBmb3IgdGhlIGVhcmxpZXIgb25lcy4gVGhpcworCSAq IHRlc3RzIHRoYXQgd2UgZG9uJ3QgZXhlY3V0ZSByZXF1ZXN0cyBvdXQgb2Ygb3JkZXIsIGV2ZW4g dGhvdWdoCisJICogdGhleSBhcmUgcnVubmluZyBvbiBpbmRlcGVuZGVudCBlbmdpbmVzLgorCSAq LworCisJbXV0ZXhfbG9jaygmaTkxNS0+ZHJtLnN0cnVjdF9tdXRleCk7CisKKwllcnIgPSBiZWdp bl9saXZlX3Rlc3QoJnQsIGk5MTUsIF9fZnVuY19fLCAiIik7CisJaWYgKGVycikKKwkJZ290byBv dXRfdW5sb2NrOworCisJZm9yX2VhY2hfZW5naW5lKGVuZ2luZSwgaTkxNSwgaWQpIHsKKwkJc3Ry dWN0IGk5MTVfdm1hICpiYXRjaDsKKworCQliYXRjaCA9IHJlY3Vyc2l2ZV9iYXRjaChpOTE1KTsK KwkJaWYgKElTX0VSUihiYXRjaCkpIHsKKwkJCWVyciA9IFBUUl9FUlIoYmF0Y2gpOworCQkJcHJf ZXJyKCIlczogVW5hYmxlIHRvIGNyZWF0ZSBiYXRjaCBmb3IgJXMsIGVycj0lZFxuIiwKKwkJCSAg ICAgICBfX2Z1bmNfXywgZW5naW5lLT5uYW1lLCBlcnIpOworCQkJZ290byBvdXRfdW5sb2NrOwor CQl9CisKKwkJcmVxdWVzdFtpZF0gPSBpOTE1X2dlbV9yZXF1ZXN0X2FsbG9jKGVuZ2luZSwKKwkJ CQkJCSAgICAgaTkxNS0+a2VybmVsX2NvbnRleHQpOworCQlpZiAoSVNfRVJSKHJlcXVlc3RbaWRd KSkgeworCQkJZXJyID0gUFRSX0VSUihyZXF1ZXN0W2lkXSk7CisJCQlwcl9lcnIoIiVzOiBSZXF1 ZXN0IGFsbG9jYXRpb24gZmFpbGVkIGZvciAlcyB3aXRoIGVycj0lZFxuIiwKKwkJCSAgICAgICBf X2Z1bmNfXywgZW5naW5lLT5uYW1lLCBlcnIpOworCQkJZ290byBvdXRfcmVxdWVzdDsKKwkJfQor CisJCWlmIChwcmV2KSB7CisJCQllcnIgPSBpOTE1X2dlbV9yZXF1ZXN0X2F3YWl0X2RtYV9mZW5j ZShyZXF1ZXN0W2lkXSwKKwkJCQkJCQkgICAgICAgJnByZXYtPmZlbmNlKTsKKwkJCWlmIChlcnIp IHsKKwkJCQlpOTE1X2FkZF9yZXF1ZXN0KHJlcXVlc3RbaWRdKTsKKwkJCQlwcl9lcnIoIiVzOiBS ZXF1ZXN0IGF3YWl0IGZhaWxlZCBmb3IgJXMgd2l0aCBlcnI9JWRcbiIsCisJCQkJICAgICAgIF9f ZnVuY19fLCBlbmdpbmUtPm5hbWUsIGVycik7CisJCQkJZ290byBvdXRfcmVxdWVzdDsKKwkJCX0K KwkJfQorCisJCWVyciA9IGVuZ2luZS0+ZW1pdF9mbHVzaChyZXF1ZXN0W2lkXSwgRU1JVF9JTlZB TElEQVRFKTsKKwkJR0VNX0JVR19PTihlcnIpOworCisJCWVyciA9IGk5MTVfc3dpdGNoX2NvbnRl eHQocmVxdWVzdFtpZF0pOworCQlHRU1fQlVHX09OKGVycik7CisKKwkJZXJyID0gZW5naW5lLT5l bWl0X2JiX3N0YXJ0KHJlcXVlc3RbaWRdLAorCQkJCQkgICAgYmF0Y2gtPm5vZGUuc3RhcnQsCisJ CQkJCSAgICBiYXRjaC0+bm9kZS5zaXplLAorCQkJCQkgICAgMCk7CisJCUdFTV9CVUdfT04oZXJy KTsKKwkJcmVxdWVzdFtpZF0tPmJhdGNoID0gYmF0Y2g7CisKKwkJaTkxNV92bWFfbW92ZV90b19h Y3RpdmUoYmF0Y2gsIHJlcXVlc3RbaWRdLCAwKTsKKwkJaTkxNV9nZW1fb2JqZWN0X3NldF9hY3Rp dmVfcmVmZXJlbmNlKGJhdGNoLT5vYmopOworCQlpOTE1X3ZtYV9nZXQoYmF0Y2gpOworCisJCWk5 MTVfZ2VtX3JlcXVlc3RfZ2V0KHJlcXVlc3RbaWRdKTsKKwkJaTkxNV9hZGRfcmVxdWVzdChyZXF1 ZXN0W2lkXSk7CisKKwkJcHJldiA9IHJlcXVlc3RbaWRdOworCX0KKworCWZvcl9lYWNoX2VuZ2lu ZShlbmdpbmUsIGk5MTUsIGlkKSB7CisJCWxvbmcgdGltZW91dDsKKwkJdTMyICpjbWQ7CisKKwkJ aWYgKGk5MTVfZ2VtX3JlcXVlc3RfY29tcGxldGVkKHJlcXVlc3RbaWRdKSkgeworCQkJcHJfZXJy KCIlcyglcyk6IHJlcXVlc3QgY29tcGxldGVkIHRvbyBlYXJseSFcbiIsCisJCQkgICAgICAgX19m dW5jX18sIGVuZ2luZS0+bmFtZSk7CisJCQllcnIgPSAtRUlOVkFMOworCQkJZ290byBvdXRfcmVx dWVzdDsKKwkJfQorCisJCWNtZCA9IGk5MTVfZ2VtX29iamVjdF9waW5fbWFwKHJlcXVlc3RbaWRd LT5iYXRjaC0+b2JqLAorCQkJCQkgICAgICBJOTE1X01BUF9XQyk7CisJCWlmIChJU19FUlIoY21k KSkgeworCQkJZXJyID0gUFRSX0VSUihjbWQpOworCQkJcHJfZXJyKCIlczogZmFpbGVkIHRvIFdD IG1hcCBiYXRjaCwgZXJyPSVkXG4iLCBfX2Z1bmNfXywgZXJyKTsKKwkJCWdvdG8gb3V0X3JlcXVl c3Q7CisJCX0KKwkJKmNtZCA9IE1JX0JBVENIX0JVRkZFUl9FTkQ7CisJCXdtYigpOworCQlpOTE1 X2dlbV9vYmplY3RfdW5waW5fbWFwKHJlcXVlc3RbaWRdLT5iYXRjaC0+b2JqKTsKKworCQl0aW1l b3V0ID0gaTkxNV93YWl0X3JlcXVlc3QocmVxdWVzdFtpZF0sCisJCQkJCSAgICBJOTE1X1dBSVRf TE9DS0VELAorCQkJCQkgICAgTUFYX1NDSEVEVUxFX1RJTUVPVVQpOworCQlpZiAodGltZW91dCA8 IDApIHsKKwkJCWVyciA9IHRpbWVvdXQ7CisJCQlwcl9lcnIoIiVzOiBlcnJvciB3YWl0aW5nIGZv ciByZXF1ZXN0IG9uICVzLCBlcnI9JWRcbiIsCisJCQkgICAgICAgX19mdW5jX18sIGVuZ2luZS0+ bmFtZSwgZXJyKTsKKwkJCWdvdG8gb3V0X3JlcXVlc3Q7CisJCX0KKworCQlHRU1fQlVHX09OKCFp OTE1X2dlbV9yZXF1ZXN0X2NvbXBsZXRlZChyZXF1ZXN0W2lkXSkpOworCX0KKworCWVyciA9IGVu ZF9saXZlX3Rlc3QoJnQpOworCitvdXRfcmVxdWVzdDoKKwlmb3JfZWFjaF9lbmdpbmUoZW5naW5l LCBpOTE1LCBpZCkgeworCQl1MzIgKmNtZDsKKworCQlpZiAoIXJlcXVlc3RbaWRdKQorCQkJYnJl YWs7CisKKwkJY21kID0gaTkxNV9nZW1fb2JqZWN0X3Bpbl9tYXAocmVxdWVzdFtpZF0tPmJhdGNo LT5vYmosCisJCQkJCSAgICAgIEk5MTVfTUFQX1dDKTsKKwkJaWYgKCFJU19FUlIoY21kKSkgewor CQkJKmNtZCA9IE1JX0JBVENIX0JVRkZFUl9FTkQ7CisJCQl3bWIoKTsKKwkJCWk5MTVfZ2VtX29i amVjdF91bnBpbl9tYXAocmVxdWVzdFtpZF0tPmJhdGNoLT5vYmopOworCQl9CisKKwkJaTkxNV92 bWFfcHV0KHJlcXVlc3RbaWRdLT5iYXRjaCk7CisJCWk5MTVfZ2VtX3JlcXVlc3RfcHV0KHJlcXVl c3RbaWRdKTsKKwl9CitvdXRfdW5sb2NrOgorCW11dGV4X3VubG9jaygmaTkxNS0+ZHJtLnN0cnVj dF9tdXRleCk7CisJcmV0dXJuIGVycjsKK30KKwogaW50IGk5MTVfZ2VtX3JlcXVlc3RfbGl2ZV9z ZWxmdGVzdHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiB7CiAJc3RhdGljIGNvbnN0 IHN0cnVjdCBpOTE1X3N1YnRlc3QgdGVzdHNbXSA9IHsKIAkJU1VCVEVTVChsaXZlX25vcF9yZXF1 ZXN0KSwKIAkJU1VCVEVTVChsaXZlX2FsbF9lbmdpbmVzKSwKKwkJU1VCVEVTVChsaXZlX3NlcXVl bnRpYWxfZW5naW5lcyksCiAJfTsKIAlyZXR1cm4gaTkxNV9zdWJ0ZXN0cyh0ZXN0cywgaTkxNSk7 CiB9Ci0tIAoyLjExLjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeAo=