From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH v2 3/7] drm/i915/execlists: Make submission tasklet hardirq safe Date: Mon, 7 May 2018 14:57:27 +0100 Message-ID: <20180507135731.10587-3-chris@chris-wilson.co.uk> References: <20180507135731.10587-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 966CC6E0EB for ; Mon, 7 May 2018 13:57:46 +0000 (UTC) In-Reply-To: <20180507135731.10587-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 UHJlcGFyZSB0byBhbGxvdyB0aGUgZXhlY2xpc3RzIHN1Ym1pc3Npb24gdG8gYmUgcnVuIGZyb20g dW5kZXJuZWF0aCBhCmhhcmRpcnEgdGltZXIgY29udGV4dCAoYW5kIG5vdCBqdXN0IHRoZSBjdXJy ZW50IHNvZnRpcnEgY29udGV4dCkgYXMgaXMKcmVxdWlyZWQgZm9yIGZhc3QgcHJlZW1wdGlvbiBy ZXNldHMgYW5kIGNvbnRleHQgc3dpdGNoZXMuCgpTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24g PGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9scmMuYyB8IDQyICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tCiAxIGZpbGUgY2hh bmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9scmMuYwppbmRleCBmOWY0MDY0ZGVjMGUuLjE1YzM3M2VhNWI3ZSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfbHJjLmMKQEAgLTM1NywxMCArMzU3LDEzIEBAIGV4ZWNsaXN0c191bndpbmRfaW5jb21w bGV0ZV9yZXF1ZXN0cyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2V4ZWNsaXN0cyAqZXhlY2xpc3RzKQog ewogCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9CiAJCWNvbnRhaW5lcl9vZihleGVj bGlzdHMsIHR5cGVvZigqZW5naW5lKSwgZXhlY2xpc3RzKTsKKwl1bnNpZ25lZCBsb25nIGZsYWdz OworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmVuZ2luZS0+dGltZWxpbmUubG9jaywgZmxhZ3MpOwog Ci0Jc3Bpbl9sb2NrX2lycSgmZW5naW5lLT50aW1lbGluZS5sb2NrKTsKIAlfX3Vud2luZF9pbmNv bXBsZXRlX3JlcXVlc3RzKGVuZ2luZSk7Ci0Jc3Bpbl91bmxvY2tfaXJxKCZlbmdpbmUtPnRpbWVs aW5lLmxvY2spOworCisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZW5naW5lLT50aW1lbGluZS5s b2NrLCBmbGFncyk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZApAQCAtNTU0LDcgKzU1Nyw3IEBA IHN0YXRpYyB2b2lkIGluamVjdF9wcmVlbXB0X2NvbnRleHQoc3RydWN0IGludGVsX2VuZ2luZV9j cyAqZW5naW5lKQogCWV4ZWNsaXN0c19zZXRfYWN0aXZlKCZlbmdpbmUtPmV4ZWNsaXN0cywgRVhF Q0xJU1RTX0FDVElWRV9QUkVFTVBUKTsKIH0KIAotc3RhdGljIHZvaWQgZXhlY2xpc3RzX2RlcXVl dWUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQorc3RhdGljIGJvb2wgX19leGVjbGlz dHNfZGVxdWV1ZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiB7CiAJc3RydWN0IGlu dGVsX2VuZ2luZV9leGVjbGlzdHMgKiBjb25zdCBleGVjbGlzdHMgPSAmZW5naW5lLT5leGVjbGlz dHM7CiAJc3RydWN0IGV4ZWNsaXN0X3BvcnQgKnBvcnQgPSBleGVjbGlzdHMtPnBvcnQ7CkBAIC01 NjQsNiArNTY3LDggQEAgc3RhdGljIHZvaWQgZXhlY2xpc3RzX2RlcXVldWUoc3RydWN0IGludGVs X2VuZ2luZV9jcyAqZW5naW5lKQogCXN0cnVjdCByYl9ub2RlICpyYjsKIAlib29sIHN1Ym1pdCA9 IGZhbHNlOwogCisJbG9ja2RlcF9hc3NlcnRfaGVsZCgmZW5naW5lLT50aW1lbGluZS5sb2NrKTsK KwogCS8qIEhhcmR3YXJlIHN1Ym1pc3Npb24gaXMgdGhyb3VnaCAyIHBvcnRzLiBDb25jZXB0dWFs bHkgZWFjaCBwb3J0CiAJICogaGFzIGEgKFJJTkdfU1RBUlQsIFJJTkdfSEVBRCwgUklOR19UQUlM KSB0dXBsZS4gUklOR19TVEFSVCBpcwogCSAqIHN0YXRpYyBmb3IgYSBjb250ZXh0LCBhbmQgdW5p cXVlIHRvIGVhY2gsIHNvIHdlIG9ubHkgZXhlY3V0ZQpAQCAtNTg1LDcgKzU5MCw2IEBAIHN0YXRp YyB2b2lkIGV4ZWNsaXN0c19kZXF1ZXVlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkK IAkgKiBhbmQgY29udGV4dCBzd2l0Y2hlcykgc3VibWlzc2lvbi4KIAkgKi8KIAotCXNwaW5fbG9j a19pcnEoJmVuZ2luZS0+dGltZWxpbmUubG9jayk7CiAJcmIgPSBleGVjbGlzdHMtPmZpcnN0Owog CUdFTV9CVUdfT04ocmJfZmlyc3QoJmV4ZWNsaXN0cy0+cXVldWUpICE9IHJiKTsKIApAQCAtNjAw LDcgKzYwNCw3IEBAIHN0YXRpYyB2b2lkIGV4ZWNsaXN0c19kZXF1ZXVlKHN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKmVuZ2luZSkKIAkJCQkJCUVYRUNMSVNUU19BQ1RJVkVfVVNFUikpOwogCQlHRU1f QlVHX09OKCFwb3J0X2NvdW50KCZwb3J0WzBdKSk7CiAJCWlmIChwb3J0X2NvdW50KCZwb3J0WzBd KSA+IDEpCi0JCQlnb3RvIHVubG9jazsKKwkJCXJldHVybiBmYWxzZTsKIAogCQkvKgogCQkgKiBJ ZiB3ZSB3cml0ZSB0byBFTFNQIGEgc2Vjb25kIHRpbWUgYmVmb3JlIHRoZSBIVyBoYXMgaGFkCkBA IC02MTAsMTEgKzYxNCwxMSBAQCBzdGF0aWMgdm9pZCBleGVjbGlzdHNfZGVxdWV1ZShzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiAJCSAqIHRoZSBIVyB0byBpbmRpY2F0ZSB0aGF0IGl0 IGhhcyBoYWQgYSBjaGFuY2UgdG8gcmVzcG9uZC4KIAkJICovCiAJCWlmICghZXhlY2xpc3RzX2lz X2FjdGl2ZShleGVjbGlzdHMsIEVYRUNMSVNUU19BQ1RJVkVfSFdBQ0spKQotCQkJZ290byB1bmxv Y2s7CisJCQlyZXR1cm4gZmFsc2U7CiAKIAkJaWYgKG5lZWRfcHJlZW1wdChlbmdpbmUsIGxhc3Qs IGV4ZWNsaXN0cy0+cXVldWVfcHJpb3JpdHkpKSB7CiAJCQlpbmplY3RfcHJlZW1wdF9jb250ZXh0 KGVuZ2luZSk7Ci0JCQlnb3RvIHVubG9jazsKKwkJCXJldHVybiBmYWxzZTsKIAkJfQogCiAJCS8q CkBAIC02MzksNyArNjQzLDcgQEAgc3RhdGljIHZvaWQgZXhlY2xpc3RzX2RlcXVldWUoc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCQkgKiBwcmlvcml0aWVzIG9mIHRoZSBwb3J0cyBo YXZlbid0IGJlZW4gc3dpdGNoLgogCQkgKi8KIAkJaWYgKHBvcnRfY291bnQoJnBvcnRbMV0pKQot CQkJZ290byB1bmxvY2s7CisJCQlyZXR1cm4gZmFsc2U7CiAKIAkJLyoKIAkJICogV2FJZGxlTGl0 ZVJlc3RvcmU6YmR3LHNrbApAQCAtNzQ0LDEzICs3NDgsMjUgQEAgc3RhdGljIHZvaWQgZXhlY2xp c3RzX2RlcXVldWUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCS8qIFdlIG11c3Qg YWx3YXlzIGtlZXAgdGhlIGJlYXN0IGZlZCBpZiB3ZSBoYXZlIHdvcmsgcGlsZWQgdXAgKi8KIAlH RU1fQlVHX09OKGV4ZWNsaXN0cy0+Zmlyc3QgJiYgIXBvcnRfaXNzZXQoZXhlY2xpc3RzLT5wb3J0 KSk7CiAKLXVubG9jazoKLQlzcGluX3VubG9ja19pcnEoJmVuZ2luZS0+dGltZWxpbmUubG9jayk7 Ci0KLQlpZiAoc3VibWl0KSB7CisJLyogUmUtZXZhbHVhdGUgdGhlIGV4ZWN1dGluZyBjb250ZXh0 IHNldHVwIGFmdGVyIGVhY2ggcHJlZW1wdGl2ZSBraWNrICovCisJaWYgKGxhc3QpCiAJCWV4ZWNs aXN0c191c2VyX2JlZ2luKGV4ZWNsaXN0cywgZXhlY2xpc3RzLT5wb3J0KTsKKworCXJldHVybiBz dWJtaXQ7Cit9CisKK3N0YXRpYyB2b2lkIGV4ZWNsaXN0c19kZXF1ZXVlKHN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKmVuZ2luZSkKK3sKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2V4ZWNsaXN0cyAqIGNv bnN0IGV4ZWNsaXN0cyA9ICZlbmdpbmUtPmV4ZWNsaXN0czsKKwl1bnNpZ25lZCBsb25nIGZsYWdz OworCWJvb2wgc3VibWl0OworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmVuZ2luZS0+dGltZWxpbmUu bG9jaywgZmxhZ3MpOworCXN1Ym1pdCA9IF9fZXhlY2xpc3RzX2RlcXVldWUoZW5naW5lKTsKKwlz cGluX3VubG9ja19pcnFyZXN0b3JlKCZlbmdpbmUtPnRpbWVsaW5lLmxvY2ssIGZsYWdzKTsKKwor CWlmIChzdWJtaXQpCiAJCWV4ZWNsaXN0c19zdWJtaXRfcG9ydHMoZW5naW5lKTsKLQl9CiAKIAlH RU1fQlVHX09OKHBvcnRfaXNzZXQoZXhlY2xpc3RzLT5wb3J0KSAmJgogCQkgICAhZXhlY2xpc3Rz X2lzX2FjdGl2ZShleGVjbGlzdHMsIEVYRUNMSVNUU19BQ1RJVkVfVVNFUikpOwotLSAKMi4xNy4w CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK