From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Micha=C5=82=20Winiarski?= Subject: [RFC 04/11] drm/i915/preempt: Implement null preemption method Date: Thu, 23 Feb 2017 20:08:26 +0100 Message-ID: <20170223190833.2888-5-michal.winiarski@intel.com> References: <20170223190833.2888-1-michal.winiarski@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 ESMTPS id C50D36EB17 for ; Thu, 23 Feb 2017 19:09:50 +0000 (UTC) In-Reply-To: <20170223190833.2888-1-michal.winiarski@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 V2UncmUgb25seSByZXF1ZXN0aW5nIHByZWVtcHRpb24gZm9yIHJlcXVlc3RzIHRoYXQgaGF2ZSBo aWdoIGVub3VnaApwcmlvcml0eSAoYWJvdmUgdGhyZXNob2xkKS4gQ3VycmVudGx5IHdlJ3JlIGFs c28gaWdub3JpbmcgcmVxdWVzdHMgdGhhdApoYXZlIGRlcGVuZGVuY2llcyBvbiBkaWZmZXJlbnQg ZW5naW5lcy4KClNpZ25lZC1vZmYtYnk6IE1pY2hhxYIgV2luaWFyc2tpIDxtaWNoYWwud2luaWFy c2tpQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNz aW9uLmMgfCAgMyArKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgICAgICAgICAg IHwgODEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCiAyIGZpbGVzIGNoYW5nZWQsIDgz IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2d1Y19zdWJtaXNzaW9uLmMKaW5kZXggZmVjY2Q2NS4uNmQ5NDMxZCAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYwpAQCAtNDkxLDYgKzQ5MSw5IEBAIHN0YXRp YyBpbnQgZ3VjX3JpbmdfZG9vcmJlbGwoc3RydWN0IGk5MTVfZ3VjX2NsaWVudCAqY2xpZW50KQog CiBzdGF0aWMgaW50IGk5MTVfZ3VjX3ByZWVtcHRfbm9vcChzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICplbmdpbmUpCiB7CisJZW5naW5lLT5wcmVlbXB0X3JlcXVlc3RlZCA9IGZhbHNlOworCWludGVs X3dyaXRlX3N0YXR1c19wYWdlKGVuZ2luZSwgSTkxNV9HRU1fSFdTX1BSRUVNUFRfSU5ERVgsIDAp OworCiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKaW5kZXggZDRjZmFh MS4uODY5Yjk2ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKQEAgLTY3NCwxNiArNjc0LDkz IEBAIHB0X2xvY2tfZW5naW5lKHN0cnVjdCBpOTE1X3ByaW90cmVlICpwdCwgc3RydWN0IGludGVs X2VuZ2luZV9jcyAqbG9ja2VkKQogCXJldHVybiBlbmdpbmU7CiB9CiAKKyNkZWZpbmUgRVhFQ0xJ U1RTX1BSRUVNUFRfVEhSRVNIT0xEIDUxMgorCitzdGF0aWMgdm9pZCBfX2V4ZWNsaXN0c190cnlf cHJlZW1wdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCisJCQkJICBpbnQgcHJpbykK K3sKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJxOworCWludCBoaWdoZXN0X3ByaW8g PSBJTlRfTUlOOworCWludCByZXQ7CisKKwlzcGluX2xvY2tfaXJxKCZlbmdpbmUtPnRpbWVsaW5l LT5sb2NrKTsKKworCS8qIEVuZ2luZSBpcyBpZGxlICovCisJaWYgKGV4ZWNsaXN0c19lbHNwX2lk bGUoZW5naW5lKSkKKwkJZ290byBvdXRfdW5sb2NrOworCisJaWYgKGVuZ2luZS0+cHJlZW1wdF9y ZXF1ZXN0ZWQpCisJCWdvdG8gb3V0X3VubG9jazsKKworCWxpc3RfZm9yX2VhY2hfZW50cnlfcmV2 ZXJzZShycSwgJmVuZ2luZS0+dGltZWxpbmUtPnJlcXVlc3RzLCBsaW5rKSB7CisJCWlmICghaTkx NV9nZW1fcmVxdWVzdF9jb21wbGV0ZWQocnEpKSB7CisJCQloaWdoZXN0X3ByaW8gPSAocnEtPnBy aW90cmVlLnByaW9yaXR5ID4gaGlnaGVzdF9wcmlvKSA/CisJCQkJIHJxLT5wcmlvdHJlZS5wcmlv cml0eSA6IGhpZ2hlc3RfcHJpbzsKKwkJfSBlbHNlCisJCQlicmVhazsKKwl9CisKKwkvKiBCYWls IG91dCBpZiBvdXIgcHJpb3JpdHkgaXMgbG93ZXIgdGhhbiBhbnkgb2YgdGhlIGluZmxpZ2h0IHJl cXVlc3RzCisJICogKGFsc28gaWYgdGhlcmUgYXJlIG5vbmUgcmVxdWVzdHMpICovCisJaWYgKGhp Z2hlc3RfcHJpbyA9PSBJTlRfTUlOIHx8IHByaW8gPD0gaGlnaGVzdF9wcmlvKQorCQlnb3RvIG91 dF91bmxvY2s7CisKKwllbmdpbmUtPnByZWVtcHRfcmVxdWVzdGVkID0gdHJ1ZTsKKworCXNwaW5f dW5sb2NrX2lycSgmZW5naW5lLT50aW1lbGluZS0+bG9jayk7CisKKwlyZXQgPSBlbmdpbmUtPnBy ZWVtcHQoZW5naW5lKTsKKwlpZiAocmV0KSB7CisJCXNwaW5fbG9ja19pcnEoJmVuZ2luZS0+dGlt ZWxpbmUtPmxvY2spOworCQllbmdpbmUtPnByZWVtcHRfcmVxdWVzdGVkID0gZmFsc2U7CisJCXNw aW5fdW5sb2NrX2lycSgmZW5naW5lLT50aW1lbGluZS0+bG9jayk7CisJfQorCisJcmV0dXJuOwor CitvdXRfdW5sb2NrOgorCXNwaW5fdW5sb2NrX2lycSgmZW5naW5lLT50aW1lbGluZS0+bG9jayk7 Cit9CisKK3N0YXRpYyB2b2lkIGV4ZWNsaXN0c190cnlfcHJlZW1wdChzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICplbmdpbmUsCisJCQkJICAgICBpbnQgcHJpbywKKwkJCQkgICAgIHVuc2lnbmVkIGxv bmcgKmVuZ2luZXNfYnVtcGVkKQoreworCWludCBudW1fZW5naW5lc19idW1wZWQgPSBiaXRtYXBf d2VpZ2h0KGVuZ2luZXNfYnVtcGVkLAorCQkJCQkgICAgICAgSTkxNV9OVU1fRU5HSU5FUyk7CisK KwkvKiBQcmVlbXB0aW9uIGlzIGRpc2FibGVkICovCisJaWYgKCFlbmdpbmUtPnByZWVtcHQpCisJ CXJldHVybjsKKworCS8qIFdlJ3JlIG5vdCBhIGhpZ2ggcHJpb3JpdHkgcmVxdWVzdCAqLworCWlm IChwcmlvIDwgRVhFQ0xJU1RTX1BSRUVNUFRfVEhSRVNIT0xEKQorCQlyZXR1cm47CisKKwkvKiBX ZSBoYXZlIGRlcGVuZGVuY2llcyBvbiBtYW55IGVuZ2luZXMgKi8KKwlpZiAobnVtX2VuZ2luZXNf YnVtcGVkID4gMSkKKwkJcmV0dXJuOworCisJLyogV2UgaGF2ZSBkZXBlbmRlbmN5IG9uIGEgc2lu Z2xlIGVuZ2luZSAtIGJ1dCBpdCdzIG5vdCBvdXIgZW5naW5lICovCisJaWYgKG51bV9lbmdpbmVz X2J1bXBlZCA9PSAxICYmICF0ZXN0X2JpdChlbmdpbmUtPmlkLCBlbmdpbmVzX2J1bXBlZCkpCisJ CXJldHVybjsKKworCV9fZXhlY2xpc3RzX3RyeV9wcmVlbXB0KGVuZ2luZSwgcHJpbyk7Cit9CisK IHN0YXRpYyB2b2lkIGV4ZWNsaXN0c19zY2hlZHVsZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVl c3QgKnJlcXVlc3QsIGludCBwcmlvKQogewogCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2lu ZSA9IE5VTEw7CiAJc3RydWN0IGk5MTVfZGVwZW5kZW5jeSAqZGVwLCAqcDsKIAlzdHJ1Y3QgaTkx NV9kZXBlbmRlbmN5IHN0YWNrOwogCUxJU1RfSEVBRChkZnMpOworCURFQ0xBUkVfQklUTUFQKGVu Z2luZV9idW1wZWQsIEk5MTVfTlVNX0VOR0lORVMpOwogCiAJaWYgKHByaW8gPD0gUkVBRF9PTkNF KHJlcXVlc3QtPnByaW90cmVlLnByaW9yaXR5KSkKIAkJcmV0dXJuOwogCisJYml0bWFwX3plcm8o ZW5naW5lX2J1bXBlZCwgSTkxNV9OVU1fRU5HSU5FUyk7CisKIAkvKiBOZWVkIEJLTCBpbiBvcmRl ciB0byB1c2UgdGhlIHRlbXBvcmFyeSBsaW5rIGluc2lkZSBpOTE1X2RlcGVuZGVuY3kgKi8KIAls b2NrZGVwX2Fzc2VydF9oZWxkKCZyZXF1ZXN0LT5pOTE1LT5kcm0uc3RydWN0X211dGV4KTsKIApA QCAtNzE5LDYgKzc5Niw3IEBAIHN0YXRpYyB2b2lkIGV4ZWNsaXN0c19zY2hlZHVsZShzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3QsIGludCBwcmlvKQogCQkJY29udGludWU7CiAK IAkJZW5naW5lID0gcHRfbG9ja19lbmdpbmUocHQsIGVuZ2luZSk7CisJCV9fc2V0X2JpdChlbmdp bmUtPmlkLCBlbmdpbmVfYnVtcGVkKTsKIAogCQkvKiBJZiBpdCBpcyBub3QgYWxyZWFkeSBpbiB0 aGUgcmJ0cmVlLCB3ZSBjYW4gdXBkYXRlIHRoZQogCQkgKiBwcmlvcml0eSBpbnBsYWNlIGFuZCBz a2lwIG92ZXIgaXQgKGFuZCBpdHMgZGVwZW5kZW5jaWVzKQpAQCAtNzM3LDYgKzgxNSw3IEBAIHN0 YXRpYyB2b2lkIGV4ZWNsaXN0c19zY2hlZHVsZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3Qg KnJlcXVlc3QsIGludCBwcmlvKQogCQlJTklUX0xJU1RfSEVBRCgmZGVwLT5kZnNfbGluayk7CiAK IAkJZW5naW5lID0gcHRfbG9ja19lbmdpbmUocHQsIGVuZ2luZSk7CisJCV9fc2V0X2JpdChlbmdp bmUtPmlkLCBlbmdpbmVfYnVtcGVkKTsKIAogCQlpZiAocHJpbyA8PSBwdC0+cHJpb3JpdHkpCiAJ CQljb250aW51ZTsKQEAgLTc1Miw3ICs4MzEsNyBAQCBzdGF0aWMgdm9pZCBleGVjbGlzdHNfc2No ZWR1bGUoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0LCBpbnQgcHJpbykKIAlp ZiAoZW5naW5lKQogCQlzcGluX3VubG9ja19pcnEoJmVuZ2luZS0+dGltZWxpbmUtPmxvY2spOwog Ci0JLyogWFhYIERvIHdlIG5lZWQgdG8gcHJlZW1wdCB0byBtYWtlIHJvb20gZm9yIHVzIGFuZCBv dXIgZGVwcz8gKi8KKwlleGVjbGlzdHNfdHJ5X3ByZWVtcHQoZW5naW5lLCBwcmlvLCBlbmdpbmVf YnVtcGVkKTsKIH0KIAogc3RhdGljIGludCBleGVjbGlzdHNfY29udGV4dF9waW4oc3RydWN0IGlu dGVsX2VuZ2luZV9jcyAqZW5naW5lLAotLSAKMi45LjMKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=