From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Tvrtko Ursulin Date: Thu, 6 Dec 2018 10:55:38 +0000 Message-Id: <20181206105538.7150-1-tvrtko.ursulin@linux.intel.com> In-Reply-To: <20181206105219.7041-1-tvrtko.ursulin@linux.intel.com> References: <20181206105219.7041-1-tvrtko.ursulin@linux.intel.com> MIME-Version: 1.0 Subject: [igt-dev] [RFT i-g-t v2] tests/gem_shrink: Background, direct and OOM shrinker plus userptr tests List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org Cc: Intel-gfx@lists.freedesktop.org, Tvrtko Ursulin List-ID: RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCi4uLgoKU2ln bmVkLW9mZi1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KLS0t CiB0ZXN0cy9pOTE1L2dlbV9zaHJpbmsuYyB8IDIxMyArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgMjEzIGluc2VydGlvbnMoKykKCmRpZmYg LS1naXQgYS90ZXN0cy9pOTE1L2dlbV9zaHJpbmsuYyBiL3Rlc3RzL2k5MTUvZ2VtX3Nocmluay5j CmluZGV4IGM4ZTA1ODE0ZWU3MC4uYWNjMTJlZmVkMTVlIDEwMDY0NAotLS0gYS90ZXN0cy9pOTE1 L2dlbV9zaHJpbmsuYworKysgYi90ZXN0cy9pOTE1L2dlbV9zaHJpbmsuYwpAQCAtMjYsNiArMjYs OSBAQAogICoKICAqIEV4ZXJjaXNlIHRoZSBzaHJpbmtlciBieSBvdmVyYWxsb2NhdGluZyBHRU0g b2JqZWN0cwogICovCisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQu aD4KKyNpbmNsdWRlIDxmY250bC5oPgogCiAjaW5jbHVkZSAiaWd0LmgiCiAjaW5jbHVkZSAiaWd0 X2d0LmgiCkBAIC0zNjYsNiArMzY5LDIxMCBAQCBzdGF0aWMgdm9pZCByZWNsYWltKHVuc2lnbmVk IGVuZ2luZSwgaW50IHRpbWVvdXQpCiAJY2xvc2UoZmQpOwogfQogCitzdGF0aWMgdW5zaWduZWQg bG9uZyBnZXRfbWVtaW5mbyhjb25zdCBjaGFyICppbmZvLCBjb25zdCBjaGFyICp0YWcpCit7CisJ Y29uc3QgY2hhciAqc3RyOworCXVuc2lnbmVkIGxvbmcgdmFsOworCisJc3RyID0gc3Ryc3RyKGlu Zm8sIHRhZyk7CisJaWYgKHN0ciAmJiBzc2NhbmYoc3RyICsgc3RybGVuKHRhZyksICIgJWx1Iiwg JnZhbCkgPT0gMSkKKwkJcmV0dXJuIHZhbCA+PiAxMDsKKworCWlndF93YXJuKCJVbnJlY29nbmlz ZWQgL3Byb2MvbWVtaW5mbyBmaWVsZDogJyVzJ1xuIiwgdGFnKTsKKwlyZXR1cm4gMDsKK30KKwor c3RhdGljIHVuc2lnbmVkIGxvbmcgZ2V0X2F2YWlsX3JhbV9tYih2b2lkKQoreworCWludCBmZDsK KwlpbnQgcmV0OworCWNoYXIgYnVmWzQwOTZdOworCXVuc2lnbmVkIGxvbmcgcmFtOworCisJZmQg PSBvcGVuKCIvcHJvYy9tZW1pbmZvIiwgT19SRE9OTFkpOworCWlndF9hc3NlcnRfZmQoZmQpOwor CisJcmV0ID0gcmVhZChmZCwgYnVmLCBzaXplb2YoYnVmKSk7CisJaWd0X2Fzc2VydChyZXQgPj0g MCk7CisKKwljbG9zZShmZCk7CisKKwlyYW0gPSBnZXRfbWVtaW5mbyhidWYsICJNZW1BdmFpbGFi bGU6Iik7CisJcmFtICs9IGdldF9tZW1pbmZvKGJ1ZiwgIkJ1ZmZlcnM6Iik7CisJcmFtICs9IGdl dF9tZW1pbmZvKGJ1ZiwgIkNhY2hlZDoiKTsKKwlyYW0gKz0gZ2V0X21lbWluZm8oYnVmLCAiU3dh cENhY2hlZDoiKTsKKworCXJldHVybiByYW07Cit9CisKK3N0cnVjdCB0ZXN0IHsKKyNkZWZpbmUg VEVTVF9CTwkJKDEpCisjZGVmaW5lIFRFU1RfVVNFUlBUUgkoMikKKwl1bnNpZ25lZCBpbnQgZmxh Z3M7CisJaW50IGZkOworfTsKKworc3RhdGljIHVpbnQzMl90IF9fZ2V0X3BhZ2VzKGludCBmZCwg dW5zaWduZWQgbG9uZyBhbGxvYykKK3sKKwl1aW50MzJfdCBoYW5kbGUgPSBnZW1fY3JlYXRlKGZk LCBhbGxvYyk7CisKKwlnZW1fc2V0X2RvbWFpbihmZCwgaGFuZGxlLCBJOTE1X0dFTV9ET01BSU5f R1RULCAwKTsKKwlnZW1fbWFkdmlzZShmZCwgaGFuZGxlLCBJOTE1X01BRFZfRE9OVE5FRUQpOwor CisJcmV0dXJuIGhhbmRsZTsKK30KKworc3RydWN0IHRlc3Rfb2JqIHsKKwl2b2lkICpwdHI7CisJ dWludDMyX3QgaGFuZGxlOworfTsKKworc3RhdGljIHZvaWQKK19fZ2V0X3VzZXJwdHIoaW50IGZk LCBzdHJ1Y3QgdGVzdF9vYmogKm9iaiwgdW5zaWduZWQgbG9uZyBzeikKK3sKKwlzdHJ1Y3QgbG9j YWxfaTkxNV9nZW1fdXNlcnB0ciB1c2VycHRyID0geyB9OworCXZvaWQgKnB0cjsKKworCWlndF9h c3NlcnRfZXEoc3ogJiA0MDk1LCAwKTsKKworCXB0ciA9IG1tYXAoTlVMTCwgc3osIFBST1RfV1JJ VEUsIE1BUF9QUklWQVRFIHwgTUFQX0FOT05ZTU9VUywgLTEsIDApOworCWFzc2VydChwdHIgIT0g TUFQX0ZBSUxFRCk7CisKKwl1c2VycHRyLnVzZXJfc2l6ZSA9IHN6OworCXVzZXJwdHIudXNlcl9w dHIgPSB0b191c2VyX3BvaW50ZXIocHRyKTsKKwlkb19pb2N0bChmZCwgTE9DQUxfSU9DVExfSTkx NV9HRU1fVVNFUlBUUiwgJnVzZXJwdHIpOworCisJZ2VtX3NldF9kb21haW4oZmQsIHVzZXJwdHIu aGFuZGxlLCBJOTE1X0dFTV9ET01BSU5fR1RULCAwKTsKKworCW9iai0+cHRyID0gcHRyOworCW9i ai0+aGFuZGxlID0gdXNlcnB0ci5oYW5kbGU7Cit9CisKKyNkZWZpbmUgUEFHRV9TSVpFIDQwOTYK K3N0YXRpYyB2b2lkICptZW1wcmVzc3VyZSh2b2lkICphcmcpCit7CisJc3RydWN0IHRlc3Rfb2Jq ICpsaXN0ID0gTlVMTDsKKwlzdHJ1Y3QgdGVzdCAqdGVzdCA9IGFyZzsKKwljb25zdCB1bnNpZ25l ZCBpbnQgc3pfbWIgPSAyOworCWNvbnN0IHVuc2lnbmVkIGludCBzeiA9IHN6X21iIDw8IDIwOwor CXVuc2lnbmVkIGludCBuID0gMCwgbWF4ID0gMDsKKwl1bnNpZ25lZCBpbnQgYmxvY2tzOworCisJ d2hpbGUgKHRydWUpIHsKKwkJdW5zaWduZWQgbG9uZyByYW1fbWIgPSBnZXRfYXZhaWxfcmFtX21i KCk7CisKKwkJaWYgKCFsaXN0KSB7CisJCQlibG9ja3MgPSByYW1fbWIgLyBzel9tYjsKKwkJCWxp c3QgPSBjYWxsb2MoYmxvY2tzLCBzaXplb2YoKmxpc3QpKTsKKwkJCWlndF9hc3NlcnQobGlzdCk7 CisJCX0gZWxzZSBpZiAocmFtX21iIDwgMjU2KSB7CisJCQlibG9ja3MgPSBtYXggKyAxOworCQl9 CisKKwkJaWYgKGxpc3Rbbl0ucHRyIHx8IGxpc3Rbbl0uaGFuZGxlKSB7CisJCQlpZiAodGVzdC0+ ZmxhZ3MgJiBURVNUX0JPKQorCQkJCWdlbV9jbG9zZSh0ZXN0LT5mZCwgbGlzdFtuXS5oYW5kbGUp OworCQkJZWxzZQorCQkJCW11bm1hcChsaXN0W25dLnB0ciwgc3opOworCQl9CisKKwkJaWYgKHRl c3QtPmZsYWdzICYgVEVTVF9CTykgeworCQkJbGlzdFtuXS5oYW5kbGUgPSBfX2dldF9wYWdlcyh0 ZXN0LT5mZCwgc3opOworCQl9IGVsc2UgaWYgKHRlc3QtPmZsYWdzICYgVEVTVF9VU0VSUFRSKSB7 CisJCQlfX2dldF91c2VycHRyKHRlc3QtPmZkLCAmbGlzdFtuXSwgc3opOworCQl9IGVsc2Ugewor CQkJbGlzdFtuXS5wdHIgPSBtbWFwKE5VTEwsIHN6LCBQUk9UX1dSSVRFLAorCQkJCQkgICBNQVBf UFJJVkFURSB8IE1BUF9BTk9OWU1PVVMsIC0xLCAwKTsKKwkJCWFzc2VydChsaXN0W25dLnB0ciAh PSBNQVBfRkFJTEVEKTsKKworCQkJbWFkdmlzZShsaXN0W25dLnB0ciwgc3osIE1BRFZfSFVHRVBB R0UpOworCisJCQlmb3IgKHNpemVfdCBwYWdlID0gMDsgcGFnZSA8IHN6OyBwYWdlICs9IFBBR0Vf U0laRSkKKwkJCQkqKHZvbGF0aWxlIHVpbnQzMl90ICopKCh1bnNpZ25lZCBjaGFyICopbGlzdFtu XS5wdHIgKyBwYWdlKSA9IDA7CisJCX0KKworCQlpZiAobiA+IG1heCkKKwkJCW1heCA9IG47CisK KwkJbisrOworCisJCWlmIChuID49IGJsb2NrcykKKwkJCW4gPSAwOworCX0KKworCXJldHVybiBO VUxMOworfQorCitzdGF0aWMgdm9pZCBvb21fYWRqdXN0KGNvbnN0IGNoYXIgKnNjb3JlKQorewor ICAgICAgICBpbnQgZmQ7CisKKyAgICAgICAgZmQgPSBvcGVuKCIvcHJvYy9zZWxmL29vbV9zY29y ZV9hZGoiLCBPX1dST05MWSk7CisgICAgICAgIGlndF9hc3NlcnRfZmQoZmQpOworICAgICAgICBp Z3RfYXNzZXJ0KHdyaXRlKGZkLCBzY29yZSwgc2l6ZW9mKHNjb3JlKSkgPT0gc2l6ZW9mKHNjb3Jl KSk7CisgICAgICAgIGNsb3NlKGZkKTsKK30KKworc3RhdGljIHZvaWQgdHJpZ2dlcl9vb20odm9p ZCkKK3sKKwljb25zdCBjaGFyICpjbWQgPSAiZiI7CisgICAgICAgIGludCBmZDsKKworICAgICAg ICBmZCA9IG9wZW4oIi9wcm9jL3N5c3JxLXRyaWdnZXIiLCBPX1dST05MWSk7CisgICAgICAgIGln dF9hc3NlcnRfZmQoZmQpOworICAgICAgICBpZ3RfYXNzZXJ0KHdyaXRlKGZkLCBjbWQsIHNpemVv ZihjbWQpKSA9PSBzaXplb2YoY21kKSk7CisgICAgICAgIGNsb3NlKGZkKTsKK30KKworc3RhdGlj IHZvaWQgcmVjbGFpbV9vb20odW5zaWduZWQgaW50IGZsYWdzKQoreworCXVuc2lnbmVkIGludCBj b3VudCA9IDA7CisKKwlpZ3RfYXNzZXJ0X2VxKF9fYnVpbHRpbl9wb3Bjb3VudChmbGFncyksIDEp OworCisJb29tX2FkanVzdCgiLTEwMDAiKTsKKworCWRvIHsKKwkJc3RydWN0IGlndF9oZWxwZXJf cHJvY2VzcyBnZW1fY2hpbGQgPSB7IH07CisJCXN0cnVjdCBpZ3RfaGVscGVyX3Byb2Nlc3MgbWVt X2NoaWxkID0geyB9OworCisJCWlndF9kZWJ1ZygiSXRlcmF0aW9uICV1Li4uXG4iLCArK2NvdW50 KTsKKworCQlpZ3RfZm9ya19oZWxwZXIoJm1lbV9jaGlsZCkgeworCQkJc3RydWN0IHRlc3QgbWVt ID0geyB9OworCisJCQlvb21fYWRqdXN0KCI1MDAiKTsKKwkJCW1lbXByZXNzdXJlKCZtZW0pOwor CQl9CisKKwkJaWd0X2ZvcmtfaGVscGVyKCZnZW1fY2hpbGQpIHsKKwkJCXN0cnVjdCB0ZXN0IGdl bSA9IHsgLmZsYWdzID0gZmxhZ3MgfTsKKworCQkJb29tX2FkanVzdCgiNTAwIik7CisKKwkJCWdl bS5mZCA9IGRybV9vcGVuX2RyaXZlcihEUklWRVJfSU5URUwpOworCQkJaWd0X3JlcXVpcmVfZ2Vt KGdlbS5mZCk7CisKKwkJCW1lbXByZXNzdXJlKCZnZW0pOworCisJCQljbG9zZShnZW0uZmQpOwor CQl9CisKKwkJZm9yICh1bnNpZ25lZCBsb25nIHJhbV9tYiA9IDA7CisJCSAgICAgKHJhbV9tYiA9 IGdldF9hdmFpbF9yYW1fbWIoKSkgPiA1MTI7KSB7CisJCQlpZ3RfZGVidWcoIlsldV0gJWx1IGZy ZWUgbWJcbiIsIGNvdW50LCByYW1fbWIpOworCQkJc2xlZXAoMSk7CisJCX0KKworCQl0cmlnZ2Vy X29vbSgpOworCisJCXNsZWVwKDEpOworCisJCWlndF9zdG9wX2hlbHBlcigmbWVtX2NoaWxkKTsK KwkJaWd0X3N0b3BfaGVscGVyKCZnZW1fY2hpbGQpOworCX0gd2hpbGUgKGNvdW50IDwgNSk7Cit9 CisKIGlndF9tYWluCiB7CiAJY29uc3Qgc3RydWN0IHRlc3QgewpAQCAtNDMyLDYgKzYzOSwxMiBA QCBpZ3RfbWFpbgogCWlndF9zdWJ0ZXN0KCJyZWNsYWltIikKIAkJcmVjbGFpbShJOTE1X0VYRUNf REVGQVVMVCwgMik7CiAKKwlpZ3Rfc3VidGVzdCgidHdvLXJlY2xhaW1zLWFuZC1vb20iKQorCQly ZWNsYWltX29vbShURVNUX0JPKTsKKworCWlndF9zdWJ0ZXN0KCJ0d28tcmVjbGFpbXMtYW5kLW9v bS11c2VycHRyIikKKwkJcmVjbGFpbV9vb20oVEVTVF9VU0VSUFRSKTsKKwogCWZvcihjb25zdCBz dHJ1Y3QgdGVzdCAqdCA9IHRlc3RzOyB0LT5uYW1lOyB0KyspIHsKIAkJZm9yKGNvbnN0IHN0cnVj dCBtb2RlICptID0gbW9kZXM7IG0tPnN1ZmZpeDsgbSsrKSB7CiAJCQlpZ3Rfc3VidGVzdF9mKCIl cyVzIiwgdC0+bmFtZSwgbS0+c3VmZml4KQotLSAKMi4xOS4xCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2lndC1kZXYK