From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH v2] drm/i915: Use seqlock in engine stats Date: Thu, 15 Feb 2018 13:45:08 +0000 Message-ID: <20180215134508.32398-1-tvrtko.ursulin@linux.intel.com> References: <151869627300.15373.12921987748435843882@mail.alporthouse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x243.google.com (mail-wm0-x243.google.com [IPv6:2a00:1450:400c:c09::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4411189C51 for ; Thu, 15 Feb 2018 13:45:19 +0000 (UTC) Received: by mail-wm0-x243.google.com with SMTP id v71so939107wmv.2 for ; Thu, 15 Feb 2018 05:45:19 -0800 (PST) In-Reply-To: <151869627300.15373.12921987748435843882@mail.alporthouse.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 RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCldlIGNhbiBj b252ZXJ0IGVuZ2luZSBzdGF0cyBmcm9tIGEgc3BpbmxvY2sgdG8gc2VxbG9jayB0byBlbnN1cmUg aW50ZXJydXB0CnByb2Nlc3NpbmcgaXMgbmV2ZXIgZXZlbiBhIHRpbnkgYml0IGRlbGF5ZWQgYnkg cGFyYWxsZWwgcmVhZGVycy4KClRoZXJlIGlzIGEgc21pZGdlbiBiaXQgbW9yZSBjb3N0IG9uIHRo ZSB3cml0ZSBsb2NrIHNpZGUsIGFuZCBhbiBleHRyZW1lbHkKdW5saWtlbHkgY2hhbmNlIHRoYXQg cmVhZGVycyB3aWxsIGhhdmUgdG8gcmV0cnkgYSBmZXcgdGltZXMgaW4gZmFjZSBvZgpoZWF2eSBp bnRlcnJ1cHQgbG9hZC5CYnV0IGl0IHNob3VsZCBiZSBleHRyZW1lbHkgdW5saWtlbHkgZ2l2ZW4g aG93CmxpZ2h0d2VpZ2h0IHJlYWQgc2lkZSBzZWN0aW9uIGlzIGNvbXBhcmVkIHRvIHRoZSBpbnRl cnJ1cHQgcHJvY2Vzc2luZyBzaWRlLAphbmQgYWxzbyBjb21wYXJlZCB0byB0aGUgcmVzdCBvZiB0 aGUgY29kZSBwYXRocyB3aGljaCBjYW4gbGVhZCBpbnRvIGl0LgoKdjI6ClJlbGF4IGxvY2tpbmcg dG8gcmVmbGVjdCBBUEkgdXNhZ2UgaXMgbm93IGZyb20gcHJvY2VzcyBjb250ZXh0IGFuZAp0YXNr bGV0LiAoQ2hyaXMgV2lsc29uKQoKU2lnbmVkLW9mZi1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRr by51cnN1bGluQGludGVsLmNvbT4KU3VnZ2VzdGVkLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNo cmlzLXdpbHNvbi5jby51az4KQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNv LnVrPgotLS0KTm90ZSB0aGUgY2FsbCBwYXRoIHRvIGludGVsX2VuZ2luZV9jb250ZXh0X291dCBm cm9tCmV4ZWNsaXN0c19jYW5jZWxfcmVxdWVzdHMgd2hpY2ggaXMgbm90IGZyb20gdGhlIHRhc2ts ZXQsIGJ1dCBoYXBwZW5zIHRvCnJ1biB3aXRoIGludGVycnVwdHMgZGlzYWJsZWQuIFNvIHNob3Vs ZCB3b3JrIGJ1dHkgcGVyaGFwcyBub3QgdGhlIG1vc3QKb2J2aW91cy4KLS0tCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYyAgfCAyMiArKysrKysrKysrLS0tLS0tLS0tLS0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggfCAxNiArKysrKysrLS0t LS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDE3IGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMKaW5kZXggZjNjNTEwMGQ2Mjll Li45MmE2ZTgyMzA0ZjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Vu Z2luZV9jcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jCkBA IC0yNDYsNyArMjQ2LDcgQEAgaW50ZWxfZW5naW5lX3NldHVwKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwKIAkvKiBOb3RoaW5nIHRvIGRvIGhlcmUsIGV4ZWN1dGUgaW4gb3JkZXIg b2YgZGVwZW5kZW5jaWVzICovCiAJZW5naW5lLT5zY2hlZHVsZSA9IE5VTEw7CiAKLQlzcGluX2xv Y2tfaW5pdCgmZW5naW5lLT5zdGF0cy5sb2NrKTsKKwlzZXFsb2NrX2luaXQoJmVuZ2luZS0+c3Rh dHMubG9jayk7CiAKIAlBVE9NSUNfSU5JVF9OT1RJRklFUl9IRUFEKCZlbmdpbmUtPmNvbnRleHRf c3RhdHVzX25vdGlmaWVyKTsKIApAQCAtMTk2OCwxNCArMTk2OCwxMyBAQCBpbnRlbF9lbmdpbmVf bG9va3VwX3VzZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsIHU4IGNsYXNzLCB1OCBp bnN0YW5jZSkKIGludCBpbnRlbF9lbmFibGVfZW5naW5lX3N0YXRzKHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKmVuZ2luZSkKIHsKIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2V4ZWNsaXN0cyAqZXhlY2xp c3RzID0gJmVuZ2luZS0+ZXhlY2xpc3RzOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJaW50IGVy ciA9IDA7CiAKIAlpZiAoIWludGVsX2VuZ2luZV9zdXBwb3J0c19zdGF0cyhlbmdpbmUpKQogCQly ZXR1cm4gLUVOT0RFVjsKIAogCXRhc2tsZXRfZGlzYWJsZSgmZXhlY2xpc3RzLT50YXNrbGV0KTsK LQlzcGluX2xvY2tfaXJxc2F2ZSgmZW5naW5lLT5zdGF0cy5sb2NrLCBmbGFncyk7CisJd3JpdGVf c2VxbG9ja19iaCgmZW5naW5lLT5zdGF0cy5sb2NrKTsKIAogCWlmICh1bmxpa2VseShlbmdpbmUt PnN0YXRzLmVuYWJsZWQgPT0gfjApKSB7CiAJCWVyciA9IC1FQlVTWTsKQEAgLTE5OTksNyArMTk5 OCw3IEBAIGludCBpbnRlbF9lbmFibGVfZW5naW5lX3N0YXRzKHN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKmVuZ2luZSkKIAl9CiAKIHVubG9jazoKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZlbmdp bmUtPnN0YXRzLmxvY2ssIGZsYWdzKTsKKwl3cml0ZV9zZXF1bmxvY2tfYmgoJmVuZ2luZS0+c3Rh dHMubG9jayk7CiAJdGFza2xldF9lbmFibGUoJmV4ZWNsaXN0cy0+dGFza2xldCk7CiAKIAlyZXR1 cm4gZXJyOwpAQCAtMjAyOCwxMiArMjAyNywxMyBAQCBzdGF0aWMga3RpbWVfdCBfX2ludGVsX2Vu Z2luZV9nZXRfYnVzeV90aW1lKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKICAqLwog a3RpbWVfdCBpbnRlbF9lbmdpbmVfZ2V0X2J1c3lfdGltZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICplbmdpbmUpCiB7CisJdW5zaWduZWQgaW50IHNlcTsKIAlrdGltZV90IHRvdGFsOwotCXVuc2ln bmVkIGxvbmcgZmxhZ3M7CiAKLQlzcGluX2xvY2tfaXJxc2F2ZSgmZW5naW5lLT5zdGF0cy5sb2Nr LCBmbGFncyk7Ci0JdG90YWwgPSBfX2ludGVsX2VuZ2luZV9nZXRfYnVzeV90aW1lKGVuZ2luZSk7 Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZW5naW5lLT5zdGF0cy5sb2NrLCBmbGFncyk7CisJ ZG8geworCQlzZXEgPSByZWFkX3NlcWJlZ2luKCZlbmdpbmUtPnN0YXRzLmxvY2spOworCQl0b3Rh bCA9IF9faW50ZWxfZW5naW5lX2dldF9idXN5X3RpbWUoZW5naW5lKTsKKwl9IHdoaWxlIChyZWFk X3NlcXJldHJ5KCZlbmdpbmUtPnN0YXRzLmxvY2ssIHNlcSkpOwogCiAJcmV0dXJuIHRvdGFsOwog fQpAQCAtMjA0NiwxOCArMjA0NiwxNiBAQCBrdGltZV90IGludGVsX2VuZ2luZV9nZXRfYnVzeV90 aW1lKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKICAqLwogdm9pZCBpbnRlbF9kaXNh YmxlX2VuZ2luZV9zdGF0cyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiB7Ci0JdW5z aWduZWQgbG9uZyBmbGFnczsKLQogCWlmICghaW50ZWxfZW5naW5lX3N1cHBvcnRzX3N0YXRzKGVu Z2luZSkpCiAJCXJldHVybjsKIAotCXNwaW5fbG9ja19pcnFzYXZlKCZlbmdpbmUtPnN0YXRzLmxv Y2ssIGZsYWdzKTsKKwl3cml0ZV9zZXFsb2NrX2JoKCZlbmdpbmUtPnN0YXRzLmxvY2spOwogCVdB Uk5fT05fT05DRShlbmdpbmUtPnN0YXRzLmVuYWJsZWQgPT0gMCk7CiAJaWYgKC0tZW5naW5lLT5z dGF0cy5lbmFibGVkID09IDApIHsKIAkJZW5naW5lLT5zdGF0cy50b3RhbCA9IF9faW50ZWxfZW5n aW5lX2dldF9idXN5X3RpbWUoZW5naW5lKTsKIAkJZW5naW5lLT5zdGF0cy5hY3RpdmUgPSAwOwog CX0KLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZlbmdpbmUtPnN0YXRzLmxvY2ssIGZsYWdzKTsK Kwl3cml0ZV9zZXF1bmxvY2tfYmgoJmVuZ2luZS0+c3RhdHMubG9jayk7CiB9CiAKICNpZiBJU19F TkFCTEVEKENPTkZJR19EUk1fSTkxNV9TRUxGVEVTVCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3JpbmdidWZmZXIuaAppbmRleCA1MTUyM2FkMDQ5ZGUuLjY4ZjI3M2NkZTAxMiAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaApAQCAtMyw2ICszLDggQEAKICNkZWZpbmUg X0lOVEVMX1JJTkdCVUZGRVJfSF8KIAogI2luY2x1ZGUgPGxpbnV4L2hhc2h0YWJsZS5oPgorI2lu Y2x1ZGUgPGxpbnV4L3NlcWxvY2suaD4KKwogI2luY2x1ZGUgImk5MTVfZ2VtX2JhdGNoX3Bvb2wu aCIKICNpbmNsdWRlICJpOTE1X2dlbV9yZXF1ZXN0LmgiCiAjaW5jbHVkZSAiaTkxNV9nZW1fdGlt ZWxpbmUuaCIKQEAgLTU2Nyw3ICs1NjksNyBAQCBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzIHsKIAkJ LyoqCiAJCSAqIEBsb2NrOiBMb2NrIHByb3RlY3RpbmcgdGhlIGJlbG93IGZpZWxkcy4KIAkJICov Ci0JCXNwaW5sb2NrX3QgbG9jazsKKwkJc2VxbG9ja190IGxvY2s7CiAJCS8qKgogCQkgKiBAZW5h YmxlZDogUmVmZXJlbmNlIGNvdW50IGluZGljYXRpbmcgbnVtYmVyIG9mIGxpc3RlbmVycy4KIAkJ ICovCkBAIC0xMDE0LDEyICsxMDE2LDEwIEBAIGludGVsX2VuZ2luZV9sb29rdXBfdXNlcihzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgdTggY2xhc3MsIHU4IGluc3RhbmNlKTsKIAogc3Rh dGljIGlubGluZSB2b2lkIGludGVsX2VuZ2luZV9jb250ZXh0X2luKHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKmVuZ2luZSkKIHsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwotCiAJaWYgKFJFQURfT05D RShlbmdpbmUtPnN0YXRzLmVuYWJsZWQpID09IDApCiAJCXJldHVybjsKIAotCXNwaW5fbG9ja19p cnFzYXZlKCZlbmdpbmUtPnN0YXRzLmxvY2ssIGZsYWdzKTsKKwl3cml0ZV9zZXFsb2NrKCZlbmdp bmUtPnN0YXRzLmxvY2spOwogCiAJaWYgKGVuZ2luZS0+c3RhdHMuZW5hYmxlZCA+IDApIHsKIAkJ aWYgKGVuZ2luZS0+c3RhdHMuYWN0aXZlKysgPT0gMCkKQEAgLTEwMjcsMTcgKzEwMjcsMTUgQEAg c3RhdGljIGlubGluZSB2b2lkIGludGVsX2VuZ2luZV9jb250ZXh0X2luKHN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKmVuZ2luZSkKIAkJR0VNX0JVR19PTihlbmdpbmUtPnN0YXRzLmFjdGl2ZSA9PSAw KTsKIAl9CiAKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZlbmdpbmUtPnN0YXRzLmxvY2ssIGZs YWdzKTsKKwl3cml0ZV9zZXF1bmxvY2soJmVuZ2luZS0+c3RhdHMubG9jayk7CiB9CiAKIHN0YXRp YyBpbmxpbmUgdm9pZCBpbnRlbF9lbmdpbmVfY29udGV4dF9vdXQoc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqZW5naW5lKQogewotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Ci0KIAlpZiAoUkVBRF9PTkNF KGVuZ2luZS0+c3RhdHMuZW5hYmxlZCkgPT0gMCkKIAkJcmV0dXJuOwogCi0Jc3Bpbl9sb2NrX2ly cXNhdmUoJmVuZ2luZS0+c3RhdHMubG9jaywgZmxhZ3MpOworCXdyaXRlX3NlcWxvY2soJmVuZ2lu ZS0+c3RhdHMubG9jayk7CiAKIAlpZiAoZW5naW5lLT5zdGF0cy5lbmFibGVkID4gMCkgewogCQlr dGltZV90IGxhc3Q7CkBAIC0xMDY0LDcgKzEwNjIsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgaW50 ZWxfZW5naW5lX2NvbnRleHRfb3V0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAkJ fQogCX0KIAotCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmVuZ2luZS0+c3RhdHMubG9jaywgZmxh Z3MpOworCXdyaXRlX3NlcXVubG9jaygmZW5naW5lLT5zdGF0cy5sb2NrKTsKIH0KIAogaW50IGlu dGVsX2VuYWJsZV9lbmdpbmVfc3RhdHMoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKTsK LS0gCjIuMTQuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 Cg==