From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [RFC 28/37] drm/i915/preempt: scheduler logic for selecting preemptive requests Date: Mon, 23 Nov 2015 11:42:03 +0000 Message-ID: <1448278932-31551-29-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 F3C9C6E560 for ; Mon, 23 Nov 2015 03:42:46 -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 RnJvbTogRGF2ZSBHb3Jkb24gPGRhdmlkLnMuZ29yZG9uQGludGVsLmNvbT4KClRoaXMgcGF0Y2gg YWRkcyB0aGUgc2NoZWR1bGVyIGxvZ2ljIGZvciBtYW5hZ2luZyBwb3RlbnRpYWxseSBwcmVlbXB0 aXZlCnJlcXVlc3RzLCBpbmNsdWRpbmcgdmFsaWRhdGluZyBkZXBlbmRlbmNpZXMgYW5kIHdvcmtp bmcgb3V0IHdoZW4gYQpyZXF1ZXN0IGNhbiBiZSBkb3duZ3JhZGVkIHRvIG5vbi1wcmVlbXB0aXZl IChlLmcuIHdoZW4gdGhlcmUncyBub3RoaW5nCmFoZWFkIGZvciBpdCB0byBwcmVlbXB0KS4KCkFj dHVhbGx5LXByZWVtcHRpdmUgcmVxdWVzdHMgYXJlIHN0aWxsIGRpc2FibGVkIHZpYSBhIG1vZHVs ZSBwYXJhbWV0ZXIKYXQgdGhpcyBlYXJseSBzdGFnZSwgYXMgdGhlIHJlc3Qgb2YgdGhlIGxvZ2lj IHRvIGRlYWwgd2l0aCB0aGUKY29uc2VxdWVuY2VzIG9mIHByZWVtcHRpb24gaXNuJ3QgaW4gcGxh Y2UgeWV0LgoKRm9yOiBWSVotMjAyMQpTaWduZWQtb2ZmLWJ5OiBEYXZlIEdvcmRvbiA8ZGF2aWQu cy5nb3Jkb25AaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc2NoZWR1 bGVyLmMgfCA3NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLQogMSBmaWxlIGNo YW5nZWQsIDYxIGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc2NoZWR1bGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3NjaGVkdWxlci5jCmluZGV4IDUwZmY4YjcuLjYxZWFiYzYgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc2NoZWR1bGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9zY2hlZHVsZXIuYwpAQCAtNDk4LDYgKzQ5OCw5IEBAIHN0YXRpYyBpbmxpbmUg Ym9vbCBpOTE1X3NjaGVkdWxlcl9pc19kZXBlbmRlbmN5X3ZhbGlkKAogCWlmIChJOTE1X1NRU19J U19GTFlJTkcoZGVwKSkgewogCQlpZiAobm9kZS0+cGFyYW1zLnJpbmcgIT0gZGVwLT5wYXJhbXMu cmluZykKIAkJCXJldHVybiB0cnVlOworCisJCWlmIChub2RlLT5wYXJhbXMucmVxdWVzdC0+c2No ZWR1bGVyX2ZsYWdzICYgaTkxNV9yZXFfc2ZfcHJlZW1wdCkKKwkJCXJldHVybiB0cnVlOwogCX0K IAogCXJldHVybiBmYWxzZTsKQEAgLTEzMTcsMTAgKzEzMjAsMTEgQEAgc3RhdGljIGludCBpOTE1 X3NjaGVkdWxlcl9wb3BfZnJvbV9xdWV1ZV9sb2NrZWQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAq cmluZywKIAlzdHJ1Y3QgaTkxNV9zY2hlZHVsZXJfcXVldWVfZW50cnkgICpiZXN0X3dhaXQsICpm ZW5jZV93YWl0ID0gTlVMTDsKIAlzdHJ1Y3QgaTkxNV9zY2hlZHVsZXJfcXVldWVfZW50cnkgICpi ZXN0OwogCXN0cnVjdCBpOTE1X3NjaGVkdWxlcl9xdWV1ZV9lbnRyeSAgKm5vZGU7CisJc3RydWN0 IGRybV9pOTE1X2dlbV9yZXF1ZXN0CSAgICpyZXE7CiAJaW50ICAgICByZXQ7CiAJaW50ICAgICBp OwogCWJvb2wJc2lnbmFsbGVkLCBhbnlfcXVldWVkOwotCWJvb2wJaGFzX2xvY2FsLCBoYXNfcmVt b3RlLCBvbmx5X3JlbW90ZTsKKwlib29sCWhhc19sb2NhbCwgaGFzX3JlbW90ZSwgb25seV9yZW1v dGUsIGxvY2FsX3ByZWVtcHRfb25seTsKIAogCSpwb3Bfbm9kZSA9IE5VTEw7CiAJcmV0ID0gLUVO T0RBVEE7CkBAIC0xMzQ2LDE4ICsxMzUwLDQwIEBAIHN0YXRpYyBpbnQgaTkxNV9zY2hlZHVsZXJf cG9wX2Zyb21fcXVldWVfbG9ja2VkKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCiAJCQlz Y2hlZHVsZXItPnN0YXRzW25vZGUtPnBhcmFtcy5yaW5nLT5pZF0uZmVuY2VfaWdub3JlKys7CiAJ CX0KIAorCQkvKiBBdHRlbXB0IHRvIHJlLWVuYWJsZSBwcmUtZW1wdGlvbiBpZiBhIG5vZGUgd2Fu dHMgdG8gcHJlLWVtcHQKKwkJICogYnV0IHByZXZpb3VzbHkgZ290IGRvd25ncmFkZWQuICovCisJ CXJlcSA9IG5vZGUtPnBhcmFtcy5yZXF1ZXN0OworCQlpZiAocmVxLT5zY2hlZHVsZXJfZmxhZ3Mg JiBpOTE1X3JlcV9zZl93YXNfcHJlZW1wdCkKKwkJCXJlcS0+c2NoZWR1bGVyX2ZsYWdzIHw9IGk5 MTVfcmVxX3NmX3ByZWVtcHQ7CisKIAkJaGFzX2xvY2FsICA9IGZhbHNlOwogCQloYXNfcmVtb3Rl ID0gZmFsc2U7CisJCWxvY2FsX3ByZWVtcHRfb25seSA9IChyZXEtPnNjaGVkdWxlcl9mbGFncyAm IGk5MTVfcmVxX3NmX3ByZWVtcHQpICE9IDA7CiAJCWZvciAoaSA9IDA7IGkgPCBub2RlLT5udW1f ZGVwczsgaSsrKSB7CiAJCQlpZiAoIWk5MTVfc2NoZWR1bGVyX2lzX2RlcGVuZGVuY3lfdmFsaWQo bm9kZSwgaSkpCiAJCQkJY29udGludWU7CiAKLQkJCWlmIChub2RlLT5kZXBfbGlzdFtpXS0+cGFy YW1zLnJpbmcgPT0gbm9kZS0+cGFyYW1zLnJpbmcpCisJCQlpZiAobm9kZS0+ZGVwX2xpc3RbaV0t PnBhcmFtcy5yaW5nID09IG5vZGUtPnBhcmFtcy5yaW5nKSB7CiAJCQkJaGFzX2xvY2FsID0gdHJ1 ZTsKLQkJCWVsc2UKKworCQkJCWlmIChsb2NhbF9wcmVlbXB0X29ubHkpIHsKKwkJCQkJcmVxLT5z Y2hlZHVsZXJfZmxhZ3MgJj0gfmk5MTVfcmVxX3NmX3ByZWVtcHQ7CisJCQkJCWlmIChpOTE1X3Nj aGVkdWxlcl9pc19kZXBlbmRlbmN5X3ZhbGlkKG5vZGUsIGkpKQorCQkJCQkJbG9jYWxfcHJlZW1w dF9vbmx5ID0gZmFsc2U7CisJCQkJCXJlcS0+c2NoZWR1bGVyX2ZsYWdzIHw9IGk5MTVfcmVxX3Nm X3ByZWVtcHQ7CisJCQkJfQorCQkJfSBlbHNlCiAJCQkJaGFzX3JlbW90ZSA9IHRydWU7CiAJCX0K IAorCQlpZiAoaGFzX2xvY2FsICYmIGxvY2FsX3ByZWVtcHRfb25seSkgeworCQkJLyogSWYgYSBw cmVlbXB0aXZlIG5vZGUncyBsb2NhbCBkZXBlbmRlbmNpZXMgYXJlIGFsbAorCQkJICogZmx5aW5n LCB0aGVuIHRoZXkgY2FuIGJlIGlnbm9yZWQgYnkgdW4tcHJlZW1wdGluZworCQkJICogdGhlIG5v ZGUuICovCisJCQlyZXEtPnNjaGVkdWxlcl9mbGFncyAmPSB+aTkxNV9yZXFfc2ZfcHJlZW1wdDsK KwkJCWhhc19sb2NhbCA9IGZhbHNlOworCQl9CisKIAkJaWYgKGhhc19yZW1vdGUgJiYgIWhhc19s b2NhbCkKIAkJCW9ubHlfcmVtb3RlID0gdHJ1ZTsKIApAQCAtMTQ0Nyw2ICsxNDczLDcgQEAgc3Rh dGljIGludCBpOTE1X3NjaGVkdWxlcl9zdWJtaXQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmlu ZywgYm9vbCB3YXNfbG9ja2VkKQogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IGRldi0+ZGV2X3ByaXZhdGU7CiAJc3RydWN0IGk5MTVfc2NoZWR1bGVyICAgKnNjaGVkdWxlciA9 IGRldl9wcml2LT5zY2hlZHVsZXI7CiAJc3RydWN0IGk5MTVfc2NoZWR1bGVyX3F1ZXVlX2VudHJ5 ICAqbm9kZTsKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcTsKIAl1bnNpZ25lZCBs b25nICAgICAgIGZsYWdzOwogCWludCAgICAgICAgICAgICAgICAgcmV0ID0gMCwgY291bnQgPSAw OwogCkBAIC0xNDYyLDE0ICsxNDg5LDggQEAgc3RhdGljIGludCBpOTE1X3NjaGVkdWxlcl9zdWJt aXQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywgYm9vbCB3YXNfbG9ja2VkKQogCiAJLyog Rmlyc3QgdGltZSBhcm91bmQsIGNvbXBsYWluIGlmIGFueXRoaW5nIHVuZXhwZWN0ZWQgb2NjdXJz OiAqLwogCXJldCA9IGk5MTVfc2NoZWR1bGVyX3BvcF9mcm9tX3F1ZXVlX2xvY2tlZChyaW5nLCAm bm9kZSwgJmZsYWdzKTsKLQlpZiAocmV0KSB7Ci0JCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnNj aGVkdWxlci0+bG9jaywgZmxhZ3MpOwotCi0JCWlmICghd2FzX2xvY2tlZCkKLQkJCW11dGV4X3Vu bG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwotCi0JCXJldHVybiByZXQ7Ci0JfQorCWlmIChyZXQp CisJCWdvdG8gZXhpdDsKIAogCWRvIHsKIAkJQlVHX09OKCFub2RlKTsKQEAgLTE0NzcsNiArMTQ5 OCwzMCBAQCBzdGF0aWMgaW50IGk5MTVfc2NoZWR1bGVyX3N1Ym1pdChzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICpyaW5nLCBib29sIHdhc19sb2NrZWQpCiAJCUJVR19PTihub2RlLT5zdGF0dXMgIT0g aTkxNV9zcXNfcG9wcGVkKTsKIAkJY291bnQrKzsKIAorCQlyZXEgPSBub2RlLT5wYXJhbXMucmVx dWVzdDsKKwkJaWYgKHJlcS0+c2NoZWR1bGVyX2ZsYWdzICYgaTkxNV9yZXFfc2ZfcHJlZW1wdCkg eworCQkJc3RydWN0IGk5MTVfc2NoZWR1bGVyX3F1ZXVlX2VudHJ5ICAqZmx5OworCQkJYm9vbCAg ICBnb3RfZmx5aW5nID0gZmFsc2U7CisKKwkJCWxpc3RfZm9yX2VhY2hfZW50cnkoZmx5LCAmc2No ZWR1bGVyLT5ub2RlX3F1ZXVlW3JpbmctPmlkXSwgbGluaykgeworCQkJCWlmICghSTkxNV9TUVNf SVNfRkxZSU5HKGZseSkpCisJCQkJCWNvbnRpbnVlOworCisJCQkJZ290X2ZseWluZyA9IHRydWU7 CisJCQkJaWYgKGZseS0+cHJpb3JpdHkgPj0gbm9kZS0+cHJpb3JpdHkpIHsKKwkJCQkJLyogQWxy ZWFkeSB3b3JraW5nIG9uIHNvbWV0aGluZyBhdCBsZWFzdAorCQkJCQkgKiBhcyBpbXBvcnRhbnQs IHNvIGRvbid0IGludGVycnVwdCBpdC4gKi8KKwkJCQkJcmVxLT5zY2hlZHVsZXJfZmxhZ3MgJj0g fmk5MTVfcmVxX3NmX3ByZWVtcHQ7CisJCQkJCWJyZWFrOworCQkJCX0KKwkJCX0KKworCQkJaWYg KCFnb3RfZmx5aW5nKSB7CisJCQkJLyogTm90aGluZyB0byBwcmVlbXB0IHNvIGRvbid0IGJvdGhl ci4gKi8KKwkJCQlyZXEtPnNjaGVkdWxlcl9mbGFncyAmPSB+aTkxNV9yZXFfc2ZfcHJlZW1wdDsK KwkJCX0KKwkJfQorCiAJCS8qIFRoZSBjYWxsIHRvIHBvcCBhYm92ZSB3aWxsIGhhdmUgcmVtb3Zl ZCB0aGUgbm9kZSBmcm9tIHRoZQogCQkgKiBsaXN0LiBTbyBhZGQgaXQgYmFjayBpbiBhbmQgbWFy ayBpdCBhcyBpbiBmbGlnaHQuICovCiAJCWk5MTVfc2NoZWR1bGVyX2ZseV9ub2RlKG5vZGUpOwpA QCAtMTU0NSw2ICsxNTkwLDEwIEBAIHN0YXRpYyBpbnQgaTkxNV9zY2hlZHVsZXJfc3VibWl0KHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsIGJvb2wgd2FzX2xvY2tlZCkKIAkJcmV0ID0gaTkx NV9zY2hlZHVsZXJfcG9wX2Zyb21fcXVldWVfbG9ja2VkKHJpbmcsICZub2RlLCAmZmxhZ3MpOwog CX0gd2hpbGUgKHJldCA9PSAwKTsKIAorCS8qIERvbid0IGNvbXBsYWluIGFib3V0IG5vdCBiZWlu ZyBhYmxlIHRvIHN1Ym1pdCBleHRyYSBlbnRyaWVzICovCisJaWYgKHJldCA9PSAtRU5PREFUQSkK KwkJcmV0ID0gMDsKKwogCS8qCiAJICogQnVtcCB0aGUgcHJpb3JpdHkgb2YgZXZlcnl0aGluZyB0 aGF0IHdhcyBub3Qgc3VibWl0dGVkIHRvIHByZXZlbnQKIAkgKiBzdGFydmF0aW9uIG9mIGxvdyBw cmlvcml0eSB0YXNrcyBieSBhIHNwYW1taW5nIGhpZ2ggcHJpb3JpdHkgdGFzay4KQEAgLTE1NTgs MTUgKzE2MDcsMTIgQEAgc3RhdGljIGludCBpOTE1X3NjaGVkdWxlcl9zdWJtaXQoc3RydWN0IGlu dGVsX2VuZ2luZV9jcyAqcmluZywgYm9vbCB3YXNfbG9ja2VkKQogCQkJCQkgICAgIHNjaGVkdWxl ci0+cHJpb3JpdHlfbGV2ZWxfYnVtcCk7CiAJfQogCitleGl0OgogCXNwaW5fdW5sb2NrX2lycXJl c3RvcmUoJnNjaGVkdWxlci0+bG9jaywgZmxhZ3MpOwogCiAJaWYgKCF3YXNfbG9ja2VkKQogCQlt dXRleF91bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsKIAotCS8qIERvbid0IGNvbXBsYWluIGFi b3V0IG5vdCBiZWluZyBhYmxlIHRvIHN1Ym1pdCBleHRyYSBlbnRyaWVzICovCi0JaWYgKHJldCA9 PSAtRU5PREFUQSkKLQkJcmV0ID0gMDsKLQogCXJldHVybiAocmV0IDwgMCkgPyByZXQgOiBjb3Vu dDsKIH0KIAotLSAKMS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4Cg==