From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 13/49] drm/i915: Split batch pool into size buckets Date: Fri, 27 Mar 2015 11:01:45 +0000 Message-ID: <1427454141-4000-14-git-send-email-chris@chris-wilson.co.uk> References: <1427454141-4000-1-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from relay.fireflyinternet.com (hostedrelay.fireflyinternet.com [109.228.30.76]) by gabe.freedesktop.org (Postfix) with ESMTP id 64DFC72150 for ; Fri, 27 Mar 2015 04:02:49 -0700 (PDT) In-Reply-To: <1427454141-4000-1-git-send-email-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 Tm93IHdpdGggdGhlIHRyaW1tZWQgbWVtY3B5IGJlZm9yZSB0aGUgY29tbWFuZCBwYXJzZXIsIHdl IHRyeSB0bwphbGxvY2F0ZSBtYW55IGRpZmZlcmVudCBzaXplcyBvZiBiYXRjaGVzLCBwcmVkb21p bmFudGx5IG9uZSBvciB0d28KcGFnZXMuIFdlIGNhbiB0aGVyZWZvcmUgc3BlZWQgdXAgc2VhcmNo aW5nIGZvciBhIGdvb2Qgc2l6ZWQgYmF0Y2ggYnkKa2VlcGluZyB0aGUgb2JqZWN0cyBvZiBidWNr ZXRzIG9mIHJvdWdobHkgdGhlIHNhbWUgc2l6ZS4KCnYyOiBBZGQgYSBjb21tZW50IGFib3V0IGJ1 Y2tldCBzaXplcwoKU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxz b24uY28udWs+ClJldmlld2VkLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50 ZWwuY29tCi0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgICAgICAgIHwg NDYgKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaCAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt LmMgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9iYXRj aF9wb29sLmMgfCA0OSArKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2JhdGNoX3Bvb2wuaCB8ICAyICstCiA1IGZpbGVzIGNoYW5nZWQs IDY0IGluc2VydGlvbnMoKyksIDM3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k ZWJ1Z2ZzLmMKaW5kZXggMWM4MDNmZmU0YTNiLi5iMzdiN2MyYWU1ZTIgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZGVidWdmcy5jCkBAIC0zNzgsMTUgKzM3OCwxNyBAQCBzdGF0aWMgdm9pZCBwcmlu dF9iYXRjaF9wb29sX3N0YXRzKHN0cnVjdCBzZXFfZmlsZSAqbSwKIAlzdHJ1Y3QgZHJtX2k5MTVf Z2VtX29iamVjdCAqb2JqOwogCXN0cnVjdCBmaWxlX3N0YXRzIHN0YXRzOwogCXN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKnJpbmc7Ci0JaW50IGk7CisJaW50IGksIGo7CiAKIAltZW1zZXQoJnN0YXRz LCAwLCBzaXplb2Yoc3RhdHMpKTsKIAogCWZvcl9lYWNoX3JpbmcocmluZywgZGV2X3ByaXYsIGkp IHsKLQkJbGlzdF9mb3JfZWFjaF9lbnRyeShvYmosCi0JCQkJICAgICZyaW5nLT5iYXRjaF9wb29s LmNhY2hlX2xpc3QsCi0JCQkJICAgIGJhdGNoX3Bvb2xfbGlzdCkKLQkJCXBlcl9maWxlX3N0YXRz KDAsIG9iaiwgJnN0YXRzKTsKKwkJZm9yIChqID0gMDsgaiA8IEFSUkFZX1NJWkUocmluZy0+YmF0 Y2hfcG9vbC5jYWNoZV9saXN0KTsgaisrKSB7CisJCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KG9iaiwK KwkJCQkJICAgICZyaW5nLT5iYXRjaF9wb29sLmNhY2hlX2xpc3Rbal0sCisJCQkJCSAgICBiYXRj aF9wb29sX2xpbmspCisJCQkJcGVyX2ZpbGVfc3RhdHMoMCwgb2JqLCAmc3RhdHMpOworCQl9CiAJ fQogCiAJcHJpbnRfZmlsZV9zdGF0cyhtLCAiYmF0Y2ggcG9vbCIsIHN0YXRzKTsKQEAgLTYxOCwy NiArNjIwLDM4IEBAIHN0YXRpYyBpbnQgaTkxNV9nZW1fYmF0Y2hfcG9vbF9pbmZvKHN0cnVjdCBz ZXFfZmlsZSAqbSwgdm9pZCAqZGF0YSkKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSBkZXYtPmRldl9wcml2YXRlOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7 CiAJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZzsKLQlpbnQgY291bnQgPSAwOwotCWludCBy ZXQsIGk7CisJaW50IHRvdGFsID0gMDsKKwlpbnQgcmV0LCBpLCBqOwogCiAJcmV0ID0gbXV0ZXhf bG9ja19pbnRlcnJ1cHRpYmxlKCZkZXYtPnN0cnVjdF9tdXRleCk7CiAJaWYgKHJldCkKIAkJcmV0 dXJuIHJldDsKIAogCWZvcl9lYWNoX3JpbmcocmluZywgZGV2X3ByaXYsIGkpIHsKLQkJc2VxX3By aW50ZihtLCAiJXMgY2FjaGU6XG4iLCByaW5nLT5uYW1lKTsKLQkJbGlzdF9mb3JfZWFjaF9lbnRy eShvYmosCi0JCQkJICAgICZyaW5nLT5iYXRjaF9wb29sLmNhY2hlX2xpc3QsCi0JCQkJICAgIGJh dGNoX3Bvb2xfbGlzdCkgewotCQkJc2VxX3B1dHMobSwgIiAgICIpOwotCQkJZGVzY3JpYmVfb2Jq KG0sIG9iaik7Ci0JCQlzZXFfcHV0YyhtLCAnXG4nKTsKLQkJCWNvdW50Kys7CisJCWZvciAoaiA9 IDA7IGogPCBBUlJBWV9TSVpFKHJpbmctPmJhdGNoX3Bvb2wuY2FjaGVfbGlzdCk7IGorKykgewor CQkJaW50IGNvdW50OworCisJCQljb3VudCA9IDA7CisJCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KG9i aiwKKwkJCQkJICAgICZyaW5nLT5iYXRjaF9wb29sLmNhY2hlX2xpc3Rbal0sCisJCQkJCSAgICBi YXRjaF9wb29sX2xpbmspCisJCQkJY291bnQrKzsKKwkJCXNlcV9wcmludGYobSwgIiVzIGNhY2hl WyVkXTogJWQgb2JqZWN0c1xuIiwKKwkJCQkgICByaW5nLT5uYW1lLCBqLCBjb3VudCk7CisKKwkJ CWxpc3RfZm9yX2VhY2hfZW50cnkob2JqLAorCQkJCQkgICAgJnJpbmctPmJhdGNoX3Bvb2wuY2Fj aGVfbGlzdFtqXSwKKwkJCQkJICAgIGJhdGNoX3Bvb2xfbGluaykgeworCQkJCXNlcV9wdXRzKG0s ICIgICAiKTsKKwkJCQlkZXNjcmliZV9vYmoobSwgb2JqKTsKKwkJCQlzZXFfcHV0YyhtLCAnXG4n KTsKKwkJCX0KKworCQkJdG90YWwgKz0gY291bnQ7CiAJCX0KIAl9CiAKLQlzZXFfcHJpbnRmKG0s ICJ0b3RhbDogJWRcbiIsIGNvdW50KTsKKwlzZXFfcHJpbnRmKG0sICJ0b3RhbDogJWRcbiIsIHRv dGFsKTsKIAogCW11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwogCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaAppbmRleCA4NGRjZjM5MWIyNDQuLjg5NmFhZTFjMTBhYyAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oCkBAIC0xOTA5LDcgKzE5MDksNyBAQCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCB7CiAJLyoqIFVzZWQgaW4gZXhlY2J1ZiB0byB0ZW1wb3JhcmlseSBob2xkIGEgcmVmICov CiAJc3RydWN0IGxpc3RfaGVhZCBvYmpfZXhlY19saW5rOwogCi0Jc3RydWN0IGxpc3RfaGVhZCBi YXRjaF9wb29sX2xpc3Q7CisJc3RydWN0IGxpc3RfaGVhZCBiYXRjaF9wb29sX2xpbms7CiAKIAkv KioKIAkgKiBUaGlzIGlzIHNldCBpZiB0aGUgb2JqZWN0IGlzIG9uIHRoZSBhY3RpdmUgbGlzdHMg KGhhcyBwZW5kaW5nCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwppbmRleCBhOTllNDM0MTI2YmEuLjQx M2IwZTc4YjE2MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCkBAIC00NDEzLDcgKzQ0MTMsNyBA QCB2b2lkIGk5MTVfZ2VtX29iamVjdF9pbml0KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpv YmosCiAJSU5JVF9MSVNUX0hFQUQoJm9iai0+cmluZ19saXN0KTsKIAlJTklUX0xJU1RfSEVBRCgm b2JqLT5vYmpfZXhlY19saW5rKTsKIAlJTklUX0xJU1RfSEVBRCgmb2JqLT52bWFfbGlzdCk7Ci0J SU5JVF9MSVNUX0hFQUQoJm9iai0+YmF0Y2hfcG9vbF9saXN0KTsKKwlJTklUX0xJU1RfSEVBRCgm b2JqLT5iYXRjaF9wb29sX2xpbmspOwogCiAJb2JqLT5vcHMgPSBvcHM7CiAKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2JhdGNoX3Bvb2wuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2JhdGNoX3Bvb2wuYwppbmRleCAxMjg3YWJmNTViODQuLjdiZjJm M2YyOTY4ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fYmF0Y2hf cG9vbC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2JhdGNoX3Bvb2wuYwpA QCAtNDcsOCArNDcsMTIgQEAKIHZvaWQgaTkxNV9nZW1fYmF0Y2hfcG9vbF9pbml0KHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsCiAJCQkgICAgICBzdHJ1Y3QgaTkxNV9nZW1fYmF0Y2hfcG9vbCAqcG9v bCkKIHsKKwlpbnQgbjsKKwogCXBvb2wtPmRldiA9IGRldjsKLQlJTklUX0xJU1RfSEVBRCgmcG9v bC0+Y2FjaGVfbGlzdCk7CisKKwlmb3IgKG4gPSAwOyBuIDwgQVJSQVlfU0laRShwb29sLT5jYWNo ZV9saXN0KTsgbisrKQorCQlJTklUX0xJU1RfSEVBRCgmcG9vbC0+Y2FjaGVfbGlzdFtuXSk7CiB9 CiAKIC8qKgpAQCAtNTksMTYgKzYzLDIwIEBAIHZvaWQgaTkxNV9nZW1fYmF0Y2hfcG9vbF9pbml0 KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAgKi8KIHZvaWQgaTkxNV9nZW1fYmF0Y2hfcG9vbF9m aW5pKHN0cnVjdCBpOTE1X2dlbV9iYXRjaF9wb29sICpwb29sKQogeworCWludCBuOworCiAJV0FS Tl9PTighbXV0ZXhfaXNfbG9ja2VkKCZwb29sLT5kZXYtPnN0cnVjdF9tdXRleCkpOwogCi0Jd2hp bGUgKCFsaXN0X2VtcHR5KCZwb29sLT5jYWNoZV9saXN0KSkgewotCQlzdHJ1Y3QgZHJtX2k5MTVf Z2VtX29iamVjdCAqb2JqID0KLQkJCWxpc3RfZmlyc3RfZW50cnkoJnBvb2wtPmNhY2hlX2xpc3Qs Ci0JCQkJCSBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCwKLQkJCQkJIGJhdGNoX3Bvb2xfbGlz dCk7CisJZm9yIChuID0gMDsgbiA8IEFSUkFZX1NJWkUocG9vbC0+Y2FjaGVfbGlzdCk7IG4rKykg eworCQl3aGlsZSAoIWxpc3RfZW1wdHkoJnBvb2wtPmNhY2hlX2xpc3Rbbl0pKSB7CisJCQlzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqID0KKwkJCQlsaXN0X2ZpcnN0X2VudHJ5KCZwb29s LT5jYWNoZV9saXN0W25dLAorCQkJCQkJIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0LAorCQkJ CQkJIGJhdGNoX3Bvb2xfbGluayk7CiAKLQkJbGlzdF9kZWwoJm9iai0+YmF0Y2hfcG9vbF9saXN0 KTsKLQkJZHJtX2dlbV9vYmplY3RfdW5yZWZlcmVuY2UoJm9iai0+YmFzZSk7CisJCQlsaXN0X2Rl bCgmb2JqLT5iYXRjaF9wb29sX2xpbmspOworCQkJZHJtX2dlbV9vYmplY3RfdW5yZWZlcmVuY2Uo Jm9iai0+YmFzZSk7CisJCX0KIAl9CiB9CiAKQEAgLTkxLDI4ICs5OSwzMyBAQCBpOTE1X2dlbV9i YXRjaF9wb29sX2dldChzdHJ1Y3QgaTkxNV9nZW1fYmF0Y2hfcG9vbCAqcG9vbCwKIHsKIAlzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqID0gTlVMTDsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X29iamVjdCAqdG1wLCAqbmV4dDsKKwlzdHJ1Y3QgbGlzdF9oZWFkICpsaXN0OworCWludCBuOwog CiAJV0FSTl9PTighbXV0ZXhfaXNfbG9ja2VkKCZwb29sLT5kZXYtPnN0cnVjdF9tdXRleCkpOwog Ci0JbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHRtcCwgbmV4dCwKLQkJCQkgJnBvb2wtPmNhY2hl X2xpc3QsIGJhdGNoX3Bvb2xfbGlzdCkgeworCS8qIENvbXB1dGUgYSBwb3dlci1vZi10d28gYnVj a2V0LCBidXQgdGhyb3cgZXZlcnl0aGluZyBncmVhdGVyIHRoYW4KKwkgKiAxNktpQiBpbnRvIHRo ZSBzYW1lIGJ1Y2tldDogaS5lLiB0aGUgdGhlIGJ1Y2tldHMgaG9sZCBvYmplY3RzIG9mCisJICog KDEgcGFnZSwgMiBwYWdlcywgNCBwYWdlcywgOCsgcGFnZXMpLgorCSAqLworCW4gPSBmbHMoc2l6 ZSA+PiBQQUdFX1NISUZUKSAtIDE7CisJaWYgKG4gPj0gQVJSQVlfU0laRShwb29sLT5jYWNoZV9s aXN0KSkKKwkJbiA9IEFSUkFZX1NJWkUocG9vbC0+Y2FjaGVfbGlzdCkgLSAxOworCWxpc3QgPSAm cG9vbC0+Y2FjaGVfbGlzdFtuXTsKKworCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZSh0bXAsIG5l eHQsIGxpc3QsIGJhdGNoX3Bvb2xfbGluaykgewogCQkvKiBUaGUgYmF0Y2hlcyBhcmUgc3RyaWN0 bHkgTFJVIG9yZGVyZWQgKi8KIAkJaWYgKHRtcC0+YWN0aXZlKQogCQkJYnJlYWs7CiAKIAkJLyog V2hpbGUgd2UncmUgbG9vcGluZywgZG8gc29tZSBjbGVhbiB1cCAqLwogCQlpZiAodG1wLT5tYWR2 ID09IF9fSTkxNV9NQURWX1BVUkdFRCkgewotCQkJbGlzdF9kZWwoJnRtcC0+YmF0Y2hfcG9vbF9s aXN0KTsKKwkJCWxpc3RfZGVsKCZ0bXAtPmJhdGNoX3Bvb2xfbGluayk7CiAJCQlkcm1fZ2VtX29i amVjdF91bnJlZmVyZW5jZSgmdG1wLT5iYXNlKTsKIAkJCWNvbnRpbnVlOwogCQl9CiAKLQkJLyoK LQkJICogU2VsZWN0IGEgYnVmZmVyIHRoYXQgaXMgYXQgbGVhc3QgYXMgYmlnIGFzIG5lZWRlZAot CQkgKiBidXQgbm90ICd0b28gbXVjaCcgYmlnZ2VyLiBBIGJldHRlciB3YXkgdG8gZG8gdGhpcwot CQkgKiBtaWdodCBiZSB0byBidWNrZXQgdGhlIHBvb2wgb2JqZWN0cyBiYXNlZCBvbiBzaXplLgot CQkgKi8KLQkJaWYgKHRtcC0+YmFzZS5zaXplID49IHNpemUgJiYgdG1wLT5iYXNlLnNpemUgPD0g MiAqIHNpemUpIHsKKwkJaWYgKHRtcC0+YmFzZS5zaXplID49IHNpemUpIHsKIAkJCW9iaiA9IHRt cDsKIAkJCWJyZWFrOwogCQl9CkBAIC0xMzIsNyArMTQ1LDcgQEAgaTkxNV9nZW1fYmF0Y2hfcG9v bF9nZXQoc3RydWN0IGk5MTVfZ2VtX2JhdGNoX3Bvb2wgKnBvb2wsCiAJCW9iai0+bWFkdiA9IEk5 MTVfTUFEVl9ET05UTkVFRDsKIAl9CiAKLQlsaXN0X21vdmVfdGFpbCgmb2JqLT5iYXRjaF9wb29s X2xpc3QsICZwb29sLT5jYWNoZV9saXN0KTsKKwlsaXN0X21vdmVfdGFpbCgmb2JqLT5iYXRjaF9w b29sX2xpbmssIGxpc3QpOwogCWk5MTVfZ2VtX29iamVjdF9waW5fcGFnZXMob2JqKTsKIAlyZXR1 cm4gb2JqOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fYmF0 Y2hfcG9vbC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fYmF0Y2hfcG9vbC5oCmlu ZGV4IDVlZDcwZWY2YTg4Ny4uODQ4ZTkwNzAzZWVkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9iYXRjaF9wb29sLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fYmF0Y2hfcG9vbC5oCkBAIC0yOSw3ICsyOSw3IEBACiAKIHN0cnVjdCBpOTE1X2dl bV9iYXRjaF9wb29sIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2OwotCXN0cnVjdCBsaXN0X2hl YWQgY2FjaGVfbGlzdDsKKwlzdHJ1Y3QgbGlzdF9oZWFkIGNhY2hlX2xpc3RbNF07CiB9OwogCiAv KiBpOTE1X2dlbV9iYXRjaF9wb29sLmMgKi8KLS0gCjIuMS40CgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVs LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=