From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-x244.google.com (mail-wm0-x244.google.com [IPv6:2a00:1450:400c:c09::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2E7676E190 for ; Mon, 12 Feb 2018 19:02:11 +0000 (UTC) Received: by mail-wm0-x244.google.com with SMTP id b21so11870129wme.4 for ; Mon, 12 Feb 2018 11:02:10 -0800 (PST) From: Tvrtko Ursulin Date: Mon, 12 Feb 2018 19:01:58 +0000 Message-Id: <20180212190158.4710-3-tvrtko.ursulin@linux.intel.com> In-Reply-To: <20180212190158.4710-1-tvrtko.ursulin@linux.intel.com> References: <20180212190158.4710-1-tvrtko.ursulin@linux.intel.com> Subject: [igt-dev] [PATCH i-g-t 2/2] 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: Tvrtko Ursulin List-ID: RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClNob3cgdG90 YWwgR1BVIGxvYWRzIGluIHRoZSB3aW5kb3cgYmFubmVyLgoKRW5naW5lIGxvYWQgaXMgZGVmaW5l ZCBhcyB0b3RhbCBvZiBydW5uYWJsZSBhbmQgcnVubmluZyByZXF1ZXN0cyBvbiBhbgplbmdpbmUu CgpUb3RhbCwgbm9uLW5vcm1hbGl6ZWQsIGxvYWQgaXMgZGlzcGxheS4gSW4gb3RoZXIgd29yZHMg aWYgTiBlbmdpbmVzIGFyZQpidXN5IHdpdGggZXhhY3RseSBvbmUgcmVxdWVzdCwgdGhlIGxvYWQg d2lsbCBiZSBzaG93biBhcyBOLgoKU2lnbmVkLW9mZi1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRr by51cnN1bGluQGludGVsLmNvbT4KLS0tCiBvdmVybGF5L2dwdS10b3AuYyB8IDM3ICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIG92ZXJsYXkvZ3B1LXRvcC5oIHwgMTAgKysr KysrKysrLQogb3ZlcmxheS9vdmVybGF5LmMgfCAyNyArKysrKysrKysrKysrKysrKysrLS0tLS0t LS0KIDMgZmlsZXMgY2hhbmdlZCwgNjQgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvb3ZlcmxheS9ncHUtdG9wLmMgYi9vdmVybGF5L2dwdS10b3AuYwppbmRleCAy MmU5YmFkYjIyYzEuLmNhMjVlOTk4ZTNkNyAxMDA2NDQKLS0tIGEvb3ZlcmxheS9ncHUtdG9wLmMK KysrIGIvb3ZlcmxheS9ncHUtdG9wLmMKQEAgLTI5MCwxNyArMjkwLDM1IEBAIHN0YXRpYyB2b2lk IG1taW9faW5pdChzdHJ1Y3QgZ3B1X3RvcCAqZ3QpCiAJfQogfQogCi12b2lkIGdwdV90b3BfaW5p dChzdHJ1Y3QgZ3B1X3RvcCAqZ3QpCit2b2lkIGdwdV90b3BfaW5pdChzdHJ1Y3QgZ3B1X3RvcCAq Z3QsIHVuc2lnbmVkIGludCBwZXJpb2RfdXMpCiB7CisJY29uc3QgZG91YmxlIHBlcmlvZCA9IChk b3VibGUpcGVyaW9kX3VzIC8gMWU2OworCWNvbnN0IGRvdWJsZSBsb2FkX3BlcmlvZFtOVU1fTE9B RFNdID0geyAxLjAsIDMwLjAsIDkwMC4wIH07CisJY29uc3QgY2hhciAqbG9hZF9uYW1lc1tOVU1f TE9BRFNdID0geyAiMXMiLCAiMzBzIiwgIjE1bSIgfTsKKwl1bnNpZ25lZCBpbnQgaTsKKwogCW1l bXNldChndCwgMCwgc2l6ZW9mKCpndCkpOwogCWd0LT5mZCA9IC0xOwogCisJZm9yIChpID0gMDsg aSA8IE5VTV9MT0FEUzsgaSsrKSB7CisJCWd0LT5sb2FkX25hbWVbaV0gPSBsb2FkX25hbWVzW2ld OworCQlndC0+ZXhwW2ldID0gcGVyaW9kIC8gbG9hZF9wZXJpb2RbaV07CisJfQorCiAJaWYgKHBl cmZfaW5pdChndCkgPT0gMCkKIAkJcmV0dXJuOwogCiAJbW1pb19pbml0KGd0KTsKIH0KIAorc3Rh dGljIGRvdWJsZSB1cGRhdGVfbG9hZChkb3VibGUgbG9hZCwgZG91YmxlIGV4cCwgZG91YmxlIHZh bCkKK3sKKwlsb2FkICo9IDEuMCAtIGV4cDsKKwlsb2FkICs9IGV4cCAqIHZhbDsKKworCXJldHVy biBsb2FkOworfQorCiBpbnQgZ3B1X3RvcF91cGRhdGUoc3RydWN0IGdwdV90b3AgKmd0KQogewog CXVpbnQzMl90IGRhdGFbMTAyNF07CkBAIC0zMTMsNiArMzMxLDggQEAgaW50IGdwdV90b3BfdXBk YXRlKHN0cnVjdCBncHVfdG9wICpndCkKIAkJc3RydWN0IGdwdV90b3Bfc3RhdCAqcyA9ICZndC0+ c3RhdFtndC0+Y291bnQrKyYxXTsKIAkJc3RydWN0IGdwdV90b3Bfc3RhdCAqZCA9ICZndC0+c3Rh dFtndC0+Y291bnQmMV07CiAJCXVpbnQ2NF90ICpzYW1wbGUsIGRfdGltZTsKKwkJZG91YmxlIGdw dV9xZCA9IDAuMDsKKwkJdW5zaWduZWQgaW50IGk7CiAJCWludCBuLCBtOwogCiAJCWxlbiA9IHJl YWQoZ3QtPmZkLCBkYXRhLCBzaXplb2YoZGF0YSkpOwpAQCAtMzQxLDYgKzM2MSw4IEBAIGludCBn cHVfdG9wX3VwZGF0ZShzdHJ1Y3QgZ3B1X3RvcCAqZ3QpCiAKIAkJZF90aW1lID0gcy0+dGltZSAt IGQtPnRpbWU7CiAJCWZvciAobiA9IDA7IG4gPCBndC0+bnVtX3JpbmdzOyBuKyspIHsKKwkJCWRv dWJsZSBxZCA9IDAuMDsKKwogCQkJZ3QtPnJpbmdbbl0udS51LmJ1c3kgPSAoMTAwICogKHMtPmJ1 c3lbbl0gLSBkLT5idXN5W25dKSArIGRfdGltZS8yKSAvIGRfdGltZTsKIAkJCWlmIChndC0+aGF2 ZV93YWl0KQogCQkJCWd0LT5yaW5nW25dLnUudS53YWl0ID0gKDEwMCAqIChzLT53YWl0W25dIC0g ZC0+d2FpdFtuXSkgKyBkX3RpbWUvMikgLyBkX3RpbWU7CkBAIC0zNTMsNiArMzc1LDE0IEBAIGlu dCBncHVfdG9wX3VwZGF0ZShzdHJ1Y3QgZ3B1X3RvcCAqZ3QpCiAJCQlpZiAoZ3QtPmhhdmVfcnVu bmluZykKIAkJCQlndC0+cmluZ1tuXS5ydW5uaW5nID0gKGRvdWJsZSkoKHMtPnJ1bm5pbmdbbl0g LSBkLT5ydW5uaW5nW25dKSkgLyBJOTE1X1NBTVBMRV9SVU5OSU5HX0RJVklTT1IgKiAxZTkgLyBk X3RpbWU7CiAKKwkJCXFkID0gZ3QtPnJpbmdbbl0ucnVubmFibGUgKyBndC0+cmluZ1tuXS5ydW5u aW5nOworCQkJZ3B1X3FkICs9IHFkOworCisJCQlmb3IgKGkgPSAwOyBpIDwgTlVNX0xPQURTOyBp KyspCisJCQkJZ3QtPnJpbmdbbl0ubG9hZFtpXSA9CisJCQkJCXVwZGF0ZV9sb2FkKGd0LT5yaW5n W25dLmxvYWRbaV0sCisJCQkJCQkgICAgZ3QtPmV4cFtpXSwgcWQpOworCiAJCQkvKiBpbiBjYXNl IG9mIHJvdW5kaW5nICsgc2FtcGxpbmcgZXJyb3JzLCBmdWRnZSAqLwogCQkJaWYgKGd0LT5yaW5n W25dLnUudS5idXN5ID4gMTAwKQogCQkJCWd0LT5yaW5nW25dLnUudS5idXN5ID0gMTAwOwpAQCAt MzYyLDYgKzM5MiwxMSBAQCBpbnQgZ3B1X3RvcF91cGRhdGUoc3RydWN0IGdwdV90b3AgKmd0KQog CQkJCWd0LT5yaW5nW25dLnUudS5zZW1hID0gMTAwOwogCQl9CiAKKwkJZm9yIChpID0gMDsgaSA8 IE5VTV9MT0FEUzsgaSsrKSB7CisJCQlndC0+bG9hZFtpXSA9IHVwZGF0ZV9sb2FkKGd0LT5sb2Fk W2ldLCBndC0+ZXhwW2ldLAorCQkJCQkJICBncHVfcWQpOworCQkJZ3QtPm5vcm1fbG9hZFtpXSA9 IGd0LT5sb2FkW2ldIC8gZ3QtPm51bV9yaW5nczsKKwkJfQogCQl1cGRhdGUgPSAxOwogCX0gZWxz ZSB7CiAJCXdoaWxlICgobGVuID0gcmVhZChndC0+ZmQsIGRhdGEsIHNpemVvZihkYXRhKSkpID4g MCkgewpkaWZmIC0tZ2l0IGEvb3ZlcmxheS9ncHUtdG9wLmggYi9vdmVybGF5L2dwdS10b3AuaApp bmRleCBjYjQzMTBjODJhOTQuLjhmYzYxN2NlODQ5MiAxMDA2NDQKLS0tIGEvb3ZlcmxheS9ncHUt dG9wLmgKKysrIGIvb3ZlcmxheS9ncHUtdG9wLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNkZWZpbmUg R1BVX1RPUF9ICiAKICNkZWZpbmUgTUFYX1JJTkdTIDE2CisjZGVmaW5lIE5VTV9MT0FEUyAzCiAK ICNpbmNsdWRlIDxzdGRpbnQuaD4KIApAQCAtNDAsNiArNDEsMTEgQEAgc3RydWN0IGdwdV90b3Ag ewogCWludCBoYXZlX3J1bm5hYmxlOwogCWludCBoYXZlX3J1bm5pbmc7CiAKKwlkb3VibGUgZXhw W05VTV9MT0FEU107CisJZG91YmxlIGxvYWRbTlVNX0xPQURTXTsKKwlkb3VibGUgbm9ybV9sb2Fk W05VTV9MT0FEU107CisJY29uc3QgY2hhciAqbG9hZF9uYW1lW05VTV9MT0FEU107CisKIAlzdHJ1 Y3QgZ3B1X3RvcF9yaW5nIHsKIAkJY29uc3QgY2hhciAqbmFtZTsKIAkJdW5pb24gZ3B1X3RvcF9w YXlsb2FkIHsKQEAgLTU0LDYgKzYwLDggQEAgc3RydWN0IGdwdV90b3AgewogCQlkb3VibGUgcXVl dWVkOwogCQlkb3VibGUgcnVubmFibGU7CiAJCWRvdWJsZSBydW5uaW5nOworCisJCWRvdWJsZSBs b2FkW05VTV9MT0FEU107CiAJfSByaW5nW01BWF9SSU5HU107CiAKIAlzdHJ1Y3QgZ3B1X3RvcF9z dGF0IHsKQEAgLTY5LDcgKzc3LDcgQEAgc3RydWN0IGdwdV90b3AgewogCWludCBjb3VudDsKIH07 CiAKLXZvaWQgZ3B1X3RvcF9pbml0KHN0cnVjdCBncHVfdG9wICpndCk7Cit2b2lkIGdwdV90b3Bf aW5pdChzdHJ1Y3QgZ3B1X3RvcCAqZ3QsIHVuc2lnbmVkIGludCBwZXJpb2RfdXMpOwogaW50IGdw dV90b3BfdXBkYXRlKHN0cnVjdCBncHVfdG9wICpndCk7CiAKICNlbmRpZiAvKiBHUFVfVE9QX0gg Ki8KZGlmZiAtLWdpdCBhL292ZXJsYXkvb3ZlcmxheS5jIGIvb3ZlcmxheS9vdmVybGF5LmMKaW5k ZXggYTYzOTcwM2ViY2VjLi4zMGY3MTJlNDQxNWEgMTAwNjQ0Ci0tLSBhL292ZXJsYXkvb3Zlcmxh eS5jCisrKyBiL292ZXJsYXkvb3ZlcmxheS5jCkBAIC0xNDEsNyArMTQxLDggQEAgc3RydWN0IG92 ZXJsYXlfY29udGV4dCB7CiB9OwogCiBzdGF0aWMgdm9pZCBpbml0X2dwdV90b3Aoc3RydWN0IG92 ZXJsYXlfY29udGV4dCAqY3R4LAotCQkJIHN0cnVjdCBvdmVybGF5X2dwdV90b3AgKmd0KQorCQkJ IHN0cnVjdCBvdmVybGF5X2dwdV90b3AgKmd0LAorCQkJIHVuc2lnbmVkIGludCBwZXJpb2RfdXMp CiB7CiAJY29uc3QgZG91YmxlIHJnYmFbXVs0XSA9IHsKIAkJeyAxLCAwLjI1LCAwLjI1LCAxIH0s CkBAIC0xNTIsNyArMTUzLDcgQEAgc3RhdGljIHZvaWQgaW5pdF9ncHVfdG9wKHN0cnVjdCBvdmVy bGF5X2NvbnRleHQgKmN0eCwKIAlpbnQgbjsKIAogCWNwdV90b3BfaW5pdCgmZ3QtPmNwdV90b3Ap OwotCWdwdV90b3BfaW5pdCgmZ3QtPmdwdV90b3ApOworCWdwdV90b3BfaW5pdCgmZ3QtPmdwdV90 b3AsIHBlcmlvZF91cyk7CiAKIAljaGFydF9pbml0KCZndC0+Y3B1LCAiQ1BVIiwgMTIwKTsKIAlj aGFydF9zZXRfcG9zaXRpb24oJmd0LT5jcHUsIFBBRCwgUEFEKTsKQEAgLTkyOSwxMyArOTMwLDEz IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKIAogCWRlYnVnZnNfaW5pdCgpOwog Ci0JaW5pdF9ncHVfdG9wKCZjdHgsICZjdHguZ3B1X3RvcCk7CisJc2FtcGxlX3BlcmlvZCA9IGdl dF9zYW1wbGVfcGVyaW9kKCZjb25maWcpOworCisJaW5pdF9ncHVfdG9wKCZjdHgsICZjdHguZ3B1 X3RvcCwgc2FtcGxlX3BlcmlvZCk7CiAJaW5pdF9ncHVfcGVyZigmY3R4LCAmY3R4LmdwdV9wZXJm KTsKIAlpbml0X2dwdV9mcmVxKCZjdHgsICZjdHguZ3B1X2ZyZXEpOwogCWluaXRfZ2VtX29iamVj dHMoJmN0eCwgJmN0eC5nZW1fb2JqZWN0cyk7CiAKLQlzYW1wbGVfcGVyaW9kID0gZ2V0X3NhbXBs ZV9wZXJpb2QoJmNvbmZpZyk7Ci0KIAlpID0gMDsKIAl3aGlsZSAoMSkgewogCQljdHgudGltZSA9 IHRpbWUoTlVMTCk7CkBAIC05NTEsMTYgKzk1MiwyNiBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hh ciAqKmFyZ3YpCiAJCXNob3dfZ2VtX29iamVjdHMoJmN0eCwgJmN0eC5nZW1fb2JqZWN0cyk7CiAK IAkJewotCQkJY2hhciBidWZbODBdOworCQkJc3RydWN0IGdwdV90b3AgKmd0ID0gJmN0eC5ncHVf dG9wLmdwdV90b3A7CisJCQljaGFyIGJ1Zls4MF0sIGJ1ZjJbMjU2XTsKIAkJCWNhaXJvX3RleHRf ZXh0ZW50c190IGV4dGVudHM7CisKIAkJCWdldGhvc3RuYW1lKGJ1Ziwgc2l6ZW9mKGJ1ZikpOwor CQkJc25wcmludGYoYnVmMiwgc2l6ZW9mKGJ1ZjIpLAorCQkJCSAiJXM7ICV1IGVuZ2luZXM7IGxv YWQtYXZnICVzICUuMmYsICVzICUuMmYsICVzICUuMmYiLAorCQkJCSBidWYsCisJCQkJIGd0LT5u dW1fcmluZ3MsCisJCQkJIGd0LT5sb2FkX25hbWVbMF0sIGd0LT5sb2FkWzBdLAorCQkJCSBndC0+ bG9hZF9uYW1lWzFdLCBndC0+bG9hZFsxXSwKKwkJCQkgZ3QtPmxvYWRfbmFtZVsyXSwgZ3QtPmxv YWRbMl0pOworCiAJCQljYWlyb19zZXRfc291cmNlX3JnYihjdHguY3IsIC41LCAuNSwgLjUpOwog CQkJY2Fpcm9fc2V0X2ZvbnRfc2l6ZShjdHguY3IsIFBBRC0yKTsKLQkJCWNhaXJvX3RleHRfZXh0 ZW50cyhjdHguY3IsIGJ1ZiwgJmV4dGVudHMpOworCQkJY2Fpcm9fdGV4dF9leHRlbnRzKGN0eC5j ciwgYnVmMiwgJmV4dGVudHMpOwogCQkJY2Fpcm9fbW92ZV90byhjdHguY3IsCiAJCQkJICAgICAg KGN0eC53aWR0aC1leHRlbnRzLndpZHRoKS8yLiwKIAkJCQkgICAgICAxK2V4dGVudHMuaGVpZ2h0 KTsKLQkJCWNhaXJvX3Nob3dfdGV4dChjdHguY3IsIGJ1Zik7CisJCQljYWlyb19zaG93X3RleHQo Y3R4LmNyLCBidWYyKTsKIAkJfQogCiAJCWNhaXJvX2Rlc3Ryb3koY3R4LmNyKTsKLS0gCjIuMTQu MQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KaWd0LWRl diBtYWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2Cg==