From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 16/41] drm/i915: Use radixtree to jump start intel_partial_pages() Date: Thu, 20 Oct 2016 16:03:58 +0100 Message-ID: <20161020150423.4560-17-chris@chris-wilson.co.uk> References: <20161020150423.4560-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-lf0-x242.google.com (mail-lf0-x242.google.com [IPv6:2a00:1450:4010:c07::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id BEC036EB9C for ; Thu, 20 Oct 2016 15:04:48 +0000 (UTC) Received: by mail-lf0-x242.google.com with SMTP id l131so458916lfl.0 for ; Thu, 20 Oct 2016 08:04:48 -0700 (PDT) In-Reply-To: <20161020150423.4560-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 V2UgY2FuIHVzZSB0aGUgcmFkaXh0cmVlIGluZGV4IG9mIHRoZSBvYmotPnBhZ2VzIHRvIGZpbmQg dGhlIHN0YXJ0CnBvc2l0aW9uIG9mIHRoZSBkZXNpcmVkIHBhcnRpYWwgcmFuZ2UuCgpTaWduZWQt b2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KUmV2aWV3ZWQt Ynk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+Ci0tLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMgfCA0MCArKysrKysrKysrKysrKysrKysrKysr KystLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygrKSwgMTQgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0 LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwppbmRleCAyYmJiZGExOTFl OTMuLmIzZjM0MWZlNzdiZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fZ3R0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKQEAgLTM1 ODQsMzUgKzM1ODQsNDcgQEAgaW50ZWxfcGFydGlhbF9wYWdlcyhjb25zdCBzdHJ1Y3QgaTkxNV9n Z3R0X3ZpZXcgKnZpZXcsCiAJCSAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQog ewogCXN0cnVjdCBzZ190YWJsZSAqc3Q7Ci0Jc3RydWN0IHNjYXR0ZXJsaXN0ICpzZzsKLQlzdHJ1 Y3Qgc2dfcGFnZV9pdGVyIG9ial9zZ19pdGVyOworCXN0cnVjdCBzY2F0dGVybGlzdCAqc2csICpp dGVyOworCXVuc2lnbmVkIGludCBjb3VudCA9IHZpZXctPnBhcmFtcy5wYXJ0aWFsLnNpemU7CisJ dW5zaWduZWQgaW50IG9mZnNldDsKIAlpbnQgcmV0ID0gLUVOT01FTTsKIAogCXN0ID0ga21hbGxv YyhzaXplb2YoKnN0KSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFzdCkKIAkJZ290byBlcnJfc3RfYWxs b2M7CiAKLQlyZXQgPSBzZ19hbGxvY190YWJsZShzdCwgdmlldy0+cGFyYW1zLnBhcnRpYWwuc2l6 ZSwgR0ZQX0tFUk5FTCk7CisJcmV0ID0gc2dfYWxsb2NfdGFibGUoc3QsIGNvdW50LCBHRlBfS0VS TkVMKTsKIAlpZiAocmV0KQogCQlnb3RvIGVycl9zZ19hbGxvYzsKIAorCWl0ZXIgPSBpOTE1X2dl bV9vYmplY3RfZ2V0X3NnKG9iaiwKKwkJCQkgICAgICB2aWV3LT5wYXJhbXMucGFydGlhbC5vZmZz ZXQsCisJCQkJICAgICAgJm9mZnNldCk7CisJR0VNX0JVR19PTighaXRlcik7CisKIAlzZyA9IHN0 LT5zZ2w7CiAJc3QtPm5lbnRzID0gMDsKLQlmb3JfZWFjaF9zZ19wYWdlKG9iai0+cGFnZXMtPnNn bCwgJm9ial9zZ19pdGVyLCBvYmotPnBhZ2VzLT5uZW50cywKLQkJdmlldy0+cGFyYW1zLnBhcnRp YWwub2Zmc2V0KQotCXsKLQkJaWYgKHN0LT5uZW50cyA+PSB2aWV3LT5wYXJhbXMucGFydGlhbC5z aXplKQotCQkJYnJlYWs7CisJZG8geworCQl1bnNpZ25lZCBpbnQgbGVuOwogCi0JCXNnX3NldF9w YWdlKHNnLCBOVUxMLCBQQUdFX1NJWkUsIDApOwotCQlzZ19kbWFfYWRkcmVzcyhzZykgPSBzZ19w YWdlX2l0ZXJfZG1hX2FkZHJlc3MoJm9ial9zZ19pdGVyKTsKLQkJc2dfZG1hX2xlbihzZykgPSBQ QUdFX1NJWkU7CisJCWxlbiA9IG1pbihpdGVyLT5sZW5ndGggLSAob2Zmc2V0IDw8IFBBR0VfU0hJ RlQpLAorCQkJICBjb3VudCA8PCBQQUdFX1NISUZUKTsKKwkJc2dfc2V0X3BhZ2Uoc2csIE5VTEws IGxlbiwgMCk7CisJCXNnX2RtYV9hZGRyZXNzKHNnKSA9CisJCQlzZ19kbWFfYWRkcmVzcyhpdGVy KSArIChvZmZzZXQgPDwgUEFHRV9TSElGVCk7CisJCXNnX2RtYV9sZW4oc2cpID0gbGVuOwogCi0J CXNnID0gc2dfbmV4dChzZyk7CiAJCXN0LT5uZW50cysrOwotCX0KKwkJY291bnQgLT0gbGVuID4+ IFBBR0VfU0hJRlQ7CisJCWlmIChjb3VudCA9PSAwKSB7CisJCQlzZ19tYXJrX2VuZChzZyk7CisJ CQlyZXR1cm4gc3Q7CisJCX0KIAotCXJldHVybiBzdDsKKwkJc2cgPSBfX3NnX25leHQoc2cpOwor CQlpdGVyID0gX19zZ19uZXh0KGl0ZXIpOworCQlvZmZzZXQgPSAwOworCX0gd2hpbGUgKDEpOwog CiBlcnJfc2dfYWxsb2M6CiAJa2ZyZWUoc3QpOwotLSAKMi45LjMKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=