From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [RFC PATCH 12/42] drm/i915/selftests: exercise huge-pages for LMEM Date: Thu, 14 Feb 2019 14:57:10 +0000 Message-ID: <20190214145740.14521-13-matthew.auld@intel.com> References: <20190214145740.14521-1-matthew.auld@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 66FBB6E919 for ; Thu, 14 Feb 2019 14:57:58 +0000 (UTC) In-Reply-To: <20190214145740.14521-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 V2UgYWxyZWFkeSBleGVyY2lzZSBodWdlLXBhZ2VzIGZvciBvdXIgb3RoZXIgb2JqZWN0IHR5cGVz LCBzbyBhZGQgTE1FTQpvYmplY3RzIHRvIHRoZSBsaXN0LiBBbHNvIHRyeSBvdXIgbHVjayB3aXRo IDFHIHBhZ2VzLgoKU2lnbmVkLW9mZi1ieTogTWF0dGhldyBBdWxkIDxtYXR0aGV3LmF1bGRAaW50 ZWwuY29tPgpDYzogSm9vbmFzIExhaHRpbmVuIDxqb29uYXMubGFodGluZW5AbGludXguaW50ZWwu Y29tPgpDYzogQWJkaWVsIEphbnVsZ3VlIDxhYmRpZWwuamFudWxndWVAbGludXguaW50ZWwuY29t PgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9odWdlX3BhZ2VzLmMgfCAxMjEg KysrKysrKysrKysrKysrKysrKy0KIDEgZmlsZSBjaGFuZ2VkLCAxMjAgaW5zZXJ0aW9ucygrKSwg MSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0 cy9odWdlX3BhZ2VzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaHVnZV9wYWdl cy5jCmluZGV4IGIwYzhiNDk1NWYxNC4uZjQyODNkNDFjMTNmIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaHVnZV9wYWdlcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L3NlbGZ0ZXN0cy9odWdlX3BhZ2VzLmMKQEAgLTEwOTUsNyArMTA5NSw3IEBAIHN0YXRp YyBpbnQgZ3B1X3dyaXRlKHN0cnVjdCBpOTE1X3ZtYSAqdm1hLAogCXJldHVybiBlcnI7CiB9CiAK LXN0YXRpYyBpbnQgY3B1X2NoZWNrKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosIHUz MiBkd29yZCwgdTMyIHZhbCkKK3N0YXRpYyBpbnQgX19jcHVfY2hlY2tfc2htZW0oc3RydWN0IGRy bV9pOTE1X2dlbV9vYmplY3QgKm9iaiwgdTMyIGR3b3JkLCB1MzIgdmFsKQogewogCXVuc2lnbmVk IGludCBuZWVkc19mbHVzaDsKIAl1bnNpZ25lZCBsb25nIG47CkBAIC0xMTI3LDYgKzExMjcsNTIg QEAgc3RhdGljIGludCBjcHVfY2hlY2soc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwg dTMyIGR3b3JkLCB1MzIgdmFsKQogCXJldHVybiBlcnI7CiB9CiAKK3N0YXRpYyBpbnQgX19jcHVf Y2hlY2tfbG1lbShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLCB1MzIgZHdvcmQsIHUz MiB2YWwpCit7CisJdW5zaWduZWQgbG9uZyBuOworCWludCBlcnI7CisKKwllcnIgPSBpOTE1X2dl bV9vYmplY3Rfc2V0X3RvX3djX2RvbWFpbihvYmosIGZhbHNlKTsKKwlpZiAoZXJyKQorCQlyZXR1 cm4gZXJyOworCisJZXJyID0gaTkxNV9nZW1fb2JqZWN0X3Bpbl9wYWdlcyhvYmopOworCWlmIChl cnIpCisJCXJldHVybiBlcnI7CisKKwlmb3IgKG4gPSAwOyBuIDwgb2JqLT5iYXNlLnNpemUgPj4g UEFHRV9TSElGVDsgKytuKSB7CisJCXUzMiBfX2lvbWVtICpiYXNlOworCQl1MzIgcmVhZF92YWw7 CisKKwkJYmFzZSA9ICh2b2lkIF9fZm9yY2UgKilpb19tYXBwaW5nX21hcF9hdG9taWNfd2MoJm9i ai0+bWVtb3J5X3JlZ2lvbi0+aW9tYXAsCisJCQkJCQkJCWk5MTVfZ2VtX29iamVjdF9nZXRfZG1h X2FkZHJlc3Mob2JqLCBuKSk7CisKKwkJcmVhZF92YWwgPSBpb3JlYWQzMihiYXNlICsgZHdvcmQp OworCQlpb19tYXBwaW5nX3VubWFwX2F0b21pYyhiYXNlKTsKKwkJaWYgKHJlYWRfdmFsICE9IHZh bCkgeworCQkJcHJfZXJyKCJuPSVsdSBiYXNlWyV1XT0ldSwgdmFsPSV1XG4iLAorCQkJICAgICAg IG4sIGR3b3JkLCByZWFkX3ZhbCwgdmFsKTsKKwkJCWVyciA9IC1FSU5WQUw7CisJCQlicmVhazsK KwkJfQorCX0KKworCWk5MTVfZ2VtX29iamVjdF91bnBpbl9wYWdlcyhvYmopOworCXJldHVybiBl cnI7Cit9CisKK3N0YXRpYyBpbnQgY3B1X2NoZWNrKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 ICpvYmosIHUzMiBkd29yZCwgdTMyIHZhbCkKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNSA9IHRvX2k5MTUob2JqLT5iYXNlLmRldik7CisKKwlpZiAoaTkxNV9nZW1fb2JqZWN0X2hh c19zdHJ1Y3RfcGFnZShvYmopKQorCQlyZXR1cm4gX19jcHVfY2hlY2tfc2htZW0ob2JqLCBkd29y ZCwgdmFsKTsKKwllbHNlIGlmIChIQVNfTE1FTShpOTE1KSAmJiBvYmotPm1lbW9yeV9yZWdpb24p CisJCXJldHVybiBfX2NwdV9jaGVja19sbWVtKG9iaiwgZHdvcmQsIHZhbCk7CisKKwlyZXR1cm4g LUVOT0RFVjsKK30KKwogc3RhdGljIGludCBfX2lndF93cml0ZV9odWdlKHN0cnVjdCBpOTE1X2dl bV9jb250ZXh0ICpjdHgsCiAJCQkgICAgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAog CQkJICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCkBAIC0xNTEwLDYgKzE1NTYs NzggQEAgc3RhdGljIGludCBpZ3RfcHBndHRfZ2VtZnNfaHVnZSh2b2lkICphcmcpCiAJcmV0dXJu IGVycjsKIH0KIAorc3RhdGljIGludCBpZ3RfcHBndHRfbG1lbV9odWdlKHZvaWQgKmFyZykKK3sK KwlzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4ID0gYXJnOworCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICppOTE1ID0gY3R4LT5pOTE1OworCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpv Ymo7CisJc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBzaXplc1tdID0geworCQlTWl82NEssCisJ CVNaXzUxMkssCisJCVNaXzFNLAorCQlTWl8yTSwKKwkJU1pfMUcsIC8qIFRyeSBvdXIgbHVjayEg Ki8KKwl9OworCWludCBpOworCWludCBlcnI7CisKKwlpZiAoIUhBU19MTUVNKGk5MTUpKSB7CisJ CXByX2luZm8oImRldmljZSBsYWNrcyBMTUVNIHN1cHBvcnQsIHNraXBwaW5nXG4iKTsKKwkJcmV0 dXJuIDA7CisJfQorCisJLyoKKwkgKiBTYW5pdHkgY2hlY2sgdGhhdCB0aGUgSFcgdXNlcyBodWdl IHBhZ2VzIGNvcnJlY3RseSB0aHJvdWdoIExNRU0KKwkgKiAtLSBlbnN1cmUgdGhhdCBvdXIgd3Jp dGVzIGxhbmQgaW4gdGhlIHJpZ2h0IHBsYWNlLgorCSAqLworCisJZm9yIChpID0gMDsgaSA8IEFS UkFZX1NJWkUoc2l6ZXMpOyArK2kpIHsKKwkJdW5zaWduZWQgaW50IHNpemUgPSBzaXplc1tpXTsK KworCQlvYmogPSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX2xtZW0oaTkxNSwgc2l6ZSwgMCk7CisJ CWlmIChJU19FUlIob2JqKSkgeworCQkJZXJyID0gUFRSX0VSUihvYmopOworCQkJaWYgKGVyciA9 PSAtRTJCSUcpIHsKKwkJCQlwcl9pbmZvKCJvYmplY3QgdG9vIGJpZyBmb3IgcmVnaW9uIVxuIik7 CisJCQkJcmV0dXJuIDA7CisJCQl9CisKKwkJCXJldHVybiBlcnI7CisJCX0KKworCQllcnIgPSBp OTE1X2dlbV9vYmplY3RfcGluX3BhZ2VzKG9iaik7CisJCWlmIChlcnIpCisJCQlnb3RvIG91dF9w dXQ7CisKKwkJaWYgKG9iai0+bW0ucGFnZV9zaXplcy5waHlzID09IEk5MTVfR1RUX1BBR0VfU0la RV8xRykgeworCQkJcHJfaW5mbygibG9uZyBsaXZlIDFHIHBhZ2VzIVxuIik7CisJCX0gZWxzZSBp ZiAob2JqLT5tbS5wYWdlX3NpemVzLnBoeXMgPCBJOTE1X0dUVF9QQUdFX1NJWkVfNjRLKSB7CisJ CQlwcl9pbmZvKCJMTUVNIHVuYWJsZSB0byBhbGxvY2F0ZSBodWdlLXBhZ2Uocykgd2l0aCBzaXpl PSV1XG4iLAorCQkJCXNpemUpOworCQkJZ290byBvdXRfdW5waW47CisJCX0KKworCQllcnIgPSBp Z3Rfd3JpdGVfaHVnZShjdHgsIG9iaik7CisJCWlmIChlcnIpIHsKKwkJCXByX2VycigiTE1FTSB3 cml0ZS1odWdlIGZhaWxlZCB3aXRoIHNpemU9JXVcbiIsIHNpemUpOworCQkJZ290byBvdXRfdW5w aW47CisJCX0KKworCQlpOTE1X2dlbV9vYmplY3RfdW5waW5fcGFnZXMob2JqKTsKKwkJX19pOTE1 X2dlbV9vYmplY3RfcHV0X3BhZ2VzKG9iaiwgSTkxNV9NTV9OT1JNQUwpOworCQlpOTE1X2dlbV9v YmplY3RfcHV0KG9iaik7CisJfQorCisJcmV0dXJuIDA7CisKK291dF91bnBpbjoKKwlpOTE1X2dl bV9vYmplY3RfdW5waW5fcGFnZXMob2JqKTsKK291dF9wdXQ6CisJaTkxNV9nZW1fb2JqZWN0X3B1 dChvYmopOworCisJcmV0dXJuIGVycjsKK30KKwogc3RhdGljIGludCBpZ3RfcHBndHRfcGluX3Vw ZGF0ZSh2b2lkICphcmcpCiB7CiAJc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCA9IGFyZzsK QEAgLTE4MzUsNiArMTk1Myw3IEBAIGludCBpOTE1X2dlbV9odWdlX3BhZ2VfbGl2ZV9zZWxmdGVz dHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCQlTVUJURVNUKGlndF9wcGd0 dF9leGhhdXN0X2h1Z2UpLAogCQlTVUJURVNUKGlndF9wcGd0dF9nZW1mc19odWdlKSwKIAkJU1VC VEVTVChpZ3RfcHBndHRfaW50ZXJuYWxfaHVnZSksCisJCVNVQlRFU1QoaWd0X3BwZ3R0X2xtZW1f aHVnZSksCiAJfTsKIAlzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGU7CiAJc3RydWN0IGk5MTVfZ2VtX2Nv bnRleHQgKmN0eDsKLS0gCjIuMjAuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaW50ZWwtZ2Z4