From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [RFC 27/37] drm/i915/preempt: scheduler logic for queueing preemptive requests Date: Mon, 23 Nov 2015 11:42:02 +0000 Message-ID: <1448278932-31551-28-git-send-email-John.C.Harrison@Intel.com> References: <1448278932-31551-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 mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id DE7A36E562 for ; Mon, 23 Nov 2015 03:42:45 -0800 (PST) In-Reply-To: <1448278932-31551-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 RnJvbTogRGF2ZSBHb3Jkb24gPGRhdmlkLnMuZ29yZG9uQGludGVsLmNvbT4KClRoaXMgaXMgdGhl IHZlcnkgZmlyc3Qgc3RhZ2Ugb2YgdGhlIHNjaGVkdWxlcidzIHByZWVtcHRpb24gbG9naWMsIHdo ZXJlCml0IGRldGVybWluZXMgd2hldGhlciBhIHJlcXVlc3Qgc2hvdWxkIGJlIG1hcmtlZCBhcyBw b3RlbnRpYWxseQpwcmVlbXB0aXZlLCBhdCB0aGUgcG9pbnQgd2hlcmUgaXQgaXMgYWRkZWQgdG8g dGhlIHNjaGVkdWxlcidzIHF1ZXVlLgpTdWJzZXF1ZW50IGxvZ2ljIHdpbGwgZGV0ZXJtaW5lIGhv dyB0byBoYW5kbGUgdGhlIHJlcXVlc3Qgb24gdGhlIGJhc2lzCm9mIHRoZSBmbGFncyBzZXQgaGVy ZS4KCkFjdHVhbGx5LXByZWVtcHRpdmUgcmVxdWVzdHMgYXJlIGRpc2FibGVkIHZpYSBhIG1vZHVs ZSBwYXJhbWV0ZXIgYXQgdGhpcwplYXJseSBzdGFnZSwgYXMgdGhlIHJlc3Qgb2YgdGhlIGxvZ2lj IHRvIHByb2Nlc3MgdGhlbSBpc24ndCBpbiBwbGFjZQp5ZXQuCgpGb3I6IFZJWi0yMDIxClNpZ25l ZC1vZmYtYnk6IERhdmUgR29yZG9uIDxkYXZpZC5zLmdvcmRvbkBpbnRlbC5jb20+Ci0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuYyAgICB8ICA0ICstLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9zY2hlZHVsZXIuYyB8IDUzICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKystLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDQ5IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFyYW1zLmMKaW5kZXggN2RiMGY4My4uNzJkZmY3YyAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5jCkBAIC01NCw3ICs1NCw3IEBAIHN0cnVjdCBp OTE1X3BhcmFtcyBpOTE1IF9fcmVhZF9tb3N0bHkgPSB7CiAJLmVkcF92c3dpbmcgPSAwLAogCS5l bmFibGVfZ3VjX3N1Ym1pc3Npb24gPSB0cnVlLAogCS5ndWNfbG9nX2xldmVsID0gLTEsCi0JLnNj aGVkdWxlcl9vdmVycmlkZSA9IDAsCisJLnNjaGVkdWxlcl9vdmVycmlkZSA9IGk5MTVfc29fbm9f cHJlZW1wdGlvbiwKIH07CiAKIG1vZHVsZV9wYXJhbV9uYW1lZChtb2Rlc2V0LCBpOTE1Lm1vZGVz ZXQsIGludCwgMDQwMCk7CkBAIC0xOTQsNCArMTk0LDQgQEAgTU9EVUxFX1BBUk1fREVTQyhndWNf bG9nX2xldmVsLAogCSJHdUMgZmlybXdhcmUgbG9nZ2luZyBsZXZlbCAoLTE6ZGlzYWJsZWQgKGRl ZmF1bHQpLCAwLTM6ZW5hYmxlZCkiKTsKIAogbW9kdWxlX3BhcmFtX25hbWVkKHNjaGVkdWxlcl9v dmVycmlkZSwgaTkxNS5zY2hlZHVsZXJfb3ZlcnJpZGUsIGludCwgMDYwMCk7Ci1NT0RVTEVfUEFS TV9ERVNDKHNjaGVkdWxlcl9vdmVycmlkZSwgIlNjaGVkdWxlciBvdmVycmlkZSBtYXNrIChkZWZh dWx0OiAwKSIpOworTU9EVUxFX1BBUk1fREVTQyhzY2hlZHVsZXJfb3ZlcnJpZGUsICJTY2hlZHVs ZXIgb3ZlcnJpZGUgbWFzayAoZGVmYXVsdDogNCkiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfc2NoZWR1bGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Nj aGVkdWxlci5jCmluZGV4IDE2ZDA2N2UuLjUwZmY4YjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfc2NoZWR1bGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9zY2hlZHVsZXIuYwpAQCAtNTgsMTAgKzU4LDEzIEBAIGJvb2wgaTkxNV9zY2hlZHVsZXJfaXNf ZW5hYmxlZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCiBjb25zdCBjaGFyICppOTE1X3FlX3N0 YXRlX3N0cihzdHJ1Y3QgaTkxNV9zY2hlZHVsZXJfcXVldWVfZW50cnkgKm5vZGUpCiB7CisJdWlu dDMyX3Qgc2NoZWRfZmxhZ3MgPSBub2RlLT5wYXJhbXMucmVxdWVzdC0+c2NoZWR1bGVyX2ZsYWdz OwogCXN0YXRpYyBjaGFyCXN0cls1MF07CiAJY2hhcgkJKnB0ciA9IHN0cjsKIAogCSoocHRyKysp ID0gbm9kZS0+YnVtcGVkID8gJ0InIDogJy0nLAorCSoocHRyKyspID0gKHNjaGVkX2ZsYWdzICYg aTkxNV9yZXFfc2ZfcHJlZW1wdCkgPyAnUCcgOiAnLSc7CisJKihwdHIrKykgPSAoc2NoZWRfZmxh Z3MgJiBpOTE1X3JlcV9zZl93YXNfcHJlZW1wdCkgPyAncCcgOiAnLSc7CiAJKihwdHIrKykgPSBp OTE1X2dlbV9yZXF1ZXN0X2NvbXBsZXRlZChub2RlLT5wYXJhbXMucmVxdWVzdCkgPyAnQycgOiAn LSc7CiAKIAkqcHRyID0gMDsKQEAgLTg0LDYgKzg3LDEyIEBAIGNoYXIgaTkxNV9zY2hlZHVsZXJf cXVldWVfc3RhdHVzX2NocihlbnVtIGk5MTVfc2NoZWR1bGVyX3F1ZXVlX3N0YXR1cyBzdGF0dXMp CiAJY2FzZSBpOTE1X3Nxc19mbHlpbmc6CiAJcmV0dXJuICdGJzsKIAorCWNhc2UgaTkxNV9zcXNf b3ZlcnRha2luZzoKKwlyZXR1cm4gJ08nOworCisJY2FzZSBpOTE1X3Nxc19wcmVlbXB0ZWQ6CisJ cmV0dXJuICdQJzsKKwogCWNhc2UgaTkxNV9zcXNfY29tcGxldGU6CiAJcmV0dXJuICdDJzsKIApA QCAtMTE1LDYgKzEyNCwxMiBAQCBjb25zdCBjaGFyICppOTE1X3NjaGVkdWxlcl9xdWV1ZV9zdGF0 dXNfc3RyKAogCWNhc2UgaTkxNV9zcXNfZmx5aW5nOgogCXJldHVybiAiRmx5aW5nIjsKIAorCWNh c2UgaTkxNV9zcXNfb3ZlcnRha2luZzoKKwlyZXR1cm4gIk92ZXJ0YWtpbmciOworCisJY2FzZSBp OTE1X3Nxc19wcmVlbXB0ZWQ6CisJcmV0dXJuICJQcmVlbXB0ZWQiOworCiAJY2FzZSBpOTE1X3Nx c19jb21wbGV0ZToKIAlyZXR1cm4gIkNvbXBsZXRlIjsKIApAQCAtMjEzLDcgKzIyOCw3IEBAIGlu dCBpOTE1X3NjaGVkdWxlcl9xdWV1ZV9leGVjYnVmZmVyKHN0cnVjdCBpOTE1X3NjaGVkdWxlcl9x dWV1ZV9lbnRyeSAqcWUpCiAJc3RydWN0IGk5MTVfc2NoZWR1bGVyX3F1ZXVlX2VudHJ5ICAqbm9k ZTsKIAlzdHJ1Y3QgaTkxNV9zY2hlZHVsZXJfcXVldWVfZW50cnkgICp0ZXN0OwogCXVuc2lnbmVk IGxvbmcgICAgICAgZmxhZ3M7Ci0JYm9vbCAgICAgICAgICAgICAgICBub3RfZmx5aW5nLCBmb3Vu ZDsKKwlib29sICAgICAgICAgICAgICAgIG5vdF9mbHlpbmcsIHdhbnRfcHJlZW1wdCwgZm91bmQ7 CiAJaW50ICAgICAgICAgICAgICAgICBpLCBqLCByOwogCWludCAgICAgICAgICAgICAgICAgaW5j b21wbGV0ZSA9IDA7CiAKQEAgLTM4NSw2ICs0MDAsMjUgQEAgaW50IGk5MTVfc2NoZWR1bGVyX3F1 ZXVlX2V4ZWNidWZmZXIoc3RydWN0IGk5MTVfc2NoZWR1bGVyX3F1ZXVlX2VudHJ5ICpxZSkKIAkJ bm90X2ZseWluZyA9IGk5MTVfc2NoZWR1bGVyX2NvdW50X2ZseWluZyhzY2hlZHVsZXIsIHJpbmcp IDwKIAkJCQkJCQkgc2NoZWR1bGVyLT5taW5fZmx5aW5nOwogCisJd2FudF9wcmVlbXB0ID0gbm9k ZS0+cHJpb3JpdHkgPj0gc2NoZWR1bGVyLT5wcmlvcml0eV9sZXZlbF9wcmVlbXB0OworCisJaWYg KGk5MTUuc2NoZWR1bGVyX292ZXJyaWRlICYgaTkxNV9zb19ub19wcmVlbXB0aW9uKQorCQl3YW50 X3ByZWVtcHQgPSBmYWxzZTsKKworCS8qIFByZS1lbXB0aW9uIGlzIG5vdCB5ZXQgaW1wbGVtZW50 ZWQgaW4gbm9uLWV4ZWNsaXN0IG1vZGUgKi8KKwlpZiAoIWk5MTUuZW5hYmxlX2V4ZWNsaXN0cykK KwkJd2FudF9wcmVlbXB0ID0gZmFsc2U7CisKKwkvKiBQcmUtZW1wdGlvbiBpcyBub3QgeWV0IGlt cGxlbWVudGVkIGluIG5vbi1HVUMgbW9kZSAqLworCWlmICghaTkxNS5lbmFibGVfZ3VjX3N1Ym1p c3Npb24pCisJCXdhbnRfcHJlZW1wdCA9IGZhbHNlOworCisJaWYgKHdhbnRfcHJlZW1wdCkgewor CQlub2RlLT5wYXJhbXMucmVxdWVzdC0+c2NoZWR1bGVyX2ZsYWdzIHw9CisJCQlpOTE1X3JlcV9z Zl93YXNfcHJlZW1wdCB8IGk5MTVfcmVxX3NmX3ByZWVtcHQ7CisJCXNjaGVkdWxlci0+c3RhdHNb cmluZy0+aWRdLnByZWVtcHRzX3F1ZXVlZCsrOworCX0KKwogCXNjaGVkdWxlci0+c3RhdHNbcmlu Zy0+aWRdLnF1ZXVlZCsrOwogCiAJdHJhY2VfaTkxNV9zY2hlZHVsZXJfcXVldWUocmluZywgbm9k ZSk7CkBAIC0zOTIsNyArNDI2LDcgQEAgaW50IGk5MTVfc2NoZWR1bGVyX3F1ZXVlX2V4ZWNidWZm ZXIoc3RydWN0IGk5MTVfc2NoZWR1bGVyX3F1ZXVlX2VudHJ5ICpxZSkKIAogCXNwaW5fdW5sb2Nr X2lycXJlc3RvcmUoJnNjaGVkdWxlci0+bG9jaywgZmxhZ3MpOwogCi0JaWYgKG5vdF9mbHlpbmcp CisJaWYgKG5vdF9mbHlpbmcgfHwgd2FudF9wcmVlbXB0KQogCQlpOTE1X3NjaGVkdWxlcl9zdWJt aXQocmluZywgdHJ1ZSk7CiAKIAlyZXR1cm4gMDsKQEAgLTQwMywxOSArNDM3LDI2IEBAIHN0YXRp YyBpbnQgaTkxNV9zY2hlZHVsZXJfZmx5X25vZGUoc3RydWN0IGk5MTVfc2NoZWR1bGVyX3F1ZXVl X2VudHJ5ICpub2RlKQogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IG5vZGUt PnBhcmFtcy5kZXYtPmRldl9wcml2YXRlOwogCXN0cnVjdCBpOTE1X3NjaGVkdWxlciAgICpzY2hl ZHVsZXIgPSBkZXZfcHJpdi0+c2NoZWR1bGVyOwogCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgICpy aW5nOworCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxOwogCiAJQlVHX09OKCFzY2hl ZHVsZXIpOwogCUJVR19PTighbm9kZSk7CiAJQlVHX09OKG5vZGUtPnN0YXR1cyAhPSBpOTE1X3Nx c19wb3BwZWQpOwogCiAJcmluZyA9IG5vZGUtPnBhcmFtcy5yaW5nOworCXJlcSA9IG5vZGUtPnBh cmFtcy5yZXF1ZXN0OwogCi0JLyogQWRkIHRoZSBub2RlICh3aGljaCBzaG91bGQgY3VycmVudGx5 IGJlIGluIHN0YXRlIG5vbmUpIHRvIHRoZSBmcm9udAotCSAqIG9mIHRoZSBxdWV1ZS4gVGhpcyBl bnN1cmUgdGhhdCBmbHlpbmcgbm9kZXMgYXJlIGFsd2F5cyBoZWxkIGluCi0JICogaGFyZHdhcmUg c3VibWlzc2lvbiBvcmRlci4gKi8KKwkvKgorCSAqIEFkZCB0aGUgbm9kZSAod2hpY2ggc2hvdWxk IGN1cnJlbnRseSBiZSBpbiBzdGF0ZSBwb3BwZWQpCisJICogdG8gdGhlIGZyb250IG9mIHRoZSBx dWV1ZS4gVGhpcyBlbnN1cmUgdGhhdCBmbHlpbmcgbm9kZXMKKwkgKiBhcmUgYWx3YXlzIGhlbGQg aW4gaGFyZHdhcmUgc3VibWlzc2lvbiBvcmRlci4KKwkgKi8KIAlsaXN0X2FkZCgmbm9kZS0+bGlu aywgJnNjaGVkdWxlci0+bm9kZV9xdWV1ZVtyaW5nLT5pZF0pOwogCi0Jbm9kZS0+c3RhdHVzID0g aTkxNV9zcXNfZmx5aW5nOworCWlmIChyZXEtPnNjaGVkdWxlcl9mbGFncyAmIGk5MTVfcmVxX3Nm X3ByZWVtcHQpCisJCW5vZGUtPnN0YXR1cyA9IGk5MTVfc3FzX292ZXJ0YWtpbmc7CisJZWxzZQor CQlub2RlLT5zdGF0dXMgPSBpOTE1X3Nxc19mbHlpbmc7CiAKIAl0cmFjZV9pOTE1X3NjaGVkdWxl cl9mbHkocmluZywgbm9kZSk7CiAJdHJhY2VfaTkxNV9zY2hlZHVsZXJfbm9kZV9zdGF0ZV9jaGFu Z2UocmluZywgbm9kZSk7Ci0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngK