From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH 6/6] drm/i915/selftests: prefer random sizes for the huge-GTT-page smoke tests Date: Fri, 18 Oct 2019 17:55:58 +0100 Message-ID: <20191018165558.18518-6-matthew.auld@intel.com> References: <20191018165558.18518-1-matthew.auld@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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 CD1056EB76 for ; Fri, 18 Oct 2019 16:56:12 +0000 (UTC) In-Reply-To: <20191018165558.18518-1-matthew.auld@intel.com> 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 RGl0Y2ggdGhlIGR1YmlvdXMgc3RhdGljIGxpc3Qgb2Ygc2l6ZXMgdG8gZW51bWVyYXRlLCBpbiBm YXZvdXIgb2YKY2hvb3NpbmcgYSByYW5kb20gc2l6ZSB3aXRoaW4gdGhlIGxpbWl0cyBvZiBlYWNo IGJhY2tpbmcgc3RvcmUuIFdpdGgKcmVwZWF0ZWQgQ0kgcnVucyB0aGlzIHNob3VsZCBnaXZlIHVz IGEgd2lkZXIgcmFuZ2Ugb2Ygb2JqZWN0IHNpemVzLCBhbmQKaW4gdHVybiBtb3JlIHBhZ2Utc2l6 ZSBjb21iaW5hdGlvbnMsIHdoaWxlIHVzaW5nIGxlc3MgbWFjaGluZSB0aW1lLgoKU2lnbmVkLW9m Zi1ieTogTWF0dGhldyBBdWxkIDxtYXR0aGV3LmF1bGRAaW50ZWwuY29tPgotLS0KIC4uLi9ncHUv ZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9odWdlX3BhZ2VzLmMgICB8IDE5OCArKysrKysrKystLS0t LS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA5NCBpbnNlcnRpb25zKCspLCAxMDQgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9odWdlX3Bh Z2VzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2h1Z2VfcGFnZXMuYwpp bmRleCBkNDg5Mjc2OWI3MzkuLjNmN2FjNDQ3M2YzMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9odWdlX3BhZ2VzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ2VtL3NlbGZ0ZXN0cy9odWdlX3BhZ2VzLmMKQEAgLTEzMTQsMjAgKzEzMTQsMzMgQEAg c3RhdGljIGludCBpZ3RfcHBndHRfZXhoYXVzdF9odWdlKHZvaWQgKmFyZykKIAlyZXR1cm4gZXJy OwogfQogCitzdGF0aWMgdTMyIGlndF9yYW5kb21fc2l6ZShzdHJ1Y3Qgcm5kX3N0YXRlICpwcm5n LAorCQkJICAgdTMyIG1pbl9wYWdlX3NpemUsCisJCQkgICB1MzIgbWF4X3BhZ2Vfc2l6ZSkKK3sK Kwl1MzIgc2l6ZTsKKwl1MzIgbWFzazsKKworCUdFTV9CVUdfT04oIWlzX3Bvd2VyX29mXzIobWlu X3BhZ2Vfc2l6ZSkpOworCUdFTV9CVUdfT04oIWlzX3Bvd2VyX29mXzIobWF4X3BhZ2Vfc2l6ZSkp OworCUdFTV9CVUdfT04obWluX3BhZ2Vfc2l6ZSA8IFBBR0VfU0laRSk7CisJR0VNX0JVR19PTiht aW5fcGFnZV9zaXplID4gbWF4X3BhZ2Vfc2l6ZSk7CisKKwltYXNrID0gR0VOTUFTS19VTEwoaWxv ZzIobWF4X3BhZ2Vfc2l6ZSksIFBBR0VfU0hJRlQpOworCXNpemUgPSBwcmFuZG9tX3UzMl9zdGF0 ZShwcm5nKSAmIG1hc2s7CisJaWYgKHNpemUgPCBtaW5fcGFnZV9zaXplKQorCQlzaXplIHw9IG1p bl9wYWdlX3NpemU7CisKKwlyZXR1cm4gc2l6ZTsKK30KKwogc3RhdGljIGludCBpZ3RfcHBndHRf aW50ZXJuYWxfaHVnZSh2b2lkICphcmcpCiB7CiAJc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0 eCA9IGFyZzsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IGN0eC0+aTkxNTsKIAlz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqOwotCXN0YXRpYyBjb25zdCB1bnNpZ25lZCBp bnQgc2l6ZXNbXSA9IHsKLQkJU1pfNjRLLAotCQlTWl8xMjhLLAotCQlTWl8yNTZLLAotCQlTWl81 MTJLLAotCQlTWl8xTSwKLQkJU1pfMk0sCi0JfTsKLQlpbnQgaTsKKwlJOTE1X1JORF9TVEFURShw cm5nKTsKKwl1MzIgc2l6ZTsKIAlpbnQgZXJyOwogCiAJLyoKQEAgLTEzMzUsNDIgKzEzNDgsMzYg QEAgc3RhdGljIGludCBpZ3RfcHBndHRfaW50ZXJuYWxfaHVnZSh2b2lkICphcmcpCiAJICogLS0g ZW5zdXJlIHRoYXQgb3VyIHdyaXRlcyBsYW5kIGluIHRoZSByaWdodCBwbGFjZS4KIAkgKi8KIAot CWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHNpemVzKTsgKytpKSB7Ci0JCXVuc2lnbmVkIGlu dCBzaXplID0gc2l6ZXNbaV07Ci0KLQkJb2JqID0gaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9pbnRl cm5hbChpOTE1LCBzaXplKTsKLQkJaWYgKElTX0VSUihvYmopKQotCQkJcmV0dXJuIFBUUl9FUlIo b2JqKTsKKwlzaXplID0gaWd0X3JhbmRvbV9zaXplKCZwcm5nLCBTWl82NEssIFNaXzJNKTsKIAot CQllcnIgPSBpOTE1X2dlbV9vYmplY3RfcGluX3BhZ2VzKG9iaik7Ci0JCWlmIChlcnIpCi0JCQln b3RvIG91dF9wdXQ7Ci0KLQkJaWYgKG9iai0+bW0ucGFnZV9zaXplcy5waHlzIDwgSTkxNV9HVFRf UEFHRV9TSVpFXzY0SykgewotCQkJcHJfaW5mbygiaW50ZXJuYWwgdW5hYmxlIHRvIGFsbG9jYXRl IGh1Z2UtcGFnZShzKSB3aXRoIHNpemU9JXVcbiIsCi0JCQkJc2l6ZSk7Ci0JCQlnb3RvIG91dF91 bnBpbjsKLQkJfQorCW9iaiA9IGk5MTVfZ2VtX29iamVjdF9jcmVhdGVfaW50ZXJuYWwoaTkxNSwg c2l6ZSk7CisJaWYgKElTX0VSUihvYmopKQorCQlyZXR1cm4gUFRSX0VSUihvYmopOwogCi0JCWVy ciA9IGlndF93cml0ZV9odWdlKGN0eCwgb2JqKTsKLQkJaWYgKGVycikgewotCQkJcHJfZXJyKCJp bnRlcm5hbCB3cml0ZS1odWdlIGZhaWxlZCB3aXRoIHNpemU9JXVcbiIsCi0JCQkgICAgICAgc2l6 ZSk7Ci0JCQlnb3RvIG91dF91bnBpbjsKLQkJfQorCWVyciA9IGk5MTVfZ2VtX29iamVjdF9waW5f cGFnZXMob2JqKTsKKwlpZiAoZXJyKQorCQlnb3RvIG91dF9wdXQ7CiAKLQkJaTkxNV9nZW1fb2Jq ZWN0X3VucGluX3BhZ2VzKG9iaik7Ci0JCV9faTkxNV9nZW1fb2JqZWN0X3B1dF9wYWdlcyhvYmos IEk5MTVfTU1fTk9STUFMKTsKLQkJaTkxNV9nZW1fb2JqZWN0X3B1dChvYmopOworCWlmIChvYmot Pm1tLnBhZ2Vfc2l6ZXMucGh5cyA8IEk5MTVfR1RUX1BBR0VfU0laRV82NEspIHsKKwkJcHJfaW5m bygiJXMgdW5hYmxlIHRvIGFsbG9jYXRlIGh1Z2UtcGFnZShzKSB3aXRoIHNpemU9JXVcbiIsCisJ CQlfX2Z1bmNfXywgc2l6ZSk7CisJCWVyciA9IC1FTk9NRU07CisJCWdvdG8gb3V0X3VucGluOwog CX0KIAotCXJldHVybiAwOworCWVyciA9IGlndF93cml0ZV9odWdlKGN0eCwgb2JqKTsKKwlpZiAo ZXJyKQorCQlwcl9lcnIoIiVzIHdyaXRlLWh1Z2UgZmFpbGVkIHdpdGggc2l6ZT0ldVxuIiwgX19m dW5jX18sIHNpemUpOwogCiBvdXRfdW5waW46CiAJaTkxNV9nZW1fb2JqZWN0X3VucGluX3BhZ2Vz KG9iaik7CisJX19pOTE1X2dlbV9vYmplY3RfcHV0X3BhZ2VzKG9iaiwgSTkxNV9NTV9OT1JNQUwp Owogb3V0X3B1dDoKIAlpOTE1X2dlbV9vYmplY3RfcHV0KG9iaik7CiAKKwlpZiAoZXJyID09IC1F Tk9NRU0pCisJCWVyciA9IDA7CisKIAlyZXR1cm4gZXJyOwogfQogCkBAIC0xMzg0LDE0ICsxMzkx LDggQEAgc3RhdGljIGludCBpZ3RfcHBndHRfZ2VtZnNfaHVnZSh2b2lkICphcmcpCiAJc3RydWN0 IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCA9IGFyZzsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNSA9IGN0eC0+aTkxNTsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqOwotCXN0 YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgc2l6ZXNbXSA9IHsKLQkJU1pfMk0sCi0JCVNaXzRNLAot CQlTWl84TSwKLQkJU1pfMTZNLAotCQlTWl8zMk0sCi0JfTsKLQlpbnQgaTsKKwlJOTE1X1JORF9T VEFURShwcm5nKTsKKwl1MzIgc2l6ZTsKIAlpbnQgZXJyOwogCiAJLyoKQEAgLTE0MDAsNDYgKzE0 MDEsNDAgQEAgc3RhdGljIGludCBpZ3RfcHBndHRfZ2VtZnNfaHVnZSh2b2lkICphcmcpCiAJICov CiAKIAlpZiAoIWlndF9jYW5fYWxsb2NhdGVfdGhwKGk5MTUpKSB7Ci0JCXByX2luZm8oIm1pc3Np bmcgVEhQIHN1cHBvcnQsIHNraXBwaW5nXG4iKTsKKwkJcHJfaW5mbygiJXMgbWlzc2luZyBUSFAg c3VwcG9ydCwgc2tpcHBpbmdcbiIsIF9fZnVuY19fKTsKIAkJcmV0dXJuIDA7CiAJfQogCi0JZm9y IChpID0gMDsgaSA8IEFSUkFZX1NJWkUoc2l6ZXMpOyArK2kpIHsKLQkJdW5zaWduZWQgaW50IHNp emUgPSBzaXplc1tpXTsKLQotCQlvYmogPSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3NobWVtKGk5 MTUsIHNpemUpOwotCQlpZiAoSVNfRVJSKG9iaikpCi0JCQlyZXR1cm4gUFRSX0VSUihvYmopOwot Ci0JCWVyciA9IGk5MTVfZ2VtX29iamVjdF9waW5fcGFnZXMob2JqKTsKLQkJaWYgKGVycikKLQkJ CWdvdG8gb3V0X3B1dDsKKwlzaXplID0gaWd0X3JhbmRvbV9zaXplKCZwcm5nLCBTWl8yTSwgU1pf MzJNKTsKIAotCQlpZiAob2JqLT5tbS5wYWdlX3NpemVzLnBoeXMgPCBJOTE1X0dUVF9QQUdFX1NJ WkVfMk0pIHsKLQkJCXByX2luZm8oImZpbmlzaGluZyB0ZXN0IGVhcmx5LCBnZW1mcyB1bmFibGUg dG8gYWxsb2NhdGUgaHVnZS1wYWdlKHMpIHdpdGggc2l6ZT0ldVxuIiwKLQkJCQlzaXplKTsKLQkJ CWdvdG8gb3V0X3VucGluOwotCQl9CisJb2JqID0gaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zaG1l bShpOTE1LCBzaXplKTsKKwlpZiAoSVNfRVJSKG9iaikpCisJCXJldHVybiBQVFJfRVJSKG9iaik7 CiAKLQkJZXJyID0gaWd0X3dyaXRlX2h1Z2UoY3R4LCBvYmopOwotCQlpZiAoZXJyKSB7Ci0JCQlw cl9lcnIoImdlbWZzIHdyaXRlLWh1Z2UgZmFpbGVkIHdpdGggc2l6ZT0ldVxuIiwKLQkJCSAgICAg ICBzaXplKTsKLQkJCWdvdG8gb3V0X3VucGluOwotCQl9CisJZXJyID0gaTkxNV9nZW1fb2JqZWN0 X3Bpbl9wYWdlcyhvYmopOworCWlmIChlcnIpCisJCWdvdG8gb3V0X3B1dDsKIAotCQlpOTE1X2dl bV9vYmplY3RfdW5waW5fcGFnZXMob2JqKTsKLQkJX19pOTE1X2dlbV9vYmplY3RfcHV0X3BhZ2Vz KG9iaiwgSTkxNV9NTV9OT1JNQUwpOwotCQlpOTE1X2dlbV9vYmplY3RfcHV0KG9iaik7CisJaWYg KG9iai0+bW0ucGFnZV9zaXplcy5waHlzIDwgSTkxNV9HVFRfUEFHRV9TSVpFXzJNKSB7CisJCXBy X2luZm8oIiVzIGZpbmlzaGluZyB0ZXN0IGVhcmx5LCBnZW1mcyB1bmFibGUgdG8gYWxsb2NhdGUg aHVnZS1wYWdlKHMpIHdpdGggc2l6ZT0ldVxuIiwKKwkJCV9fZnVuY19fLCBzaXplKTsKKwkJZXJy ID0gLUVOT01FTTsKKwkJZ290byBvdXRfdW5waW47CiAJfQogCi0JcmV0dXJuIDA7CisJZXJyID0g aWd0X3dyaXRlX2h1Z2UoY3R4LCBvYmopOworCWlmIChlcnIpCisJCXByX2VycigiJXMgd3JpdGUt aHVnZSBmYWlsZWQgd2l0aCBzaXplPSV1XG4iLCBfX2Z1bmNfXywgc2l6ZSk7CiAKIG91dF91bnBp bjoKIAlpOTE1X2dlbV9vYmplY3RfdW5waW5fcGFnZXMob2JqKTsKKwlfX2k5MTVfZ2VtX29iamVj dF9wdXRfcGFnZXMob2JqLCBJOTE1X01NX05PUk1BTCk7CiBvdXRfcHV0OgogCWk5MTVfZ2VtX29i amVjdF9wdXQob2JqKTsKIAorCWlmIChlcnIgPT0gLUVOT01FTSkKKwkJZXJyID0gMDsKKwogCXJl dHVybiBlcnI7CiB9CiAKQEAgLTE0NDgsMTMgKzE0NDMsOCBAQCBzdGF0aWMgaW50IGlndF9wcGd0 dF9sbWVtX2h1Z2Uodm9pZCAqYXJnKQogCXN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHggPSBh cmc7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSBjdHgtPmk5MTU7CiAJc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iajsKLQlzdGF0aWMgY29uc3QgdW5zaWduZWQgaW50IHNp emVzW10gPSB7Ci0JCVNaXzY0SywKLQkJU1pfNTEySywKLQkJU1pfMU0sCi0JCVNaXzJNLAotCX07 Ci0JaW50IGk7CisJSTkxNV9STkRfU1RBVEUocHJuZyk7CisJdTMyIHNpemU7CiAJaW50IGVycjsK IAogCWlmICghSEFTX0xNRU0oaTkxNSkpIHsKQEAgLTE0NjcsNDkgKzE0NTcsNDkgQEAgc3RhdGlj IGludCBpZ3RfcHBndHRfbG1lbV9odWdlKHZvaWQgKmFyZykKIAkgKiAtLSBlbnN1cmUgdGhhdCBv dXIgd3JpdGVzIGxhbmQgaW4gdGhlIHJpZ2h0IHBsYWNlLgogCSAqLwogCi0JZm9yIChpID0gMDsg aSA8IEFSUkFZX1NJWkUoc2l6ZXMpOyArK2kpIHsKLQkJdW5zaWduZWQgaW50IHNpemUgPSBzaXpl c1tpXTsKLQotCQlvYmogPSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX2xtZW0oaTkxNSwgc2l6ZSwg STkxNV9CT19BTExPQ19DT05USUdVT1VTKTsKLQkJaWYgKElTX0VSUihvYmopKSB7Ci0JCQllcnIg PSBQVFJfRVJSKG9iaik7Ci0JCQlpZiAoZXJyID09IC1FMkJJRykgewotCQkJCXByX2luZm8oIm9i amVjdCB0b28gYmlnIGZvciByZWdpb24hXG4iKTsKLQkJCQlyZXR1cm4gMDsKLQkJCX0KKwlzaXpl ID0gU1pfMUc7Cit0cnlfYWdhaW46CisJc2l6ZSA9IGlndF9yYW5kb21fc2l6ZSgmcHJuZywgU1pf NjRLLCByb3VuZGRvd25fcG93X29mX3R3byhzaXplKSk7CiAKLQkJCXJldHVybiBlcnI7CisJb2Jq ID0gaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9sbWVtKGk5MTUsIHNpemUsIDApOworCWlmIChJU19F UlIob2JqKSkgeworCQllcnIgPSBQVFJfRVJSKG9iaik7CisJCWlmIChlcnIgPT0gLUUyQklHKSB7 CisJCQlzaXplID4+PSAxOworCQkJZ290byB0cnlfYWdhaW47CiAJCX0KIAotCQllcnIgPSBpOTE1 X2dlbV9vYmplY3RfcGluX3BhZ2VzKG9iaik7Ci0JCWlmIChlcnIpCi0JCQlnb3RvIG91dF9wdXQ7 Ci0KLQkJaWYgKG9iai0+bW0ucGFnZV9zaXplcy5waHlzIDwgSTkxNV9HVFRfUEFHRV9TSVpFXzY0 SykgewotCQkJcHJfaW5mbygiTE1FTSB1bmFibGUgdG8gYWxsb2NhdGUgaHVnZS1wYWdlKHMpIHdp dGggc2l6ZT0ldVxuIiwKLQkJCQlzaXplKTsKLQkJCWdvdG8gb3V0X3VucGluOwotCQl9CisJCXJl dHVybiBlcnI7CisJfQogCi0JCWVyciA9IGlndF93cml0ZV9odWdlKGN0eCwgb2JqKTsKLQkJaWYg KGVycikgewotCQkJcHJfZXJyKCJMTUVNIHdyaXRlLWh1Z2UgZmFpbGVkIHdpdGggc2l6ZT0ldVxu Iiwgc2l6ZSk7Ci0JCQlnb3RvIG91dF91bnBpbjsKKwllcnIgPSBpOTE1X2dlbV9vYmplY3RfcGlu X3BhZ2VzKG9iaik7CisJaWYgKGVycikgeworCQlpZiAoZXJyID09IC1FTlhJTykgeworCQkJaTkx NV9nZW1fb2JqZWN0X3B1dChvYmopOworCQkJc2l6ZSA+Pj0gMTsKKwkJCWdvdG8gdHJ5X2FnYWlu OwogCQl9CisJCWdvdG8gb3V0X3B1dDsKKwl9CiAKLQkJaTkxNV9nZW1fb2JqZWN0X3VucGluX3Bh Z2VzKG9iaik7Ci0JCV9faTkxNV9nZW1fb2JqZWN0X3B1dF9wYWdlcyhvYmosIEk5MTVfTU1fTk9S TUFMKTsKLQkJaTkxNV9nZW1fb2JqZWN0X3B1dChvYmopOworCWlmIChvYmotPm1tLnBhZ2Vfc2l6 ZXMucGh5cyA8IEk5MTVfR1RUX1BBR0VfU0laRV82NEspIHsKKwkJcHJfaW5mbygiJXMgdW5hYmxl IHRvIGFsbG9jYXRlIGh1Z2UtcGFnZShzKSB3aXRoIHNpemU9JXVcbiIsCisJCQlfX2Z1bmNfXywg c2l6ZSk7CisJCWVyciA9IC1FTk9NRU07CisJCWdvdG8gb3V0X3VucGluOwogCX0KIAotCXJldHVy biAwOworCWVyciA9IGlndF93cml0ZV9odWdlKGN0eCwgb2JqKTsKKwlpZiAoZXJyKQorCQlwcl9l cnIoIiVzIHdyaXRlLWh1Z2UgZmFpbGVkIHdpdGggc2l6ZT0ldVxuIiwgX19mdW5jX18sIHNpemUp OwogCiBvdXRfdW5waW46CiAJaTkxNV9nZW1fb2JqZWN0X3VucGluX3BhZ2VzKG9iaik7CisJX19p OTE1X2dlbV9vYmplY3RfcHV0X3BhZ2VzKG9iaiwgSTkxNV9NTV9OT1JNQUwpOwogb3V0X3B1dDoK IAlpOTE1X2dlbV9vYmplY3RfcHV0KG9iaik7CiAKLQlpZiAoZXJyID09IC1FTk9NRU0pCisJaWYg KGVyciA9PSAtRU5PTUVNIHx8IGVyciA9PSAtRU5YSU8pCiAJCWVyciA9IDA7CiAKIAlyZXR1cm4g ZXJyOwotLSAKMi4yMC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZng=