From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [RESEND 2/6] drm/i915/selftests: Exercise reset to break stuck GTT eviction Date: Mon, 16 Jul 2018 08:22:15 +0100 Message-ID: <20180716072219.31609-2-chris@chris-wilson.co.uk> References: <20180716072219.31609-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 fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id 85E8B6E236 for ; Mon, 16 Jul 2018 07:29:16 +0000 (UTC) In-Reply-To: <20180716072219.31609-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 V2UgbXVzdCBiZSBhYmxlIHRvIHJlc2V0IHRoZSBHUFUgd2hpbGUgd2UgYXJlIHdhaXRpbmcgb24g aXQgdG8gcGVyZm9ybQphbiBldmljdGlvbiAodW5iaW5kaW5nIGFuIGFjdGl2ZSB2bWEpLiBTbyBh dHRhY2ggYSBzcGlubmluZyByZXF1ZXN0IHRvIGEKdGFyZ2V0IHZtYSBhbmQgdHJ5IGFuZCBpdCBl dmljdCBpdCBmcm9tIGEgdGhyZWFkIHRvIHNlZSBpZiB0aGF0IGJsb2NrcwppbmRlZmluaXRlbHku CgpTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4K LS0tCiAuLi4vZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pbnRlbF9oYW5nY2hlY2suYyAgfCAxNTMg KysrKysrKysrKysrKysrKystCiAxIGZpbGUgY2hhbmdlZCwgMTUxIGluc2VydGlvbnMoKyksIDIg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3Rz L2ludGVsX2hhbmdjaGVjay5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2ludGVs X2hhbmdjaGVjay5jCmluZGV4IDczNDYyYTY1YTMzMC4uMzQ0OTczNjY0MjA2IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaW50ZWxfaGFuZ2NoZWNrLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2ludGVsX2hhbmdjaGVjay5jCkBAIC0yNyw2 ICsyNyw3IEBACiAjaW5jbHVkZSAiLi4vaTkxNV9zZWxmdGVzdC5oIgogI2luY2x1ZGUgImk5MTVf cmFuZG9tLmgiCiAjaW5jbHVkZSAiaWd0X2ZsdXNoX3Rlc3QuaCIKKyNpbmNsdWRlICJpZ3Rfd2Vk Z2VfbWUuaCIKIAogI2luY2x1ZGUgIm1vY2tfY29udGV4dC5oIgogI2luY2x1ZGUgIm1vY2tfZHJt LmgiCkBAIC05MjEsNyArOTIyLDcgQEAgc3RhdGljIHUzMiBmYWtlX2hhbmdjaGVjayhzdHJ1Y3Qg aTkxNV9yZXF1ZXN0ICpycSwgdTMyIG1hc2spCiAJcmV0dXJuIHJlc2V0X2NvdW50OwogfQogCi1z dGF0aWMgaW50IGlndF93YWl0X3Jlc2V0KHZvaWQgKmFyZykKK3N0YXRpYyBpbnQgaWd0X3Jlc2V0 X3dhaXQodm9pZCAqYXJnKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gYXJn OwogCXN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxOwpAQCAtOTk1LDYgKzk5NiwxNTIgQEAgc3RhdGlj IGludCBpZ3Rfd2FpdF9yZXNldCh2b2lkICphcmcpCiAJcmV0dXJuIGVycjsKIH0KIAorc3RhdGlj IGludCBldmljdF92bWEodm9pZCAqZGF0YSkKK3sKKwlzdHJ1Y3QgaTkxNV92bWEgKnZtYSA9IGRh dGE7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB2bWEtPnZtLT5pOTE1OworCXN0 cnVjdCBkcm1fbW1fbm9kZSBldmljdCA9IHZtYS0+bm9kZTsKKwlpbnQgZXJyOworCisJbXV0ZXhf bG9jaygmaTkxNS0+ZHJtLnN0cnVjdF9tdXRleCk7CisJZXJyID0gaTkxNV9nZW1fZXZpY3RfZm9y X25vZGUodm1hLT52bSwgJmV2aWN0LCAwKTsKKwltdXRleF91bmxvY2soJmk5MTUtPmRybS5zdHJ1 Y3RfbXV0ZXgpOworCisJcmV0dXJuIGVycjsKK30KKworc3RhdGljIGludCBfX2lndF9yZXNldF9l dmljdF92bWEoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCisJCQkJIHN0cnVjdCBpOTE1 X2FkZHJlc3Nfc3BhY2UgKnZtKQoreworCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7 CisJc3RydWN0IHRhc2tfc3RydWN0ICp0c2sgPSBOVUxMOworCXN0cnVjdCBpOTE1X3JlcXVlc3Qg KnJxOworCXN0cnVjdCBpOTE1X3ZtYSAqdm1hOworCXN0cnVjdCBoYW5nIGg7CisJaW50IGVycjsK KworCWlmICghaW50ZWxfZW5naW5lX2Nhbl9zdG9yZV9kd29yZChpOTE1LT5lbmdpbmVbUkNTXSkp CisJCXJldHVybiAwOworCisJLyogQ2hlY2sgdGhhdCB3ZSBjYW4gcmVjb3ZlciBhbiB1bmJpbmQg c3R1Y2sgb24gYSBoYW5naW5nIHJlcXVlc3QgKi8KKworCWdsb2JhbF9yZXNldF9sb2NrKGk5MTUp OworCisJbXV0ZXhfbG9jaygmaTkxNS0+ZHJtLnN0cnVjdF9tdXRleCk7CisJZXJyID0gaGFuZ19p bml0KCZoLCBpOTE1KTsKKwlpZiAoZXJyKQorCQlnb3RvIHVubG9jazsKKworCW9iaiA9IGk5MTVf Z2VtX29iamVjdF9jcmVhdGVfaW50ZXJuYWwoaTkxNSwgUEFHRV9TSVpFKTsKKwlpZiAoSVNfRVJS KG9iaikpIHsKKwkJZXJyID0gUFRSX0VSUihvYmopOworCQlnb3RvIGZpbmk7CisJfQorCisJdm1h ID0gaTkxNV92bWFfaW5zdGFuY2Uob2JqLCB2bSwgTlVMTCk7CisJaWYgKElTX0VSUih2bWEpKSB7 CisJCWVyciA9IFBUUl9FUlIodm1hKTsKKwkJZ290byBvdXRfb2JqOworCX0KKworCXJxID0gaGFu Z19jcmVhdGVfcmVxdWVzdCgmaCwgaTkxNS0+ZW5naW5lW1JDU10pOworCWlmIChJU19FUlIocnEp KSB7CisJCWVyciA9IFBUUl9FUlIocnEpOworCQlnb3RvIG91dF9vYmo7CisJfQorCisJZXJyID0g aTkxNV92bWFfcGluKHZtYSwgMCwgMCwKKwkJCSAgIGk5MTVfdm1hX2lzX2dndHQodm1hKSA/IFBJ Tl9HTE9CQUwgOiBQSU5fVVNFUik7CisJaWYgKGVycikKKwkJZ290byBvdXRfb2JqOworCisJZXJy ID0gaTkxNV92bWFfbW92ZV90b19hY3RpdmUodm1hLCBycSwgRVhFQ19PQkpFQ1RfV1JJVEUpOwor CWk5MTVfdm1hX3VucGluKHZtYSk7CisKKwlpOTE1X3JlcXVlc3RfZ2V0KHJxKTsKKwlpOTE1X3Jl cXVlc3RfYWRkKHJxKTsKKwlpZiAoZXJyKQorCQlnb3RvIG91dF9ycTsKKworCW11dGV4X3VubG9j aygmaTkxNS0+ZHJtLnN0cnVjdF9tdXRleCk7CisKKwlpZiAoIXdhaXRfdW50aWxfcnVubmluZygm aCwgcnEpKSB7CisJCXN0cnVjdCBkcm1fcHJpbnRlciBwID0gZHJtX2luZm9fcHJpbnRlcihpOTE1 LT5kcm0uZGV2KTsKKworCQlwcl9lcnIoIiVzOiBGYWlsZWQgdG8gc3RhcnQgcmVxdWVzdCAleCwg YXQgJXhcbiIsCisJCSAgICAgICBfX2Z1bmNfXywgcnEtPmZlbmNlLnNlcW5vLCBod3Nfc2Vxbm8o JmgsIHJxKSk7CisJCWludGVsX2VuZ2luZV9kdW1wKHJxLT5lbmdpbmUsICZwLCAiJXNcbiIsIHJx LT5lbmdpbmUtPm5hbWUpOworCisJCWk5MTVfZ2VtX3NldF93ZWRnZWQoaTkxNSk7CisJCWdvdG8g b3V0X3Jlc2V0OworCX0KKworCXRzayA9IGt0aHJlYWRfcnVuKGV2aWN0X3ZtYSwgdm1hLCAiaWd0 L2V2aWN0X3ZtYSIpOworCisJaWYgKHdhaXRfZm9yKHdhaXRxdWV1ZV9hY3RpdmUoJnJxLT5leGVj dXRlKSwgMTApKSB7CisJCXN0cnVjdCBkcm1fcHJpbnRlciBwID0gZHJtX2luZm9fcHJpbnRlcihp OTE1LT5kcm0uZGV2KTsKKworCQlwcl9lcnIoImlndC9ldmljdF92bWEga3RocmVhZCBkaWQgbm90 IHdhaXRcbiIpOworCQlpbnRlbF9lbmdpbmVfZHVtcChycS0+ZW5naW5lLCAmcCwgIiVzXG4iLCBy cS0+ZW5naW5lLT5uYW1lKTsKKworCQlpOTE1X2dlbV9zZXRfd2VkZ2VkKGk5MTUpOworCQlnb3Rv IG91dF9yZXNldDsKKwl9CisKK291dF9yZXNldDoKKwlmYWtlX2hhbmdjaGVjayhycSwgaW50ZWxf ZW5naW5lX2ZsYWcocnEtPmVuZ2luZSkpOworCisJaWYgKHRzaykgeworCQlzdHJ1Y3QgaWd0X3dl ZGdlX21lIHc7CisKKwkJaWd0X3dlZGdlX29uX3RpbWVvdXQoJncsIGk5MTUsIEhaIC8gNSkKKwkJ CWVyciA9IGt0aHJlYWRfc3RvcCh0c2spOworCX0KKworCW11dGV4X2xvY2soJmk5MTUtPmRybS5z dHJ1Y3RfbXV0ZXgpOworb3V0X3JxOgorCWk5MTVfcmVxdWVzdF9wdXQocnEpOworb3V0X29iajoK KwlpOTE1X2dlbV9vYmplY3RfcHV0KG9iaik7CitmaW5pOgorCWhhbmdfZmluaSgmaCk7Cit1bmxv Y2s6CisJbXV0ZXhfdW5sb2NrKCZpOTE1LT5kcm0uc3RydWN0X211dGV4KTsKKwlnbG9iYWxfcmVz ZXRfdW5sb2NrKGk5MTUpOworCisJaWYgKGk5MTVfdGVybWluYWxseV93ZWRnZWQoJmk5MTUtPmdw dV9lcnJvcikpCisJCXJldHVybiAtRUlPOworCisJcmV0dXJuIGVycjsKK30KKworc3RhdGljIGlu dCBpZ3RfcmVzZXRfZXZpY3RfZ2d0dCh2b2lkICphcmcpCit7CisJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmk5MTUgPSBhcmc7CisKKwlyZXR1cm4gX19pZ3RfcmVzZXRfZXZpY3Rfdm1hKGk5MTUs ICZpOTE1LT5nZ3R0LnZtKTsKK30KKworc3RhdGljIGludCBpZ3RfcmVzZXRfZXZpY3RfcHBndHQo dm9pZCAqYXJnKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gYXJnOworCXN0 cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHg7CisJaW50IGVycjsKKworCW11dGV4X2xvY2soJmk5 MTUtPmRybS5zdHJ1Y3RfbXV0ZXgpOworCWN0eCA9IGtlcm5lbF9jb250ZXh0KGk5MTUpOworCW11 dGV4X3VubG9jaygmaTkxNS0+ZHJtLnN0cnVjdF9tdXRleCk7CisJaWYgKElTX0VSUihjdHgpKQor CQlyZXR1cm4gUFRSX0VSUihjdHgpOworCisJZXJyID0gMDsKKwlpZiAoY3R4LT5wcGd0dCkKKwkJ ZXJyID0gX19pZ3RfcmVzZXRfZXZpY3Rfdm1hKGk5MTUsICZjdHgtPnBwZ3R0LT52bSk7CisKKwlr ZXJuZWxfY29udGV4dF9jbG9zZShjdHgpOworCXJldHVybiBlcnI7Cit9CisKIHN0YXRpYyBpbnQg d2FpdF9mb3Jfb3RoZXJzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAogCQkJICAgc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqZXhjbHVkZSkKIHsKQEAgLTEyNDAsOCArMTM4NywxMCBAQCBp bnQgaW50ZWxfaGFuZ2NoZWNrX2xpdmVfc2VsZnRlc3RzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICppOTE1KQogCQlTVUJURVNUKGlndF9yZXNldF9pZGxlX2VuZ2luZSksCiAJCVNVQlRFU1QoaWd0 X3Jlc2V0X2FjdGl2ZV9lbmdpbmUpLAogCQlTVUJURVNUKGlndF9yZXNldF9lbmdpbmVzKSwKLQkJ U1VCVEVTVChpZ3Rfd2FpdF9yZXNldCksCiAJCVNVQlRFU1QoaWd0X3Jlc2V0X3F1ZXVlKSwKKwkJ U1VCVEVTVChpZ3RfcmVzZXRfd2FpdCksCisJCVNVQlRFU1QoaWd0X3Jlc2V0X2V2aWN0X2dndHQp LAorCQlTVUJURVNUKGlndF9yZXNldF9ldmljdF9wcGd0dCksCiAJCVNVQlRFU1QoaWd0X2hhbmRs ZV9lcnJvciksCiAJfTsKIAlib29sIHNhdmVkX2hhbmdjaGVjazsKLS0gCjIuMTguMAoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==