From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [RFC 16/39] drm/i915: Added tracking/locking of batch buffer objects Date: Fri, 17 Jul 2015 15:33:25 +0100 Message-ID: <1437143628-6329-17-git-send-email-John.C.Harrison@Intel.com> References: <1437143628-6329-1-git-send-email-John.C.Harrison@Intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 5F9D06E4E6 for ; Fri, 17 Jul 2015 07:34:09 -0700 (PDT) In-Reply-To: <1437143628-6329-1-git-send-email-John.C.Harrison@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 RnJvbTogSm9obiBIYXJyaXNvbiA8Sm9obi5DLkhhcnJpc29uQEludGVsLmNvbT4KClRoZSBzY2hl ZHVsZXIgbmVlZHMgdG8gdHJhY2sgaW50ZXJkZXBlbmRlbmNpZXMgYmV0d2VlbiBiYXRjaCBidWZm ZXJzLiBUaGVzZSBhcmUKY2FsY3VsYXRlZCBieSBhbmFseXNpbmcgdGhlIG9iamVjdCBsaXN0cyBv ZiB0aGUgYnVmZmVycyBhbmQgbG9va2luZyBmb3IKY29tbW9uYWxpdHkuIFRoZSBzY2hlZHVsZXIg YWxzbyBuZWVkcyB0byBrZWVwIHRob3NlIGJ1ZmZlcnMgbG9ja2VkIGxvbmcgYWZ0ZXIKdGhlIGlu aXRpYWwgSU9DVEwgY2FsbCBoYXMgcmV0dXJuZWQgdG8gdXNlciBsYW5kLgoKQ2hhbmdlLUlkOiBJ MzFlMzY3N2VjZmMyYzliNWE5MDhiZGE2YWNjNDg1MDQzMmQ1NWYxZQpGb3I6IFZJWi0xNTg3ClNp Z25lZC1vZmYtYnk6IEpvaG4gSGFycmlzb24gPEpvaG4uQy5IYXJyaXNvbkBJbnRlbC5jb20+Ci0t LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jIHwgNDggKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3NjaGVk dWxlci5jICAgICAgfCAzMyArKysrKysrKysrKysrKysrKystLQogMiBmaWxlcyBjaGFuZ2VkLCA3 NiBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2V4ZWNidWZmZXIuYwppbmRleCA3NWQwMThkLi42MWE1NDk4IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCkBAIC0xNDk4LDcgKzE0OTgsNyBAQCBp OTE1X2dlbV9kb19leGVjYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEs CiAJc3RydWN0IGk5MTVfZXhlY2J1ZmZlcl9wYXJhbXMgKnBhcmFtcyA9ICZxZS5wYXJhbXM7CiAJ Y29uc3QgdTMyIGN0eF9pZCA9IGk5MTVfZXhlY2J1ZmZlcjJfZ2V0X2NvbnRleHRfaWQoKmFyZ3Mp OwogCXUzMiBkaXNwYXRjaF9mbGFnczsKLQlpbnQgcmV0OworCWludCByZXQsIGk7CiAJYm9vbCBu ZWVkX3JlbG9jczsKIAlpbnQgZmRfZmVuY2VfY29tcGxldGUgPSAtMTsKICNpZmRlZiBDT05GSUdf U1lOQwpAQCAtMTYzNiw2ICsxNjM2LDE0IEBAIGk5MTVfZ2VtX2RvX2V4ZWNidWZmZXIoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJZ290byBwcmVfbXV0ZXhfZXJyOwogCX0K IAorCXFlLnNhdmVkX29iamVjdHMgPSBremFsbG9jKAorCQkJc2l6ZW9mKCpxZS5zYXZlZF9vYmpl Y3RzKSAqIGFyZ3MtPmJ1ZmZlcl9jb3VudCwKKwkJCUdGUF9LRVJORUwpOworCWlmICghcWUuc2F2 ZWRfb2JqZWN0cykgeworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIGVycjsKKwl9CisKIAkvKiBM b29rIHVwIG9iamVjdCBoYW5kbGVzICovCiAJcmV0ID0gZWJfbG9va3VwX3ZtYXMoZWIsIGV4ZWMs IGFyZ3MsIHZtLCBmaWxlKTsKIAlpZiAocmV0KQpAQCAtMTc1Niw3ICsxNzY0LDI2IEBAIGk5MTVf Z2VtX2RvX2V4ZWNidWZmZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAlw YXJhbXMtPmFyZ3NfRFIxICAgICAgICAgICAgICAgID0gYXJncy0+RFIxOwogCXBhcmFtcy0+YXJn c19EUjQgICAgICAgICAgICAgICAgPSBhcmdzLT5EUjQ7CiAJcGFyYW1zLT5iYXRjaF9vYmogICAg ICAgICAgICAgICA9IGJhdGNoX29iajsKLQlwYXJhbXMtPmN0eCAgICAgICAgICAgICAgICAgICAg ID0gY3R4OworCisJLyoKKwkgKiBTYXZlIGF3YXkgdGhlIGxpc3Qgb2Ygb2JqZWN0cyB1c2VkIGJ5 IHRoaXMgYmF0Y2ggYnVmZmVyIGZvciB0aGUKKwkgKiBwdXJwb3NlIG9mIHRyYWNraW5nIGludGVy LWJ1ZmZlciBkZXBlbmRlbmNpZXMuCisJICovCisJZm9yIChpID0gMDsgaSA8IGFyZ3MtPmJ1ZmZl cl9jb3VudDsgaSsrKSB7CisJCS8qCisJCSAqIE5COiAnZHJtX2dlbV9vYmplY3RfbG9va3VwKCkn IGluY3JlbWVudHMgdGhlIG9iamVjdCdzCisJCSAqIHJlZmVyZW5jZSBjb3VudCBhbmQgc28gbXVz dCBiZSBtYXRjaGVkIGJ5IGEKKwkJICogJ2RybV9nZW1fb2JqZWN0X3VucmVmZXJlbmNlJyBjYWxs LgorCQkgKi8KKwkJcWUuc2F2ZWRfb2JqZWN0c1tpXS5vYmogPQorCQkJdG9faW50ZWxfYm8oZHJt X2dlbV9vYmplY3RfbG9va3VwKGRldiwgZmlsZSwKKwkJCQkJCQkgIGV4ZWNbaV0uaGFuZGxlKSk7 CisJfQorCXFlLm51bV9vYmpzID0gaTsKKworCS8qIExvY2sgYW5kIHNhdmUgdGhlIGNvbnRleHQg b2JqZWN0IGFzIHdlbGwuICovCisJaTkxNV9nZW1fY29udGV4dF9yZWZlcmVuY2UoY3R4KTsKKwlw YXJhbXMtPmN0eCA9IGN0eDsKIAogI2lmZGVmIENPTkZJR19TWU5DCiAJaWYgKGFyZ3MtPmZsYWdz ICYgSTkxNV9FWEVDX0NSRUFURV9GRU5DRSkgewpAQCAtMTgwOCw2ICsxODM1LDIzIEBAIGVycjoK IAlpOTE1X2dlbV9jb250ZXh0X3VucmVmZXJlbmNlKGN0eCk7CiAJZWJfZGVzdHJveShlYik7CiAK KwlpZiAocWUuc2F2ZWRfb2JqZWN0cykgeworCQkvKiBOZWVkIHRvIHJlbGVhc2UgdGhlIG9iamVj dHM6ICovCisJCWZvciAoaSA9IDA7IGkgPCBxZS5udW1fb2JqczsgaSsrKSB7CisJCQlpZiAoIXFl LnNhdmVkX29iamVjdHNbaV0ub2JqKQorCQkJCWNvbnRpbnVlOworCisJCQlkcm1fZ2VtX29iamVj dF91bnJlZmVyZW5jZSgKKwkJCQkJJnFlLnNhdmVkX29iamVjdHNbaV0ub2JqLT5iYXNlKTsKKwkJ fQorCisJCWtmcmVlKHFlLnNhdmVkX29iamVjdHMpOworCisJCS8qIENvbnRleHQgdG9vICovCisJ CWlmIChwYXJhbXMtPmN0eCkKKwkJCWk5MTVfZ2VtX2NvbnRleHRfdW5yZWZlcmVuY2UocGFyYW1z LT5jdHgpOworCX0KKwogCS8qCiAJICogSWYgdGhlIHJlcXVlc3Qgd2FzIGNyZWF0ZWQgYnV0IG5v dCBzdWNjZXNzZnVsbHkgc3VibWl0dGVkIHRoZW4gaXQKIAkgKiBtdXN0IGJlIGZyZWVkIGFnYWlu LiBJZiBpdCB3YXMgc3VibWl0dGVkIHRoZW4gaXQgaXMgYmVpbmcgdHJhY2tlZApkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zY2hlZHVsZXIuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfc2NoZWR1bGVyLmMKaW5kZXggZTE0NTgyOS4uZjVmYTk2OCAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zY2hlZHVsZXIuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3NjaGVkdWxlci5jCkBAIC0xMDgsNyArMTA4LDIzIEBAIGludCBpOTE1 X3NjaGVkdWxlcl9xdWV1ZV9leGVjYnVmZmVyKHN0cnVjdCBpOTE1X3NjaGVkdWxlcl9xdWV1ZV9l bnRyeSAqcWUpCiAJCWlmIChyZXQpCiAJCQlyZXR1cm4gcmV0OwogCi0JCS8qIEZyZWUgZXZlcnl0 aGluZyB0aGF0IGlzIG93bmVkIGJ5IHRoZSBRRSBzdHJ1Y3R1cmU6ICovCisJCS8qIE5lZWQgdG8g cmVsZWFzZSB0aGUgb2JqZWN0czogKi8KKwkJZm9yIChpID0gMDsgaSA8IHFlLT5udW1fb2Jqczsg aSsrKSB7CisJCQlpZiAoIXFlLT5zYXZlZF9vYmplY3RzW2ldLm9iaikKKwkJCQljb250aW51ZTsK KworCQkJZHJtX2dlbV9vYmplY3RfdW5yZWZlcmVuY2UoJnFlLT5zYXZlZF9vYmplY3RzW2ldLm9i ai0+YmFzZSk7CisJCX0KKworCQlrZnJlZShxZS0+c2F2ZWRfb2JqZWN0cyk7CisJCXFlLT5zYXZl ZF9vYmplY3RzID0gTlVMTDsKKwkJcWUtPm51bV9vYmpzID0gMDsKKworCQkvKiBGcmVlIHRoZSBj b250ZXh0IG9iamVjdCB0b286ICovCisJCWlmIChxZS0+cGFyYW1zLmN0eCkKKwkJCWk5MTVfZ2Vt X2NvbnRleHRfdW5yZWZlcmVuY2UocWUtPnBhcmFtcy5jdHgpOworCisJCS8qIEFuZCBhbnl0aGlu ZyBlbHNlIG93bmVkIGJ5IHRoZSBRRSBzdHJ1Y3R1cmU6ICovCiAJCWtmcmVlKHFlLT5wYXJhbXMu Y2xpcHJlY3RzKTsKIAkJaWYgKHFlLT5wYXJhbXMuZGlzcGF0Y2hfZmxhZ3MgJiBJOTE1X0RJU1BB VENIX1NFQ1VSRSkKIAkJCWk5MTVfZ2VtX2V4ZWNidWZmX3JlbGVhc2VfYmF0Y2hfb2JqKHFlLT5w YXJhbXMuYmF0Y2hfb2JqKTsKQEAgLTQyNSw3ICs0NDEsNyBAQCBzdGF0aWMgaW50IGk5MTVfc2No ZWR1bGVyX3JlbW92ZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQogCWludCAgICAgICAg ICAgICAgICAgZmx5aW5nID0gMCwgcXVldWVkID0gMDsKIAlpbnQgICAgICAgICAgICAgICAgIHJl dCA9IDA7CiAJYm9vbCAgICAgICAgICAgICAgICBkb19zdWJtaXQ7Ci0JdWludDMyX3QgICAgICAg ICAgICBtaW5fc2Vxbm87CisJdWludDMyX3QgICAgICAgICAgICBpLCBtaW5fc2Vxbm87CiAJc3Ry dWN0IGxpc3RfaGVhZCAgICByZW1vdmU7CiAKIAlpZiAobGlzdF9lbXB0eSgmc2NoZWR1bGVyLT5u b2RlX3F1ZXVlW3JpbmctPmlkXSkpCkBAIC01MjQsNyArNTQwLDE4IEBAIHN0YXRpYyBpbnQgaTkx NV9zY2hlZHVsZXJfcmVtb3ZlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCiAJCWlmIChu b2RlLT5wYXJhbXMuZGlzcGF0Y2hfZmxhZ3MgJiBJOTE1X0RJU1BBVENIX1NFQ1VSRSkKIAkJCWk5 MTVfZ2VtX2V4ZWNidWZmX3JlbGVhc2VfYmF0Y2hfb2JqKG5vZGUtPnBhcmFtcy5iYXRjaF9vYmop OwogCi0JCS8qIEZyZWUgZXZlcnl0aGluZyB0aGF0IGlzIG93bmVkIGJ5IHRoZSBub2RlOiAqLwor CQkvKiBSZWxlYXNlIHRoZSBsb2NrZWQgYnVmZmVyczogKi8KKwkJZm9yIChpID0gMDsgaSA8IG5v ZGUtPm51bV9vYmpzOyBpKyspIHsKKwkJCWRybV9nZW1fb2JqZWN0X3VucmVmZXJlbmNlKAorCQkJ CQkgICAgJm5vZGUtPnNhdmVkX29iamVjdHNbaV0ub2JqLT5iYXNlKTsKKwkJfQorCQlrZnJlZShu b2RlLT5zYXZlZF9vYmplY3RzKTsKKworCQkvKiBDb250ZXh0IHRvbzogKi8KKwkJaWYgKG5vZGUt PnBhcmFtcy5jdHgpCisJCQlpOTE1X2dlbV9jb250ZXh0X3VucmVmZXJlbmNlKG5vZGUtPnBhcmFt cy5jdHgpOworCisJCS8qIEFuZCBhbnl0aGluZyBlbHNlIG93bmVkIGJ5IHRoZSBub2RlOiAqLwog CQlub2RlLT5wYXJhbXMucmVxdWVzdC0+c2NoZWR1bGVyX3FlID0gTlVMTDsKIAkJaTkxNV9nZW1f cmVxdWVzdF91bnJlZmVyZW5jZShub2RlLT5wYXJhbXMucmVxdWVzdCk7CiAJCWtmcmVlKG5vZGUt PnBhcmFtcy5jbGlwcmVjdHMpOwotLSAKMS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4Cg==