From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 2/2] drm/i915: Look for an active kernel context before switching Date: Wed, 23 May 2018 10:51:26 +0100 Message-ID: <20180523095126.8115-2-chris@chris-wilson.co.uk> References: <20180523095126.8115-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 0B7656E3F4 for ; Wed, 23 May 2018 09:51:44 +0000 (UTC) In-Reply-To: <20180523095126.8115-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 Cc: Mika Kuoppala List-Id: intel-gfx@lists.freedesktop.org V2Ugd2VyZSBub3QgdmVyeSBjYXJlZnVsbHkgY2hlY2tpbmcgdG8gc2VlIGlmIGFuIG9sZGVyIHJl cXVlc3Qgb24gdGhlCmVuZ2luZSB3YXMgYW4gZWFybGllciBzd2l0Y2gtdG8ta2VybmVsLWNvbnRl eHQgYmVmb3JlIGRlY2lkaW5nIHRvIGVtaXQgYQpuZXcgc3dpdGNoLiBUaGUgZW5kIHJlc3VsdCB3 b3VsZCBiZSB0aGF0IHdlIGNvdWxkIGdldCBpbnRvIGEgcGVybWFuZW50Cmxvb3Agb2YgdHJ5aW5n IHRvIGVtaXQgYSBuZXcgcmVxdWVzdCB0byBwZXJmb3JtIHRoZSBzd2l0Y2ggc2ltcGx5IHRvCmZs dXNoIHRoZSBleGlzdGluZyBzd2l0Y2guCgpXaGF0IHdlIG5lZWQgaXMgYSBtZWFucyBvZiB0cmFj a2luZyB0aGUgY29tcGxldGlvbiBvZiBlYWNoIHRpbWVsaW5lCnZlcnN1cyB0aGUga2VybmVsIGNv bnRleHQsIHRoYXQgaXMgdG8gZGV0ZWN0IGlmIGEgbW9yZSByZWNlbnQgcmVxdWVzdApoYXMgYmVl biBzdWJtaXR0ZWQgdGhhdCB3b3VsZCByZXN1bHQgaW4gYSBzd2l0Y2ggYXdheSBmcm9tIHRoZSBr ZXJuZWwKY29udGV4dC4gVG8gcmVhbGlzZSB0aGlzLCB3ZSBuZWVkIG9ubHkgdG8gbG9vayBpbiBv dXIgc3luY21hcCBvbiB0aGUKa2VybmVsIGNvbnRleHQgYW5kIGNoZWNrIHRoYXQgd2UgaGF2ZSBz eW5jaHJvbml6ZWQgYWdhaW5zdCBhbGwgYWN0aXZlCnJpbmdzLgoKUmVwb3J0ZWQtYnk6IE1pa2Eg S3VvcHBhbGEgPG1pa2Eua3VvcHBhbGFAaW50ZWwuY29tPgpGaXhlczogYTg5ZDFmOTIxYzE1ICgi ZHJtL2k5MTU6IFNwbGl0IGk5MTVfZ2VtX3RpbWVsaW5lIGludG8gaW5kaXZpZHVhbCB0aW1lbGlu ZXMiKQpTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51 az4KQ2M6IE1pa2EgS3VvcHBhbGEgPG1pa2Eua3VvcHBhbGFAaW50ZWwuY29tPgotLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYyB8IDQ0ICsrKysrKysrKysrKysrKysr KysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwppbmRleCBiNjliMThlZjgx MjAuLjZjOTMwMWU4ZWY2YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fY29udGV4dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQu YwpAQCAtNTg3LDE4ICs1ODcsNDUgQEAgbGFzdF9yZXF1ZXN0X29uX2VuZ2luZShzdHJ1Y3QgaTkx NV90aW1lbGluZSAqdGltZWxpbmUsCiAJcmV0dXJuIE5VTEw7CiB9CiAKLXN0YXRpYyBib29sIGVu Z2luZV9oYXNfaWRsZV9rZXJuZWxfY29udGV4dChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdp bmUpCitzdGF0aWMgYm9vbCBlbmdpbmVfaGFzX2tlcm5lbF9jb250ZXh0X2JhcnJpZXIoc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogewotCXN0cnVjdCBsaXN0X2hlYWQgKiBjb25zdCBh Y3RpdmVfcmluZ3MgPSAmZW5naW5lLT5pOTE1LT5ndC5hY3RpdmVfcmluZ3M7CisJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmk5MTUgPSBlbmdpbmUtPmk5MTU7CisJc3RydWN0IGk5MTVfdGltZWxp bmUgKmJhcnJpZXIgPQorCQl0b19pbnRlbF9jb250ZXh0KGk5MTUtPmtlcm5lbF9jb250ZXh0LCBl bmdpbmUpLT5yaW5nLT50aW1lbGluZTsKIAlzdHJ1Y3QgaW50ZWxfcmluZyAqcmluZzsKKwlib29s IGFueV9hY3RpdmUgPSBmYWxzZTsKIAotCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJmVuZ2luZS0+aTkx NS0+ZHJtLnN0cnVjdF9tdXRleCk7CisJbG9ja2RlcF9hc3NlcnRfaGVsZCgmaTkxNS0+ZHJtLnN0 cnVjdF9tdXRleCk7CisJbGlzdF9mb3JfZWFjaF9lbnRyeShyaW5nLCAmaTkxNS0+Z3QuYWN0aXZl X3JpbmdzLCBhY3RpdmVfbGluaykgeworCQlzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycTsKKworCQlp ZiAocmluZy0+dGltZWxpbmUgPT0gYmFycmllcikKKwkJCWNvbnRpbnVlOwogCi0JbGlzdF9mb3Jf ZWFjaF9lbnRyeShyaW5nLCBhY3RpdmVfcmluZ3MsIGFjdGl2ZV9saW5rKSB7Ci0JCWlmIChsYXN0 X3JlcXVlc3Rfb25fZW5naW5lKHJpbmctPnRpbWVsaW5lLCBlbmdpbmUpKQorCQlycSA9IGxhc3Rf cmVxdWVzdF9vbl9lbmdpbmUocmluZy0+dGltZWxpbmUsIGVuZ2luZSk7CisJCWlmICghcnEpCisJ CQljb250aW51ZTsKKworCQkvKgorCQkgKiBXYXMgdGhpcyByZXF1ZXN0IHN1Ym1pdHRlZCBhZnRl ciB0aGUgcHJldmlvdXMKKwkJICogc3dpdGNoLXRvLWtlcm5lbC1jb250ZXh0PworCQkgKi8KKwkJ aWYgKCFpOTE1X3RpbWVsaW5lX3N5bmNfaXNfbGF0ZXIoYmFycmllciwgJnJxLT5mZW5jZSkpCiAJ CQlyZXR1cm4gZmFsc2U7CisKKwkJYW55X2FjdGl2ZSA9IHRydWU7CiAJfQogCisJLyoKKwkgKiBJ ZiBhbnkgb3RoZXIgdGltZWxpbmUgd2FzIHN0aWxsIGFjdGl2ZSBhbmQgYmVoaW5kIHRoZSBsYXN0 IGJhcnJpZXIsCisJICogdGhlbiBvdXIgbGFzdCBzd2l0Y2gtdG8ta2VybmVsLWNvbnRleHQgbXVz dCBzdGlsbCBiZSBxdWV1ZWQgYW5kCisJICogd2lsbCBydW4gbGFzdCAobGVhdmluZyB0aGUgZW5n aW5lIGluIHRoZSBrZXJuZWwgY29udGV4dCB3aGVuIGl0CisJICogZXZlbnR1YWxseSBpZGxlcyku CisJICovCisJaWYgKGFueV9hY3RpdmUpCisJCXJldHVybiB0cnVlOworCisJLyogVGhlIGVuZ2lu ZSBpcyBpZGxlOyBjaGVjayB0aGF0IGl0IGlzIGlkbGluZyBpbiB0aGUga2VybmVsIGNvbnRleHQu ICovCiAJcmV0dXJuIGludGVsX2VuZ2luZV9oYXNfa2VybmVsX2NvbnRleHQoZW5naW5lKTsKIH0K IApAQCAtNjA4LDYgKzYzNSw3IEBAIGludCBpOTE1X2dlbV9zd2l0Y2hfdG9fa2VybmVsX2NvbnRl eHQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiAJZW51bSBpbnRlbF9lbmdpbmVfaWQg aWQ7CiAKIAlsb2NrZGVwX2Fzc2VydF9oZWxkKCZpOTE1LT5kcm0uc3RydWN0X211dGV4KTsKKwlH RU1fQlVHX09OKCFpOTE1LT5rZXJuZWxfY29udGV4dCk7CiAKIAlpOTE1X3JldGlyZV9yZXF1ZXN0 cyhpOTE1KTsKIApAQCAtNjE1LDcgKzY0Myw4IEBAIGludCBpOTE1X2dlbV9zd2l0Y2hfdG9fa2Vy bmVsX2NvbnRleHQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiAJCXN0cnVjdCBpbnRl bF9yaW5nICpyaW5nOwogCQlzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycTsKIAotCQlpZiAoZW5naW5l X2hhc19pZGxlX2tlcm5lbF9jb250ZXh0KGVuZ2luZSkpCisJCUdFTV9CVUdfT04oIXRvX2ludGVs X2NvbnRleHQoaTkxNS0+a2VybmVsX2NvbnRleHQsIGVuZ2luZSkpOworCQlpZiAoZW5naW5lX2hh c19rZXJuZWxfY29udGV4dF9iYXJyaWVyKGVuZ2luZSkpCiAJCQljb250aW51ZTsKIAogCQlycSA9 IGk5MTVfcmVxdWVzdF9hbGxvYyhlbmdpbmUsIGk5MTUtPmtlcm5lbF9jb250ZXh0KTsKQEAgLTYy Niw2ICs2NTUsOSBAQCBpbnQgaTkxNV9nZW1fc3dpdGNoX3RvX2tlcm5lbF9jb250ZXh0KHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHJpbmcsICZp OTE1LT5ndC5hY3RpdmVfcmluZ3MsIGFjdGl2ZV9saW5rKSB7CiAJCQlzdHJ1Y3QgaTkxNV9yZXF1 ZXN0ICpwcmV2OwogCisJCQlpZiAocmluZyA9PSBycS0+cmluZykKKwkJCQljb250aW51ZTsKKwog CQkJcHJldiA9IGxhc3RfcmVxdWVzdF9vbl9lbmdpbmUocmluZy0+dGltZWxpbmUsIGVuZ2luZSk7 CiAJCQlpZiAocHJldikKIAkJCQlpOTE1X3N3X2ZlbmNlX2F3YWl0X3N3X2ZlbmNlX2dmcCgmcnEt PnN1Ym1pdCwKLS0gCjIuMTcuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4Cg==