From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [RFC 39/39] drm/i915: Allow scheduler to manage inter-ring object synchronisation Date: Fri, 17 Jul 2015 15:33:48 +0100 Message-ID: <1437143628-6329-40-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 A0AAA6ED8E for ; Fri, 17 Jul 2015 07:34:36 -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 ZHVsZXIgaGFzIGFsd2F5cyB0cmFja2VkIGJhdGNoIGJ1ZmZlciBkZXBlbmRlbmNpZXMgYmFzZWQg b24KRFJNIG9iamVjdCB1c2FnZS4gVGhpcyBtZWFucyB0aGF0IGl0IHdpbGwgbm90IHN1Ym1pdCBh IGJhdGNoIG9uIG9uZQpyaW5nIHRoYXQgaGFzIG91dHN0YW5kaW5nIGRlcGVuZGVuY2llcyBzdGls bCBleGVjdXRpbmcgb24gb3RoZXIgcmluZ3MuClRoaXMgaXMgZXhhY3RseSB0aGUgc2FtZSBzeW5j aHJvbmlzYXRpb24gcGVyZm9ybWVkIGJ5Cmk5MTVfZ2VtX29iamVjdF9zeW5jKCkgdXNpbmcgaGFy ZHdhcmUgc2VtYXBob3JlcyB3aGVyZSBhdmFpbGFibGUgYW5kCkNQVSBzdGFsbHMgd2hlcmUgbm90 IChlLmcuIGluIGV4ZWNsaXN0IG1vZGUgYW5kL29yIG9uIEdlbjggaGFyZHdhcmUpLgoKVW5mb3J0 dW5hdGVseSwgd2hlbiBhIGJhdGNoIGJ1ZmZlciBpcyBzdWJtaXR0ZWQgdG8gdGhlIGRyaXZlciB0 aGUKX29iamVjdF9zeW5jKCkgY2FsbCBoYXBwZW5zIGZpcnN0LiBUaHVzIGluIGNhc2Ugd2hlcmUg aGFyZHdhcmUKc2VtYXBob3JlcyBhcmUgZGlzYWJsZWQsIHRoZSBkcml2ZXIgaGFzIGFscmVhZHkg c3RhbGxlZCB1bnRpbCB0aGUKZGVwZW5kZW5jeSBoYXMgYmVlbiByZXNvbHZlZC4KClRoaXMgcGF0 Y2ggYWRkcyBhbiBvcHRpbWlzYXRpb24gdG8gX29iamVjdF9zeW5jKCkgdG8gaWdub3JlIHRoZQpz eW5jaHJvbmlzYXRpb24gaW4gdGhlIGNhc2Ugd2hlcmUgaXQgd2lsbCBzdWJzZXF1ZW50bHkgYmUg aGFuZGxlZCBieQp0aGUgc2NoZWR1bGVyLiBUaGlzIHJlbW92ZXMgdGhlIGRyaXZlciBzdGFsbCBh bmQgKGluIHRoZSBzaW5nbGUKYXBwbGljYXRpb24gY2FzZSkgcHJvdmlkZXMgbmVhciBoYXJkd2Fy ZSBzZW1hcGhvcmUgcGVyZm9ybWFuY2UgZXZlbgp3aGVuIGhhcmR3YXJlIHNlbWFwaG9yZXMgYXJl IGRpc2FibGVkLiBJbiBhIGJ1c3kgc3lzdGVtIHdoZXJlIHRoZXJlIGlzCm90aGVyIHdvcmsgdGhh dCBjYW4gYmUgZXhlY3V0ZWQgb24gdGhlIHN0YWxsaW5nIHJpbmcsIGl0IHByb3ZpZGVzCmJldHRl ciB0aGFuIGhhcmR3YXJlIHNlbWFwaG9yZSBwZXJmb3JtYW5jZSBhcyBpdCByZW1vdmVzIHRoZSBz dGFsbApmcm9tIGJvdGggdGhlIGRyaXZlciBhbmQgZnJvbSB0aGUgaGFyZHdhcmUuIFRoZXJlIGlz IGFsc28gYSB0aGVvcnkKdGhhdCB0aGlzIG1ldGhvZCBzaG91bGQgaW1wcm92ZSBwb3dlciB1c2Fn ZSBhcyBoYXJkd2FyZSBzZW1hcGhvcmVzIGFyZQphcHBhcmVudGx5IG5vdCB2ZXJ5IHBvd2VyIGVm ZmljaWVudCAtIHRoZSBzdGFsbGVkIHJpbmcgZG9lcyBub3QgZ28KaW50byBhcyBsb3cgYSBwb3dl ciBhIHN0YXRlIGFzIHdoZW4gaXQgaXMgZ2VudWluZWx5IGlkbGUuCgpUaGUgb3B0aW1pc2F0aW9u IGlzIHRvIGNoZWNrIHdoZXRoZXIgYm90aCBlbmRzIG9mIHRoZSBzeW5jaHJvbmlzYXRpb24KYXJl IGJhdGNoIGJ1ZmZlciByZXF1ZXN0cy4gSWYgdGhleSBhcmUsIHRoZW4gdGhlIHNjaGVkdWxlciB3 aWxsIGhhdmUKdGhlIGludGVyLWRlcGVuZGVuY3kgdHJhY2tlZCBhbmQgbWFuYWdlZC4gSWYgb25l IG9yIG90aGVyIGVuZCBpcyBub3QgYQpiYXRjaCBidWZmZXIgcmVxdWVzdCAoZS5nLiBhIHBhZ2Ug ZmxpcCkgdGhlbiB0aGUgY29kZSBmYWxscyBiYWNrIHRvCnRoZSBDUFUgc3RhbGwgb3IgaGFyZHdh cmUgc2VtYXBob3JlIGFzIGFwcHJvcHJpYXRlLgoKVG8gY2hlY2sgd2hldGhlciB0aGUgZXhpc3Rp bmcgdXNhZ2UgaXMgYSBiYXRjaCBidWZmZXIsIHRoZSBjb2RlIHNpbXBseQpjYWxscyB0aGUgJ2Fy ZSB5b3UgdHJhY2tpbmcgdGhpcyByZXF1ZXN0JyBmdW5jdGlvbiBvZiB0aGUgc2NoZWR1bGVyIG9u CnRoZSBvYmplY3QncyBsYXN0X3JlYWRfcmVxIG1lbWJlci4gVG8gY2hlY2sgd2hldGhlciB0aGUg bmV3IHVzYWdlIGlzIGEKYmF0Y2ggYnVmZmVyLCBhIGZsYWcgaXMgcGFzc2VkIGluIGZyb20gdGhl IGNhbGxlci4KCkNoYW5nZS1JZDogSWRjMTZlMTliNWE0ZGM4YjM3ODJjZTlkYjQ0ZGQzZGY0NDVm Mzk2YzEKSXNzdWU6IFZJWi01NTY2ClNpZ25lZC1vZmYtYnk6IEpvaG4gSGFycmlzb24gPEpvaG4u Qy5IYXJyaXNvbkBJbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aCAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAg ICAgICAgICB8IDE5ICsrKysrKysrKysrKysrKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2V4ZWNidWZmZXIuYyB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9s cmMuYyAgICAgICAgICAgfCAgMiArLQogNCBmaWxlcyBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCsp LCA3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IGUyMzA2MzIuLmU0 YmVmMmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMjg5NSw3ICsyODk1LDcgQEAgaW50 IF9fbXVzdF9jaGVjayBpOTE1X211dGV4X2xvY2tfaW50ZXJydXB0aWJsZShzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KTsKICNlbmRpZgogaW50IGk5MTVfZ2VtX29iamVjdF9zeW5jKHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJCQkgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqdG8sCi0J CQkgc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICoqdG9fcmVxKTsKKwkJCSBzdHJ1Y3QgZHJt X2k5MTVfZ2VtX3JlcXVlc3QgKip0b19yZXEsIGJvb2wgdG9fYmF0Y2gpOwogdm9pZCBpOTE1X3Zt YV9tb3ZlX3RvX2FjdGl2ZShzdHJ1Y3QgaTkxNV92bWEgKnZtYSwKIAkJCSAgICAgc3RydWN0IGRy bV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpOwogaW50IGk5MTVfZ2VtX2R1bWJfY3JlYXRlKHN0cnVj dCBkcm1fZmlsZSAqZmlsZV9wcml2LApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKaW5kZXggNzMwODgz OC4uZTBkY2E4YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCkBAIC0zNTA3LDcgKzM1MDcsNyBA QCBzdGF0aWMgaW50CiBfX2k5MTVfZ2VtX29iamVjdF9zeW5jKHN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpvYmosCiAJCSAgICAgICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICp0bywKIAkJICAg ICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqZnJvbV9yZXEsCi0JCSAgICAgICBzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKip0b19yZXEpCisJCSAgICAgICBzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX3JlcXVlc3QgKip0b19yZXEsIGJvb2wgdG9fYmF0Y2gpCiB7CiAJc3RydWN0IGludGVs X2VuZ2luZV9jcyAqZnJvbTsKIAlpbnQgcmV0OwpAQCAtMzUxOSw2ICszNTE5LDE1IEBAIF9faTkx NV9nZW1fb2JqZWN0X3N5bmMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAlpZiAo aTkxNV9nZW1fcmVxdWVzdF9jb21wbGV0ZWQoZnJvbV9yZXEpKQogCQlyZXR1cm4gMDsKIAorCS8q CisJICogVGhlIHNjaGVkdWxlciB3aWxsIG1hbmFnZSBpbnRlci1yaW5nIG9iamVjdCBkZXBlbmRl bmNpZXMKKwkgKiBhcyBsb25nIGFzIGJvdGggdG8gYW5kIGZyb20gcmVxdWVzdHMgYXJlIHNjaGVk dWxlciBtYW5hZ2VkCisJICogKGkuZS4gYmF0Y2ggYnVmZmVycykuCisJICovCisJaWYgKHRvX2Jh dGNoICYmCisJICAgIGk5MTVfc2NoZWR1bGVyX2lzX3JlcXVlc3RfdHJhY2tlZChmcm9tX3JlcSwg TlVMTCwgTlVMTCkpCisJCXJldHVybiAwOworCiAJaWYgKCFpOTE1X3NlbWFwaG9yZV9pc19lbmFi bGVkKG9iai0+YmFzZS5kZXYpKSB7CiAJCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0g dG9faTkxNShvYmotPmJhc2UuZGV2KTsKIAkJcmV0ID0gX19pOTE1X3dhaXRfcmVxdWVzdChmcm9t X3JlcSwKQEAgLTM1NjksNiArMzU3OCw4IEBAIF9faTkxNV9nZW1fb2JqZWN0X3N5bmMoc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKICAqIEB0b19yZXE6IHJlcXVlc3Qgd2Ugd2lzaCB0 byB1c2UgdGhlIG9iamVjdCBmb3IuIFNlZSBiZWxvdy4KICAqICAgICAgICAgIFRoaXMgd2lsbCBi ZSBhbGxvY2F0ZWQgYW5kIHJldHVybmVkIGlmIGEgcmVxdWVzdCBpcwogICogICAgICAgICAgcmVx dWlyZWQgYnV0IG5vdCBwYXNzZWQgaW4uCisgKiBAdG9fYmF0Y2g6IGlzIHRoZSBzeW5jIHJlcXVl c3Qgb24gYmVoYWxmIG9mIGJhdGNoIGJ1ZmZlciBzdWJtaXNzaW9uPworICogSWYgc28gdGhlbiB0 aGUgc2NoZWR1bGVyIGNhbiAocG90ZW50aWFsbHkpIG1hbmFnZSB0aGUgc3luY2hyb25pc2F0aW9u LgogICoKICAqIFRoaXMgY29kZSBpcyBtZWFudCB0byBhYnN0cmFjdCBvYmplY3Qgc3luY2hyb25p emF0aW9uIHdpdGggdGhlIEdQVS4KICAqIENhbGxpbmcgd2l0aCBOVUxMIGltcGxpZXMgc3luY2hy b25pemluZyB0aGUgb2JqZWN0IHdpdGggdGhlIENQVQpAQCAtMzU5OSw3ICszNjEwLDcgQEAgX19p OTE1X2dlbV9vYmplY3Rfc3luYyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogaW50 CiBpOTE1X2dlbV9vYmplY3Rfc3luYyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAog CQkgICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnRvLAotCQkgICAgIHN0cnVjdCBkcm1faTkx NV9nZW1fcmVxdWVzdCAqKnRvX3JlcSkKKwkJICAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVl c3QgKip0b19yZXEsIGJvb2wgdG9fYmF0Y2gpCiB7CiAJY29uc3QgYm9vbCByZWFkb25seSA9IG9i ai0+YmFzZS5wZW5kaW5nX3dyaXRlX2RvbWFpbiA9PSAwOwogCXN0cnVjdCBkcm1faTkxNV9nZW1f cmVxdWVzdCAqcmVxW0k5MTVfTlVNX1JJTkdTXTsKQEAgLTM2MjEsNyArMzYzMiw3IEBAIGk5MTVf Z2VtX29iamVjdF9zeW5jKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJCQkJcmVx W24rK10gPSBvYmotPmxhc3RfcmVhZF9yZXFbaV07CiAJfQogCWZvciAoaSA9IDA7IGkgPCBuOyBp KyspIHsKLQkJcmV0ID0gX19pOTE1X2dlbV9vYmplY3Rfc3luYyhvYmosIHRvLCByZXFbaV0sIHRv X3JlcSk7CisJCXJldCA9IF9faTkxNV9nZW1fb2JqZWN0X3N5bmMob2JqLCB0bywgcmVxW2ldLCB0 b19yZXEsIHRvX2JhdGNoKTsKIAkJaWYgKHJldCkKIAkJCXJldHVybiByZXQ7CiAJfQpAQCAtNDU2 OCw3ICs0NTc5LDcgQEAgaTkxNV9nZW1fb2JqZWN0X3Bpbl90b19kaXNwbGF5X3BsYW5lKHN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJdTMyIG9sZF9yZWFkX2RvbWFpbnMsIG9sZF93 cml0ZV9kb21haW47CiAJaW50IHJldDsKIAotCXJldCA9IGk5MTVfZ2VtX29iamVjdF9zeW5jKG9i aiwgcGlwZWxpbmVkLCBwaXBlbGluZWRfcmVxdWVzdCk7CisJcmV0ID0gaTkxNV9nZW1fb2JqZWN0 X3N5bmMob2JqLCBwaXBlbGluZWQsIHBpcGVsaW5lZF9yZXF1ZXN0LCBmYWxzZSk7CiAJaWYgKHJl dCkKIAkJcmV0dXJuIHJldDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fZXhlY2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1 ZmZlci5jCmluZGV4IDVmZDA3YWUuLjgyZDM5NzUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9leGVjYnVmZmVyLmMKQEAgLTkxMCw3ICs5MTAsNyBAQCBpOTE1X2dlbV9leGVjYnVm ZmVyX21vdmVfdG9fZ3B1KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAogCQlzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqID0gdm1hLT5vYmo7CiAKIAkJaWYgKG9iai0+YWN0 aXZlICYgb3RoZXJfcmluZ3MpIHsKLQkJCXJldCA9IGk5MTVfZ2VtX29iamVjdF9zeW5jKG9iaiwg cmVxLT5yaW5nLCAmcmVxKTsKKwkJCXJldCA9IGk5MTVfZ2VtX29iamVjdF9zeW5jKG9iaiwgcmVx LT5yaW5nLCAmcmVxLCB0cnVlKTsKIAkJCWlmIChyZXQpCiAJCQkJcmV0dXJuIHJldDsKIAkJfQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9scmMuYwppbmRleCAzY2VkZGRiLi42NTljOWQ5IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9scmMuYwpAQCAtNjI0LDcgKzYyNCw3IEBAIHN0YXRpYyBpbnQgZXhlY2xpc3Rz X21vdmVfdG9fZ3B1KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAogCQlzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqID0gdm1hLT5vYmo7CiAKIAkJaWYgKG9iai0+YWN0aXZl ICYgb3RoZXJfcmluZ3MpIHsKLQkJCXJldCA9IGk5MTVfZ2VtX29iamVjdF9zeW5jKG9iaiwgcmVx LT5yaW5nLCAmcmVxKTsKKwkJCXJldCA9IGk5MTVfZ2VtX29iamVjdF9zeW5jKG9iaiwgcmVxLT5y aW5nLCAmcmVxLCB0cnVlKTsKIAkJCWlmIChyZXQpCiAJCQkJcmV0dXJuIHJldDsKIAkJfQotLSAK MS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCklu dGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==