From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 15/41] drm/i915: Use radixtree to jump start intel_partial_pages() Date: Fri, 14 Oct 2016 13:18:07 +0100 Message-ID: <20161014121833.439-16-chris@chris-wilson.co.uk> References: <20161014121833.439-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-x244.google.com (mail-lf0-x244.google.com [IPv6:2a00:1450:4010:c07::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7B1976E11E for ; Fri, 14 Oct 2016 12:18:57 +0000 (UTC) Received: by mail-lf0-x244.google.com with SMTP id l131so15055467lfl.0 for ; Fri, 14 Oct 2016 05:18:57 -0700 (PDT) In-Reply-To: <20161014121833.439-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 b2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KLS0tCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYyB8IDQwICsrKysrKysrKysrKysrKysrKysr KysrKy0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAyNiBpbnNlcnRpb25zKCspLCAxNCBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9n dHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCmluZGV4IDJiYmJkYTE5 MWU5My4uYjNmMzQxZmU3N2JmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9ndHQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwpAQCAt MzU4NCwzNSArMzU4NCw0NyBAQCBpbnRlbF9wYXJ0aWFsX3BhZ2VzKGNvbnN0IHN0cnVjdCBpOTE1 X2dndHRfdmlldyAqdmlldywKIAkJICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmop CiB7CiAJc3RydWN0IHNnX3RhYmxlICpzdDsKLQlzdHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnOwotCXN0 cnVjdCBzZ19wYWdlX2l0ZXIgb2JqX3NnX2l0ZXI7CisJc3RydWN0IHNjYXR0ZXJsaXN0ICpzZywg Kml0ZXI7CisJdW5zaWduZWQgaW50IGNvdW50ID0gdmlldy0+cGFyYW1zLnBhcnRpYWwuc2l6ZTsK Kwl1bnNpZ25lZCBpbnQgb2Zmc2V0OwogCWludCByZXQgPSAtRU5PTUVNOwogCiAJc3QgPSBrbWFs bG9jKHNpemVvZigqc3QpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIXN0KQogCQlnb3RvIGVycl9zdF9h bGxvYzsKIAotCXJldCA9IHNnX2FsbG9jX3RhYmxlKHN0LCB2aWV3LT5wYXJhbXMucGFydGlhbC5z aXplLCBHRlBfS0VSTkVMKTsKKwlyZXQgPSBzZ19hbGxvY190YWJsZShzdCwgY291bnQsIEdGUF9L RVJORUwpOwogCWlmIChyZXQpCiAJCWdvdG8gZXJyX3NnX2FsbG9jOwogCisJaXRlciA9IGk5MTVf Z2VtX29iamVjdF9nZXRfc2cob2JqLAorCQkJCSAgICAgIHZpZXctPnBhcmFtcy5wYXJ0aWFsLm9m ZnNldCwKKwkJCQkgICAgICAmb2Zmc2V0KTsKKwlHRU1fQlVHX09OKCFpdGVyKTsKKwogCXNnID0g c3QtPnNnbDsKIAlzdC0+bmVudHMgPSAwOwotCWZvcl9lYWNoX3NnX3BhZ2Uob2JqLT5wYWdlcy0+ c2dsLCAmb2JqX3NnX2l0ZXIsIG9iai0+cGFnZXMtPm5lbnRzLAotCQl2aWV3LT5wYXJhbXMucGFy dGlhbC5vZmZzZXQpCi0JewotCQlpZiAoc3QtPm5lbnRzID49IHZpZXctPnBhcmFtcy5wYXJ0aWFs LnNpemUpCi0JCQlicmVhazsKKwlkbyB7CisJCXVuc2lnbmVkIGludCBsZW47CiAKLQkJc2dfc2V0 X3BhZ2Uoc2csIE5VTEwsIFBBR0VfU0laRSwgMCk7Ci0JCXNnX2RtYV9hZGRyZXNzKHNnKSA9IHNn X3BhZ2VfaXRlcl9kbWFfYWRkcmVzcygmb2JqX3NnX2l0ZXIpOwotCQlzZ19kbWFfbGVuKHNnKSA9 IFBBR0VfU0laRTsKKwkJbGVuID0gbWluKGl0ZXItPmxlbmd0aCAtIChvZmZzZXQgPDwgUEFHRV9T SElGVCksCisJCQkgIGNvdW50IDw8IFBBR0VfU0hJRlQpOworCQlzZ19zZXRfcGFnZShzZywgTlVM TCwgbGVuLCAwKTsKKwkJc2dfZG1hX2FkZHJlc3Moc2cpID0KKwkJCXNnX2RtYV9hZGRyZXNzKGl0 ZXIpICsgKG9mZnNldCA8PCBQQUdFX1NISUZUKTsKKwkJc2dfZG1hX2xlbihzZykgPSBsZW47CiAK LQkJc2cgPSBzZ19uZXh0KHNnKTsKIAkJc3QtPm5lbnRzKys7Ci0JfQorCQljb3VudCAtPSBsZW4g Pj4gUEFHRV9TSElGVDsKKwkJaWYgKGNvdW50ID09IDApIHsKKwkJCXNnX21hcmtfZW5kKHNnKTsK KwkJCXJldHVybiBzdDsKKwkJfQogCi0JcmV0dXJuIHN0OworCQlzZyA9IF9fc2dfbmV4dChzZyk7 CisJCWl0ZXIgPSBfX3NnX25leHQoaXRlcik7CisJCW9mZnNldCA9IDA7CisJfSB3aGlsZSAoMSk7 CiAKIGVycl9zZ19hbGxvYzoKIAlrZnJlZShzdCk7Ci0tIAoyLjkuMwoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==