From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr1-x430.google.com (mail-wr1-x430.google.com [IPv6:2a00:1450:4864:20::430]) by gabe.freedesktop.org (Postfix) with ESMTPS id D07CF6E45A for ; Wed, 3 Oct 2018 12:07:28 +0000 (UTC) Received: by mail-wr1-x430.google.com with SMTP id w5-v6so5853802wrt.2 for ; Wed, 03 Oct 2018 05:07:28 -0700 (PDT) From: Tvrtko Ursulin Date: Wed, 3 Oct 2018 13:07:15 +0100 Message-Id: <20181003120718.6898-4-tvrtko.ursulin@linux.intel.com> In-Reply-To: <20181003120718.6898-1-tvrtko.ursulin@linux.intel.com> References: <20181003120718.6898-1-tvrtko.ursulin@linux.intel.com> Subject: [igt-dev] [RFC i-g-t 3/6] intel-gpu-overlay: Show 1s, 30s and 15m GPU load List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org Cc: Intel-gfx@lists.freedesktop.org, Tvrtko Ursulin List-ID: RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClNob3cgdG90 YWwgR1BVIGxvYWRzIGluIHRoZSB3aW5kb3cgYmFubmVyLgoKRW5naW5lIGxvYWQgaXMgZGVmaW5l ZCBhcyB0b3RhbCBvZiBydW5uYWJsZSBhbmQgcnVubmluZyByZXF1ZXN0cyBvbiBhbgplbmdpbmUu CgpUb3RhbCwgbm9uLW5vcm1hbGl6ZWQsIGxvYWQgaXMgZGlzcGxheS4gSW4gb3RoZXIgd29yZHMg aWYgTiBlbmdpbmVzIGFyZQpidXN5IHdpdGggZXhhY3RseSBvbmUgcmVxdWVzdCwgdGhlIGxvYWQg d2lsbCBiZSBzaG93biBhcyBOLgoKdjI6CiAqIERpZmZlcmVudCBmbGF2b3VyIG9mIGxvYWQgYXZn LiAoQ2hyaXMgV2lsc29uKQogKiBTaW1wbGlmeSBjb2RlLiAoQ2hyaXMgV2lsc29uKQoKU2lnbmVk LW9mZi1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KLS0tCiBv dmVybGF5L2dwdS10b3AuYyB8IDM5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrLQogb3ZlcmxheS9ncHUtdG9wLmggfCAxMSArKysrKysrKysrLQogb3ZlcmxheS9vdmVybGF5 LmMgfCAyOCArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDcw IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvb3ZlcmxheS9ncHUt dG9wLmMgYi9vdmVybGF5L2dwdS10b3AuYwppbmRleCAyMmU5YmFkYjIyYzEuLjUwMTQyOWI4NjM3 OSAxMDA2NDQKLS0tIGEvb3ZlcmxheS9ncHUtdG9wLmMKKysrIGIvb3ZlcmxheS9ncHUtdG9wLmMK QEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlIDxzdHJpbmcuaD4KICNpbmNsdWRlIDx1bmlzdGQu aD4KICNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPG1hdGguaD4KICNpbmNsdWRlIDxlcnJu by5oPgogI2luY2x1ZGUgPGFzc2VydC5oPgogCkBAIC0xMjYsNiArMTI3LDEwIEBAIHN0YXRpYyBp bnQgcGVyZl9pbml0KHN0cnVjdCBncHVfdG9wICpndCkKIAkJZ3QtPnJpbmdbZ3QtPm51bV9yaW5n cysrXS5uYW1lID0gZC0+bmFtZTsKIAl9CiAKKwlndC0+aGF2ZV9sb2FkX2F2ZyA9IGd0LT5oYXZl X3F1ZXVlZCAmJgorCQkJICAgIGd0LT5oYXZlX3J1bm5hYmxlICYmCisJCQkgICAgZ3QtPmhhdmVf cnVubmluZzsKKwogCXJldHVybiAwOwogfQogCkBAIC0yOTAsMTcgKzI5NSwzMiBAQCBzdGF0aWMg dm9pZCBtbWlvX2luaXQoc3RydWN0IGdwdV90b3AgKmd0KQogCX0KIH0KIAotdm9pZCBncHVfdG9w X2luaXQoc3RydWN0IGdwdV90b3AgKmd0KQordm9pZCBncHVfdG9wX2luaXQoc3RydWN0IGdwdV90 b3AgKmd0LCB1bnNpZ25lZCBpbnQgcGVyaW9kX3VzKQogeworCWNvbnN0IGRvdWJsZSBwZXJpb2Qg PSAoZG91YmxlKXBlcmlvZF91cyAvIDFlNjsKKwljb25zdCBkb3VibGUgbG9hZF9wZXJpb2RbTlVN X0xPQURTXSA9IHsgMS4wLCAzMC4wLCA5MDAuMCB9OworCWNvbnN0IGNoYXIgKmxvYWRfbmFtZXNb TlVNX0xPQURTXSA9IHsgIjFzIiwgIjMwcyIsICIxNW0iIH07CisJdW5zaWduZWQgaW50IGk7CisK IAltZW1zZXQoZ3QsIDAsIHNpemVvZigqZ3QpKTsKIAlndC0+ZmQgPSAtMTsKIAorCWZvciAoaSA9 IDA7IGkgPCBOVU1fTE9BRFM7IGkrKykgeworCQlndC0+bG9hZF9uYW1lW2ldID0gbG9hZF9uYW1l c1tpXTsKKwkJZ3QtPmV4cFtpXSA9IGV4cCgtcGVyaW9kIC8gbG9hZF9wZXJpb2RbaV0pOworCX0K KwogCWlmIChwZXJmX2luaXQoZ3QpID09IDApCiAJCXJldHVybjsKIAogCW1taW9faW5pdChndCk7 CiB9CiAKK3N0YXRpYyBkb3VibGUgdXBkYXRlX2xvYWQoZG91YmxlIGxvYWQsIGRvdWJsZSBleHAs IGRvdWJsZSB2YWwpCit7CisJcmV0dXJuIHZhbCArIGV4cCAqIChsb2FkIC0gdmFsKTsKK30KKwog aW50IGdwdV90b3BfdXBkYXRlKHN0cnVjdCBncHVfdG9wICpndCkKIHsKIAl1aW50MzJfdCBkYXRh WzEwMjRdOwpAQCAtMzEzLDYgKzMzMyw4IEBAIGludCBncHVfdG9wX3VwZGF0ZShzdHJ1Y3QgZ3B1 X3RvcCAqZ3QpCiAJCXN0cnVjdCBncHVfdG9wX3N0YXQgKnMgPSAmZ3QtPnN0YXRbZ3QtPmNvdW50 KysmMV07CiAJCXN0cnVjdCBncHVfdG9wX3N0YXQgKmQgPSAmZ3QtPnN0YXRbZ3QtPmNvdW50JjFd OwogCQl1aW50NjRfdCAqc2FtcGxlLCBkX3RpbWU7CisJCWRvdWJsZSBncHVfcWQgPSAwLjA7CisJ CXVuc2lnbmVkIGludCBpOwogCQlpbnQgbiwgbTsKIAogCQlsZW4gPSByZWFkKGd0LT5mZCwgZGF0 YSwgc2l6ZW9mKGRhdGEpKTsKQEAgLTM0MSw2ICszNjMsOCBAQCBpbnQgZ3B1X3RvcF91cGRhdGUo c3RydWN0IGdwdV90b3AgKmd0KQogCiAJCWRfdGltZSA9IHMtPnRpbWUgLSBkLT50aW1lOwogCQlm b3IgKG4gPSAwOyBuIDwgZ3QtPm51bV9yaW5nczsgbisrKSB7CisJCQlkb3VibGUgcWQgPSAwLjA7 CisKIAkJCWd0LT5yaW5nW25dLnUudS5idXN5ID0gKDEwMCAqIChzLT5idXN5W25dIC0gZC0+YnVz eVtuXSkgKyBkX3RpbWUvMikgLyBkX3RpbWU7CiAJCQlpZiAoZ3QtPmhhdmVfd2FpdCkKIAkJCQln dC0+cmluZ1tuXS51LnUud2FpdCA9ICgxMDAgKiAocy0+d2FpdFtuXSAtIGQtPndhaXRbbl0pICsg ZF90aW1lLzIpIC8gZF90aW1lOwpAQCAtMzUzLDYgKzM3NywxNCBAQCBpbnQgZ3B1X3RvcF91cGRh dGUoc3RydWN0IGdwdV90b3AgKmd0KQogCQkJaWYgKGd0LT5oYXZlX3J1bm5pbmcpCiAJCQkJZ3Qt PnJpbmdbbl0ucnVubmluZyA9IChkb3VibGUpKChzLT5ydW5uaW5nW25dIC0gZC0+cnVubmluZ1tu XSkpIC8gSTkxNV9TQU1QTEVfUlVOTklOR19ESVZJU09SICogMWU5IC8gZF90aW1lOwogCisJCQlx ZCA9IGd0LT5yaW5nW25dLnJ1bm5hYmxlICsgZ3QtPnJpbmdbbl0ucnVubmluZzsKKwkJCWdwdV9x ZCArPSBxZDsKKworCQkJZm9yIChpID0gMDsgaSA8IE5VTV9MT0FEUzsgaSsrKQorCQkJCWd0LT5y aW5nW25dLmxvYWRbaV0gPQorCQkJCQl1cGRhdGVfbG9hZChndC0+cmluZ1tuXS5sb2FkW2ldLAor CQkJCQkJICAgIGd0LT5leHBbaV0sIHFkKTsKKwogCQkJLyogaW4gY2FzZSBvZiByb3VuZGluZyAr IHNhbXBsaW5nIGVycm9ycywgZnVkZ2UgKi8KIAkJCWlmIChndC0+cmluZ1tuXS51LnUuYnVzeSA+ IDEwMCkKIAkJCQlndC0+cmluZ1tuXS51LnUuYnVzeSA9IDEwMDsKQEAgLTM2Miw2ICszOTQsMTEg QEAgaW50IGdwdV90b3BfdXBkYXRlKHN0cnVjdCBncHVfdG9wICpndCkKIAkJCQlndC0+cmluZ1tu XS51LnUuc2VtYSA9IDEwMDsKIAkJfQogCisJCWZvciAoaSA9IDA7IGkgPCBOVU1fTE9BRFM7IGkr KykgeworCQkJZ3QtPmxvYWRbaV0gPSB1cGRhdGVfbG9hZChndC0+bG9hZFtpXSwgZ3QtPmV4cFtp XSwKKwkJCQkJCSAgZ3B1X3FkKTsKKwkJCWd0LT5ub3JtX2xvYWRbaV0gPSBndC0+bG9hZFtpXSAv IGd0LT5udW1fcmluZ3M7CisJCX0KIAkJdXBkYXRlID0gMTsKIAl9IGVsc2UgewogCQl3aGlsZSAo KGxlbiA9IHJlYWQoZ3QtPmZkLCBkYXRhLCBzaXplb2YoZGF0YSkpKSA+IDApIHsKZGlmZiAtLWdp dCBhL292ZXJsYXkvZ3B1LXRvcC5oIGIvb3ZlcmxheS9ncHUtdG9wLmgKaW5kZXggY2I0MzEwYzgy YTk0Li4xMTVjZThjNDgyYzEgMTAwNjQ0Ci0tLSBhL292ZXJsYXkvZ3B1LXRvcC5oCisrKyBiL292 ZXJsYXkvZ3B1LXRvcC5oCkBAIC0yNiw2ICsyNiw3IEBACiAjZGVmaW5lIEdQVV9UT1BfSAogCiAj ZGVmaW5lIE1BWF9SSU5HUyAxNgorI2RlZmluZSBOVU1fTE9BRFMgMwogCiAjaW5jbHVkZSA8c3Rk aW50Lmg+CiAKQEAgLTM5LDYgKzQwLDEyIEBAIHN0cnVjdCBncHVfdG9wIHsKIAlpbnQgaGF2ZV9x dWV1ZWQ7CiAJaW50IGhhdmVfcnVubmFibGU7CiAJaW50IGhhdmVfcnVubmluZzsKKwlpbnQgaGF2 ZV9sb2FkX2F2ZzsKKworCWRvdWJsZSBleHBbTlVNX0xPQURTXTsKKwlkb3VibGUgbG9hZFtOVU1f TE9BRFNdOworCWRvdWJsZSBub3JtX2xvYWRbTlVNX0xPQURTXTsKKwljb25zdCBjaGFyICpsb2Fk X25hbWVbTlVNX0xPQURTXTsKIAogCXN0cnVjdCBncHVfdG9wX3JpbmcgewogCQljb25zdCBjaGFy ICpuYW1lOwpAQCAtNTQsNiArNjEsOCBAQCBzdHJ1Y3QgZ3B1X3RvcCB7CiAJCWRvdWJsZSBxdWV1 ZWQ7CiAJCWRvdWJsZSBydW5uYWJsZTsKIAkJZG91YmxlIHJ1bm5pbmc7CisKKwkJZG91YmxlIGxv YWRbTlVNX0xPQURTXTsKIAl9IHJpbmdbTUFYX1JJTkdTXTsKIAogCXN0cnVjdCBncHVfdG9wX3N0 YXQgewpAQCAtNjksNyArNzgsNyBAQCBzdHJ1Y3QgZ3B1X3RvcCB7CiAJaW50IGNvdW50OwogfTsK IAotdm9pZCBncHVfdG9wX2luaXQoc3RydWN0IGdwdV90b3AgKmd0KTsKK3ZvaWQgZ3B1X3RvcF9p bml0KHN0cnVjdCBncHVfdG9wICpndCwgdW5zaWduZWQgaW50IHBlcmlvZF91cyk7CiBpbnQgZ3B1 X3RvcF91cGRhdGUoc3RydWN0IGdwdV90b3AgKmd0KTsKIAogI2VuZGlmIC8qIEdQVV9UT1BfSCAq LwpkaWZmIC0tZ2l0IGEvb3ZlcmxheS9vdmVybGF5LmMgYi9vdmVybGF5L292ZXJsYXkuYwppbmRl eCA3MDg3ZDVlNWIyNGUuLjFhMWQwMWRiMDgyYiAxMDA2NDQKLS0tIGEvb3ZlcmxheS9vdmVybGF5 LmMKKysrIGIvb3ZlcmxheS9vdmVybGF5LmMKQEAgLTE0MSw3ICsxNDEsOCBAQCBzdHJ1Y3Qgb3Zl cmxheV9jb250ZXh0IHsKIH07CiAKIHN0YXRpYyB2b2lkIGluaXRfZ3B1X3RvcChzdHJ1Y3Qgb3Zl cmxheV9jb250ZXh0ICpjdHgsCi0JCQkgc3RydWN0IG92ZXJsYXlfZ3B1X3RvcCAqZ3QpCisJCQkg c3RydWN0IG92ZXJsYXlfZ3B1X3RvcCAqZ3QsCisJCQkgdW5zaWduZWQgaW50IHBlcmlvZF91cykK IHsKIAljb25zdCBkb3VibGUgcmdiYVtdWzRdID0gewogCQl7IDEsIDAuMjUsIDAuMjUsIDEgfSwK QEAgLTE1Myw3ICsxNTQsNyBAQCBzdGF0aWMgdm9pZCBpbml0X2dwdV90b3Aoc3RydWN0IG92ZXJs YXlfY29udGV4dCAqY3R4LAogCWludCBuOwogCiAJY3B1X3RvcF9pbml0KCZndC0+Y3B1X3RvcCk7 Ci0JZ3B1X3RvcF9pbml0KCZndC0+Z3B1X3RvcCk7CisJZ3B1X3RvcF9pbml0KCZndC0+Z3B1X3Rv cCwgcGVyaW9kX3VzKTsKIAogCWNoYXJ0X2luaXQoJmd0LT5jcHUsICJDUFUiLCAxMjApOwogCWNo YXJ0X3NldF9wb3NpdGlvbigmZ3QtPmNwdSwgUEFELCBQQUQpOwpAQCAtOTI4LDEzICs5MjksMTMg QEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogCiAJZGVidWdmc19pbml0KCk7CiAK LQlpbml0X2dwdV90b3AoJmN0eCwgJmN0eC5ncHVfdG9wKTsKKwlzYW1wbGVfcGVyaW9kID0gZ2V0 X3NhbXBsZV9wZXJpb2QoJmNvbmZpZyk7CisKKwlpbml0X2dwdV90b3AoJmN0eCwgJmN0eC5ncHVf dG9wLCBzYW1wbGVfcGVyaW9kKTsKIAlpbml0X2dwdV9wZXJmKCZjdHgsICZjdHguZ3B1X3BlcmYp OwogCWluaXRfZ3B1X2ZyZXEoJmN0eCwgJmN0eC5ncHVfZnJlcSk7CiAJaW5pdF9nZW1fb2JqZWN0 cygmY3R4LCAmY3R4LmdlbV9vYmplY3RzKTsKIAotCXNhbXBsZV9wZXJpb2QgPSBnZXRfc2FtcGxl X3BlcmlvZCgmY29uZmlnKTsKLQogCWkgPSAwOwogCXdoaWxlICgxKSB7CiAJCWN0eC50aW1lID0g dGltZShOVUxMKTsKQEAgLTk1MCw5ICs5NTEsMjQgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIg Kiphcmd2KQogCQlzaG93X2dlbV9vYmplY3RzKCZjdHgsICZjdHguZ2VtX29iamVjdHMpOwogCiAJ CXsKLQkJCWNoYXIgYnVmWzgwXTsKKwkJCXN0cnVjdCBncHVfdG9wICpndCA9ICZjdHguZ3B1X3Rv cC5ncHVfdG9wOwogCQkJY2Fpcm9fdGV4dF9leHRlbnRzX3QgZXh0ZW50czsKKwkJCWNoYXIgYnVm WzI1Nl07CisKIAkJCWdldGhvc3RuYW1lKGJ1Ziwgc2l6ZW9mKGJ1ZikpOworCisJCQlpZiAoZ3Qt PmhhdmVfbG9hZF9hdmcpIHsKKwkJCQlpbnQgbGVuID0gc3RybGVuKGJ1Zik7CisKKwkJCQlzbnBy aW50ZihidWYgKyBsZW4sIHNpemVvZihidWYpIC0gbGVuLAorCQkJCQkgIiVzOyAldSBlbmdpbmVz OyBsb2FkICVzICUuMmYsICVzICUuMmYsICVzICUuMmYiLAorCQkJCQkgYnVmLAorCQkJCQkgZ3Qt Pm51bV9yaW5ncywKKwkJCQkJIGd0LT5sb2FkX25hbWVbMF0sIGd0LT5sb2FkWzBdLAorCQkJCQkg Z3QtPmxvYWRfbmFtZVsxXSwgZ3QtPmxvYWRbMV0sCisJCQkJCSBndC0+bG9hZF9uYW1lWzJdLCBn dC0+bG9hZFsyXSk7CisJCQl9CisKIAkJCWNhaXJvX3NldF9zb3VyY2VfcmdiKGN0eC5jciwgLjUs IC41LCAuNSk7CiAJCQljYWlyb19zZXRfZm9udF9zaXplKGN0eC5jciwgUEFELTIpOwogCQkJY2Fp cm9fdGV4dF9leHRlbnRzKGN0eC5jciwgYnVmLCAmZXh0ZW50cyk7Ci0tIAoyLjE3LjEKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGlu ZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldgo=