From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 13/15] drm/i915/preemption: Select timeout when scheduling Date: Wed, 28 Mar 2018 22:18:55 +0100 Message-ID: <20180328211857.32457-14-chris@chris-wilson.co.uk> References: <20180328211857.32457-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id 063B189E1A for ; Wed, 28 Mar 2018 21:19:33 +0000 (UTC) In-Reply-To: <20180328211857.32457-1-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 VGhlIGNob2ljZSBvZiBwcmVlbXB0aW9uIHRpbWVvdXQgaXMgZGV0ZXJtaW5lZCBieSB0aGUgY29u dGV4dCBmcm9tIHdoaWNoCndlIHRyaWdnZXIgdGhlIHByZWVtcHRpb24sIGFzIHN1Y2ggYWxsb3cg dGhlIGNhbGxlciB0byBzcGVjaWZ5IHRoZQpkZXNpcmVkIHRpbWVvdXQuCgpFZmZlY3RpdmVseSB0 aGUgb3RoZXIgY2hvaWNlIHdvdWxkIGJlIHRvIHVzZSB0aGUgc2hvcnRlc3QgdGltZW91dCBhbG9u Zwp0aGUgZGVwZW5kZW5jeSBjaGFpbi4gSG93ZXZlciwgZ2l2ZW4gdGhhdCB3ZSB3b3VsZCBoYXZl IGFscmVhZHkKdHJpZ2dlcmVkIHByZWVtcHRpb24gZm9yIHRoZSBkZXBlbmRlbmN5IGNoYWluLCB3 ZSBjYW4gYXNzdW1lIHRoYXQgbm8KcHJlZW1wdGlvbiBhbG9uZyB0aGF0IGNoYWluIGlzIG1vcmUg aW1wb3J0YW50IHRoYW4gdGhlIGN1cnJlbnQgcmVxdWVzdCwKZXJnbyB3ZSBuZWVkIG9ubHkgY29u c2lkZXIgdGhlIGN1cnJlbnQgdGltZW91dC4gUmVhbGlzaW5nIHRoaXMsIHdlIGNhbgp0aGVuIHBh c3MgY29udHJvbCBvZiB0aGUgcHJlZW1wdGlvbiB0aW1lb3V0IHRvIHRoZSBjYWxsZXIgZm9yIGdy ZWF0ZXIKZmxleGliaWxpdHkuCgpTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNo cmlzLXdpbHNvbi5jby51az4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jICAg ICAgICAgICAgfCAgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5jICAg ICAgICB8ICAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgICAgICAgICAg IHwgICA1ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggICAgfCAg IDYgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pbnRlbF9scmMuYyB8IDEwNCAr KysrKysrKysrKysrKysrKysrKysrKysrKysrLQogNSBmaWxlcyBjaGFuZ2VkLCAxMTIgaW5zZXJ0 aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwppbmRleCA4YTZh Y2IxZDVhZDMuLmQ0M2JlNTZlOTI3ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCkBAIC00ODIs NyArNDgyLDcgQEAgc3RhdGljIHZvaWQgX19mZW5jZV9zZXRfcHJpb3JpdHkoc3RydWN0IGRtYV9m ZW5jZSAqZmVuY2UsIGludCBwcmlvKQogCiAJcmN1X3JlYWRfbG9jaygpOwogCWlmIChlbmdpbmUt PnNjaGVkdWxlKQotCQllbmdpbmUtPnNjaGVkdWxlKHJxLCBwcmlvKTsKKwkJZW5naW5lLT5zY2hl ZHVsZShycSwgcHJpbywgMCk7CiAJcmN1X3JlYWRfdW5sb2NrKCk7CiB9CiAKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9yZXF1ZXN0LmMKaW5kZXggMjMxNGEyNmNkN2Y4Li45ZDhkY2ViZDk2NDkgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5jCkBAIC0xMTAyLDcgKzExMDIsNyBAQCB2b2lkIF9f aTkxNV9yZXF1ZXN0X2FkZChzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpyZXF1ZXN0LCBib29sIGZsdXNo X2NhY2hlcykKIAkgKi8KIAlyY3VfcmVhZF9sb2NrKCk7CiAJaWYgKGVuZ2luZS0+c2NoZWR1bGUp Ci0JCWVuZ2luZS0+c2NoZWR1bGUocmVxdWVzdCwgcmVxdWVzdC0+Y3R4LT5wcmlvcml0eSk7CisJ CWVuZ2luZS0+c2NoZWR1bGUocmVxdWVzdCwgcmVxdWVzdC0+Y3R4LT5wcmlvcml0eSwgMCk7CiAJ cmN1X3JlYWRfdW5sb2NrKCk7CiAKIAlsb2NhbF9iaF9kaXNhYmxlKCk7CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2xyYy5jCmluZGV4IGU2YTcxZDRhNjI2MS4uMzcxNTBhZDQyMWFkIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9scmMuYwpAQCAtMTIyMCw3ICsxMjIwLDggQEAgcHRfbG9ja19lbmdpbmUoc3RydWN0 IGk5MTVfcHJpb3RyZWUgKnB0LCBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpsb2NrZWQpCiAJcmV0 dXJuIGVuZ2luZTsKIH0KIAotc3RhdGljIHZvaWQgZXhlY2xpc3RzX3NjaGVkdWxlKHN0cnVjdCBp OTE1X3JlcXVlc3QgKnJlcXVlc3QsIGludCBwcmlvKQorc3RhdGljIHZvaWQgZXhlY2xpc3RzX3Nj aGVkdWxlKHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJlcXVlc3QsCisJCQkgICAgICAgaW50IHByaW8s IHVuc2lnbmVkIGludCB0aW1lb3V0KQogewogCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2lu ZTsKIAlzdHJ1Y3QgaTkxNV9kZXBlbmRlbmN5ICpkZXAsICpwOwpAQCAtMTMxNiw3ICsxMzE3LDcg QEAgc3RhdGljIHZvaWQgZXhlY2xpc3RzX3NjaGVkdWxlKHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJl cXVlc3QsIGludCBwcmlvKQogCiAJCWlmIChwcmlvID4gZW5naW5lLT5leGVjbGlzdHMucXVldWVf cHJpb3JpdHkgJiYKIAkJICAgIGk5MTVfc3dfZmVuY2VfZG9uZSgmcHRfdG9fcmVxdWVzdChwdCkt PnN1Ym1pdCkpCi0JCQlfX3N1Ym1pdF9xdWV1ZShlbmdpbmUsIHByaW8sIDApOworCQkJX19zdWJt aXRfcXVldWUoZW5naW5lLCBwcmlvLCB0aW1lb3V0KTsKIAl9CiAKIAlzcGluX3VubG9ja19pcnEo JmVuZ2luZS0+dGltZWxpbmUtPmxvY2spOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcmluZ2J1ZmZlci5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1 ZmZlci5oCmluZGV4IGQ2YTU2NzhkY2YzYy4uYTM4MjVkY2IyYzU2IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCkBAIC00NjMsMTMgKzQ2MywxNSBAQCBzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzIHsKIAkgKi8KIAl2b2lkCQkoKnN1Ym1pdF9yZXF1ZXN0KShzdHJ1Y3QgaTkx NV9yZXF1ZXN0ICpycSk7CiAKLQkvKiBDYWxsIHdoZW4gdGhlIHByaW9yaXR5IG9uIGEgcmVxdWVz dCBoYXMgY2hhbmdlZCBhbmQgaXQgYW5kIGl0cworCS8qCisJICogQ2FsbCB3aGVuIHRoZSBwcmlv cml0eSBvbiBhIHJlcXVlc3QgaGFzIGNoYW5nZWQgYW5kIGl0IGFuZCBpdHMKIAkgKiBkZXBlbmRl bmNpZXMgbWF5IG5lZWQgcmVzY2hlZHVsaW5nLiBOb3RlIHRoZSByZXF1ZXN0IGl0c2VsZiBtYXkK IAkgKiBub3QgYmUgcmVhZHkgdG8gcnVuIQogCSAqCiAJICogQ2FsbGVkIHVuZGVyIHRoZSBzdHJ1 Y3RfbXV0ZXguCiAJICovCi0Jdm9pZAkJKCpzY2hlZHVsZSkoc3RydWN0IGk5MTVfcmVxdWVzdCAq cmVxdWVzdCwgaW50IHByaW9yaXR5KTsKKwl2b2lkCQkoKnNjaGVkdWxlKShzdHJ1Y3QgaTkxNV9y ZXF1ZXN0ICpyZXF1ZXN0LAorCQkJCSAgICBpbnQgcHJpb3JpdHksIHVuc2lnbmVkIGludCB0aW1l b3V0KTsKIAogCS8qCiAJICogQ2FuY2VsIGFsbCByZXF1ZXN0cyBvbiB0aGUgaGFyZHdhcmUsIG9y IHF1ZXVlZCBmb3IgZXhlY3V0aW9uLgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv c2VsZnRlc3RzL2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2lu dGVsX2xyYy5jCmluZGV4IGZlMTJkZjE2M2NiZC4uZDk0MmFmYjQwYmM2IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaW50ZWxfbHJjLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvc2VsZnRlc3RzL2ludGVsX2xyYy5jCkBAIC00NDQsNyArNDQ0LDcgQEAgc3Rh dGljIGludCBsaXZlX2xhdGVfcHJlZW1wdCh2b2lkICphcmcpCiAJCQlnb3RvIGVycl93ZWRnZWQ7 CiAJCX0KIAotCQllbmdpbmUtPnNjaGVkdWxlKHJxLCBJOTE1X1BSSU9SSVRZX01BWCk7CisJCWVu Z2luZS0+c2NoZWR1bGUocnEsIEk5MTVfUFJJT1JJVFlfTUFYLCAwKTsKIAogCQlpZiAoIXdhaXRf Zm9yX3NwaW5uZXIoJnNwaW5faGksIHJxKSkgewogCQkJcHJfZXJyKCJIaWdoIHByaW9yaXR5IGNv bnRleHQgZmFpbGVkIHRvIHByZWVtcHQgdGhlIGxvdyBwcmlvcml0eSBjb250ZXh0XG4iKTsKQEAg LTYyNiw2ICs2MjYsMTA3IEBAIHN0YXRpYyBpbnQgbGl2ZV9wcmVlbXB0X3Jlc2V0KHZvaWQgKmFy ZykKIAlyZXR1cm4gZXJyOwogfQogCitzdGF0aWMgaW50IGxpdmVfbGF0ZV9wcmVlbXB0X3RpbWVv dXQodm9pZCAqYXJnKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gYXJnOwor CXN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHhfaGksICpjdHhfbG87CisJc3RydWN0IHNwaW5u ZXIgc3Bpbl9oaSwgc3Bpbl9sbzsKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmU7CisJ ZW51bSBpbnRlbF9lbmdpbmVfaWQgaWQ7CisJaW50IGVyciA9IC1FTk9NRU07CisKKwlpZiAoIUhB U19MT0dJQ0FMX1JJTkdfUFJFRU1QVElPTihpOTE1KSkKKwkJcmV0dXJuIDA7CisKKwltdXRleF9s b2NrKCZpOTE1LT5kcm0uc3RydWN0X211dGV4KTsKKworCWlmIChzcGlubmVyX2luaXQoJnNwaW5f aGksIGk5MTUpKQorCQlnb3RvIGVycl91bmxvY2s7CisKKwlpZiAoc3Bpbm5lcl9pbml0KCZzcGlu X2xvLCBpOTE1KSkKKwkJZ290byBlcnJfc3Bpbl9oaTsKKworCWN0eF9oaSA9IGtlcm5lbF9jb250 ZXh0KGk5MTUpOworCWlmICghY3R4X2hpKQorCQlnb3RvIGVycl9zcGluX2xvOworCisJY3R4X2xv ID0ga2VybmVsX2NvbnRleHQoaTkxNSk7CisJaWYgKCFjdHhfbG8pCisJCWdvdG8gZXJyX2N0eF9o aTsKKworCWZvcl9lYWNoX2VuZ2luZShlbmdpbmUsIGk5MTUsIGlkKSB7CisJCXN0cnVjdCBpOTE1 X3JlcXVlc3QgKnJxOworCisJCXJxID0gc3Bpbm5lcl9jcmVhdGVfcmVxdWVzdCgmc3Bpbl9sbywg Y3R4X2xvLCBlbmdpbmUsIE1JX05PT1ApOworCQlpZiAoSVNfRVJSKHJxKSkgeworCQkJZXJyID0g UFRSX0VSUihycSk7CisJCQlnb3RvIGVycl9jdHhfbG87CisJCX0KKworCQlpOTE1X3JlcXVlc3Rf YWRkKHJxKTsKKwkJaWYgKCF3YWl0X2Zvcl9zcGlubmVyKCZzcGluX2xvLCBycSkpIHsKKwkJCXBy X2VycigiRmlyc3QgY29udGV4dCBmYWlsZWQgdG8gc3RhcnRcbiIpOworCQkJZ290byBlcnJfd2Vk Z2VkOworCQl9CisKKwkJcnEgPSBzcGlubmVyX2NyZWF0ZV9yZXF1ZXN0KCZzcGluX2hpLCBjdHhf aGksIGVuZ2luZSwgTUlfTk9PUCk7CisJCWlmIChJU19FUlIocnEpKSB7CisJCQlzcGlubmVyX2Vu ZCgmc3Bpbl9sbyk7CisJCQllcnIgPSBQVFJfRVJSKHJxKTsKKwkJCWdvdG8gZXJyX2N0eF9sbzsK KwkJfQorCisJCWk5MTVfcmVxdWVzdF9hZGQocnEpOworCQlpZiAod2FpdF9mb3Jfc3Bpbm5lcigm c3Bpbl9oaSwgcnEpKSB7CisJCQlwcl9lcnIoIlNlY29uZCBjb250ZXh0IG92ZXJ0b29rIGZpcnN0 P1xuIik7CisJCQlnb3RvIGVycl93ZWRnZWQ7CisJCX0KKworCQllbmdpbmUtPnNjaGVkdWxlKHJx LCAxLCAwKTsKKworCQlpZiAod2FpdF9mb3Jfc3Bpbm5lcigmc3Bpbl9oaSwgcnEpKSB7CisJCQlw cl9lcnIoIkhpZ2ggcHJpb3JpdHkgY29udGV4dCBvdmVydG9vayBmaXJzdCB3aXRob3V0IGFuIGFy Yml0cmF0aW9uIHBvaW50P1xuIik7CisJCQlnb3RvIGVycl93ZWRnZWQ7CisJCX0KKworCQllbmdp bmUtPnNjaGVkdWxlKHJxLCAyLCAxMCAqIDEwMDAgLyogMTB1cyAqLyk7CisKKwkJaWYgKCF3YWl0 X2Zvcl9zcGlubmVyKCZzcGluX2hpLCBycSkpIHsKKwkJCXByX2VycigiSGlnaCBwcmlvcml0eSBj b250ZXh0IGZhaWxlZCB0byBmb3JjZSBpdHNlbGYgaW4gZnJvbnQgb2YgdGhlIGxvdyBwcmlvcml0 eSBjb250ZXh0XG4iKTsKKwkJCUdFTV9UUkFDRV9EVU1QKCk7CisJCQlnb3RvIGVycl93ZWRnZWQ7 CisJCX0KKworCQlzcGlubmVyX2VuZCgmc3Bpbl9oaSk7CisJCXNwaW5uZXJfZW5kKCZzcGluX2xv KTsKKwkJaWYgKGZsdXNoX3Rlc3QoaTkxNSwgSTkxNV9XQUlUX0xPQ0tFRCkpIHsKKwkJCWVyciA9 IC1FSU87CisJCQlnb3RvIGVycl9jdHhfbG87CisJCX0KKwl9CisKKwllcnIgPSAwOworZXJyX2N0 eF9sbzoKKwlrZXJuZWxfY29udGV4dF9jbG9zZShjdHhfbG8pOworZXJyX2N0eF9oaToKKwlrZXJu ZWxfY29udGV4dF9jbG9zZShjdHhfaGkpOworZXJyX3NwaW5fbG86CisJc3Bpbm5lcl9maW5pKCZz cGluX2xvKTsKK2Vycl9zcGluX2hpOgorCXNwaW5uZXJfZmluaSgmc3Bpbl9oaSk7CitlcnJfdW5s b2NrOgorCWZsdXNoX3Rlc3QoaTkxNSwgSTkxNV9XQUlUX0xPQ0tFRCk7CisJbXV0ZXhfdW5sb2Nr KCZpOTE1LT5kcm0uc3RydWN0X211dGV4KTsKKwlyZXR1cm4gZXJyOworCitlcnJfd2VkZ2VkOgor CXNwaW5uZXJfZW5kKCZzcGluX2hpKTsKKwlzcGlubmVyX2VuZCgmc3Bpbl9sbyk7CisJaTkxNV9n ZW1fc2V0X3dlZGdlZChpOTE1KTsKKwllcnIgPSAtRUlPOworCWdvdG8gZXJyX2N0eF9sbzsKK30K KwogaW50IGludGVsX2V4ZWNsaXN0c19saXZlX3NlbGZ0ZXN0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSkKIHsKIAlzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfc3VidGVzdCB0ZXN0c1td ID0gewpAQCAtNjM0LDYgKzczNSw3IEBAIGludCBpbnRlbF9leGVjbGlzdHNfbGl2ZV9zZWxmdGVz dHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiAJCVNVQlRFU1QobGl2ZV9sYXRlX3By ZWVtcHQpLAogCQlTVUJURVNUKGxpdmVfcHJlZW1wdF90aW1lb3V0KSwKIAkJU1VCVEVTVChsaXZl X3ByZWVtcHRfcmVzZXQpLAorCQlTVUJURVNUKGxpdmVfbGF0ZV9wcmVlbXB0X3RpbWVvdXQpLAog CX07CiAJcmV0dXJuIGk5MTVfc3VidGVzdHModGVzdHMsIGk5MTUpOwogfQotLSAKMi4xNi4zCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK