From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr0-x241.google.com (mail-wr0-x241.google.com [IPv6:2a00:1450:400c:c0c::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id E44666E8A7 for ; Wed, 31 Jan 2018 12:34:52 +0000 (UTC) Received: by mail-wr0-x241.google.com with SMTP id v31so14775248wrc.11 for ; Wed, 31 Jan 2018 04:34:52 -0800 (PST) From: Tvrtko Ursulin Date: Wed, 31 Jan 2018 12:34:41 +0000 Message-Id: <20180131123441.32102-2-tvrtko.ursulin@linux.intel.com> In-Reply-To: <20180131123441.32102-1-tvrtko.ursulin@linux.intel.com> References: <20180131123441.32102-1-tvrtko.ursulin@linux.intel.com> Subject: [igt-dev] [PATCH i-g-t 2/2] tests/perf_pmu: Verify engine busyness accuracy 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: RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkEgc3VidGVz dCB0byB2ZXJpZnkgdGhhdCB0aGUgZW5naW5lIGJ1c3luZXNzIGlzIHJlcG9ydGVkIHdpdGggZXhw ZWN0ZWQKYWNjdXJhY3kgb24gcGxhdGZvcm1zIHdoZXJlIHRoZSBmZWF0dXJlIGlzIGF2YWlsYWJs ZS4KCldlIHRlc3QgdGhyZWUgcGF0dGVybnM6IDIlLCA1MCUgYW5kIDk4JSBsb2FkIHBlciBlbmdp bmUuCgp2MjoKICogVXNlIHNwaW4gYmF0Y2ggaW5zdGVhZCBvZiBub3AgY2FsaWJyYXRpb24uCiAq IFZhcmlvdXMgdHdlYWtzLgoKdjM6CiAqIENoYW5nZSBsb29wcyB0byBiZSB0aW1lIGJhc2VkLgog KiBVc2UgX19pZ3Rfc3Bpbl9iYXRjaF9uZXcgaW5zaWRlIHRpbWluZyBzZW5zaXRpdmUgbG9vcHMu CiAqIEZpeGVkIFBXTSBzbGVlcCBoYW5kbGluZy4KCnY0OgogKiBVc2UgcmVzdGFydGluZyBzcGlu IGJhdGNoLgogKiBDYWxpYnJhdGUgbW9yZSBjYXJlZnVsbHkgYnkgbG9va2luZyBhdCB0aGUgcmVh bCBQV00gbG9vcC4KClNpZ25lZC1vZmYtYnk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxp bkBpbnRlbC5jb20+Ci0tLQogdGVzdHMvcGVyZl9wbXUuYyB8IDE2NyArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwg MTY3IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS90ZXN0cy9wZXJmX3BtdS5jIGIvdGVzdHMv cGVyZl9wbXUuYwppbmRleCAyZjdkMzM0MTRhNTMuLmZmYmE3NTBlZjNhNSAxMDA2NDQKLS0tIGEv dGVzdHMvcGVyZl9wbXUuYworKysgYi90ZXN0cy9wZXJmX3BtdS5jCkBAIC0zNSw2ICszNSw3IEBA CiAjaW5jbHVkZSA8ZGlyZW50Lmg+CiAjaW5jbHVkZSA8dGltZS5oPgogI2luY2x1ZGUgPHBvbGwu aD4KKyNpbmNsdWRlIDxzY2hlZC5oPgogCiAjaW5jbHVkZSAiaWd0LmgiCiAjaW5jbHVkZSAiaWd0 X2NvcmUuaCIKQEAgLTExNjksNiArMTE3MCwxNjIgQEAgdGVzdF9yYzYoaW50IGdlbV9mZCkKIAlh c3NlcnRfd2l0aGluX2Vwc2lsb24oYnVzeSAtIHByZXYsIDAuMCwgdG9sZXJhbmNlKTsKIH0KIAor c3RhdGljIHVpbnQ2NF90IF9fcG11X3JlYWRfc2luZ2xlKGludCBmZCwgdWludDY0X3QgKnRzKQor eworCXVpbnQ2NF90IGRhdGFbMl07CisKKwlpZ3RfYXNzZXJ0X2VxKHJlYWQoZmQsIGRhdGEsIHNp emVvZihkYXRhKSksIHNpemVvZihkYXRhKSk7CisKKwkqdHMgPSBkYXRhWzFdOworCisJcmV0dXJu IGRhdGFbMF07Cit9CisKK3N0YXRpYyBkb3VibGUgX19lcnJvcihkb3VibGUgdmFsLCBkb3VibGUg cmVmKQoreworCWlndF9hc3NlcnQocmVmICE9IDAuMCk7CisJcmV0dXJuICgxMDAuMCAqIHZhbCAv IHJlZikgLSAxMDAuMDsKK30KKworc3RhdGljIHZvaWQgZGVidWdfZXJyb3IoY29uc3QgY2hhciAq c3RyLCBkb3VibGUgdmFsLCBkb3VibGUgcmVmKQoreworCWlndF9kZWJ1ZygiJXM9JS4yZiUlICgl LjJmLyUuMmYpXG4iLCBzdHIsIF9fZXJyb3IodmFsLCByZWYpLCB2YWwsIHJlZik7Cit9CisKK3N0 YXRpYyB2b2lkIGxvZ19lcnJvcihjb25zdCBjaGFyICpzdHIsIGRvdWJsZSB2YWwsIGRvdWJsZSBy ZWYpCit7CisJZGVidWdfZXJyb3Ioc3RyLCB2YWwsIHJlZik7CisJaWd0X2luZm8oIiVzPSUuMmYl JVxuIiwgc3RyLCBfX2Vycm9yKHZhbCwgcmVmKSk7Cit9CisKKyNkZWZpbmUgZGl2X3JvdW5kX3Vw KGEsIGIpICgoKGEpICsgKGIpIC0gMSkgLyAoYikpCisKK3N0YXRpYyB2b2lkCithY2N1cmFjeShp bnQgZ2VtX2ZkLCBjb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIgKmUsCisJIHVu c2lnbmVkIGxvbmcgdGFyZ2V0X2J1c3lfcGN0KQoreworCWNvbnN0IHVuc2lnbmVkIGludCBtaW5f dGVzdF9sb29wcyA9IDc7CisJY29uc3QgdW5zaWduZWQgbG9uZyBtaW5fdGVzdF91cyA9IDFlNjsK Kwl1bnNpZ25lZCBsb25nIGJ1c3lfdXMgPSAyNTAwOworCXVuc2lnbmVkIGxvbmcgaWRsZV91cyA9 IDEwMCAqIChidXN5X3VzIC0gdGFyZ2V0X2J1c3lfcGN0ICoKKwkJCQlidXN5X3VzIC8gMTAwKSAv IHRhcmdldF9idXN5X3BjdDsKKwl1bnNpZ25lZCBsb25nIHB3bV9jYWxpYnJhdGlvbl91czsKKwl1 bnNpZ25lZCBsb25nIHRlc3RfdXM7CisJZG91YmxlIGJ1c3lfcjsKKwl1aW50NjRfdCB2YWxbMl07 CisJdWludDY0X3QgdHNbMl07CisJaW50IGZkOworCisJLyogU2FtcGxpbmcgcGxhdGZvcm1zIGNh bm5vdCByZWFjaCB0aGUgaGlnaCBhY2N1cmFjeSBjcml0ZXJpYS4gKi8KKwlpZ3RfcmVxdWlyZShp bnRlbF9nZW4oaW50ZWxfZ2V0X2RybV9kZXZpZChnZW1fZmQpKSA+PSA4KTsKKworCXdoaWxlIChp ZGxlX3VzIDwgMjUwMCkgeworCQlidXN5X3VzICo9IDI7CisJCWlkbGVfdXMgKj0gMjsKKwl9CisK Kwlwd21fY2FsaWJyYXRpb25fdXMgPSBtaW5fdGVzdF9sb29wcyAqIChidXN5X3VzICsgaWRsZV91 cyk7CisJd2hpbGUgKHB3bV9jYWxpYnJhdGlvbl91cyA8IG1pbl90ZXN0X3VzKQorCQlwd21fY2Fs aWJyYXRpb25fdXMgKz0gYnVzeV91cyArIGlkbGVfdXM7CisJdGVzdF91cyA9IG1pbl90ZXN0X2xv b3BzICogKGlkbGVfdXMgKyBidXN5X3VzKTsKKwl3aGlsZSAodGVzdF91cyA8IG1pbl90ZXN0X3Vz KQorCQl0ZXN0X3VzICs9IGJ1c3lfdXMgKyBpZGxlX3VzOworCisJaWd0X2luZm8oImNhbGlicmF0 aW9uPSVsdXVzLCB0ZXN0PSVsdXVzOyBidXN5PSVsdXVzLCBpZGxlPSVsdXVzXG4iLAorCQkgcHdt X2NhbGlicmF0aW9uX3VzLCB0ZXN0X3VzLCBidXN5X3VzLCBpZGxlX3VzKTsKKworCWFzc2VydF93 aXRoaW5fZXBzaWxvbigoZG91YmxlKWJ1c3lfdXMgLyAoYnVzeV91cyArIGlkbGVfdXMpLAorCQkJ CShkb3VibGUpdGFyZ2V0X2J1c3lfcGN0IC8gMTAwLjAsIHRvbGVyYW5jZSk7CisKKwkvKiBFbWl0 IFBXTSBwYXR0ZXJuIG9uIHRoZSBlbmdpbmUgZnJvbSBhIGNoaWxkLiAqLworCWlndF9mb3JrKGNo aWxkLCAxKSB7CisJCXN0cnVjdCBzY2hlZF9wYXJhbSBydCA9IHsgLnNjaGVkX3ByaW9yaXR5ID0g OTkgfTsKKwkJY29uc3QgdW5zaWduZWQgbG9uZyB0aW1lb3V0W10gPSB7IHB3bV9jYWxpYnJhdGlv bl91cyAqIDEwMDAsCisJCQkJCQkgIHRlc3RfdXMgKiAyICogMTAwMCB9OworCQl1bnNpZ25lZCBs b25nIHNsZWVwX2J1c3kgPSBidXN5X3VzOworCQl1bnNpZ25lZCBsb25nIHNsZWVwX2lkbGUgPSBp ZGxlX3VzOworCQlpZ3Rfc3Bpbl90ICpzcGluOworCisJCS8qIFdlIG5lZWQgdGhlIGJlc3Qgc2xl ZXAgYWNjdXJhY3kgd2UgY2FuIGdldC4gKi8KKwkJaWd0X3JlcXVpcmUoc2NoZWRfc2V0c2NoZWR1 bGVyKDAsCisJCQkJCSAgICAgICBTQ0hFRF9GSUZPIHwgU0NIRURfUkVTRVRfT05fRk9SSywKKwkJ CQkJICAgICAgICZydCkgPT0gMCk7CisKKwkJLyogQWxsb2NhdGUgb3VyIHNwaW4gYmF0Y2ggYW5k IGlkbGUgaXQuICovCisJCXNwaW4gPSBpZ3Rfc3Bpbl9iYXRjaF9uZXcoZ2VtX2ZkLCAwLCBlMnJp bmcoZ2VtX2ZkLCBlKSwgMCk7CisJCWlndF9zcGluX2JhdGNoX2VuZChzcGluKTsKKwkJZ2VtX3N5 bmMoZ2VtX2ZkLCBzcGluLT5oYW5kbGUpOworCisJCS8qIDFzdCBwYXNzIGlzIGNhbGlicmF0aW9u LCBzZWNvbmQgcGFzcyBpcyB0aGUgdGVzdC4gKi8KKwkJZm9yIChpbnQgcGFzcyA9IDA7IHBhc3Mg PCBBUlJBWV9TSVpFKHRpbWVvdXQpOyBwYXNzKyspIHsKKwkJCXVuc2lnbmVkIGxvbmcgYnVzeV9u cyA9IDAsIGlkbGVfbnMgPSAwOworCQkJc3RydWN0IHRpbWVzcGVjIHRlc3Rfc3RhcnQgPSB7IH07 CisJCQl1bnNpZ25lZCBsb25nIGxvb3BzID0gMDsKKwkJCWRvdWJsZSBlcnJfYnVzeSwgZXJyX2lk bGU7CisJCQlsb25nIGdldF90aW1lX2Q7CisKKwkJCWlndF9uc2VjX2VsYXBzZWQoJnRlc3Rfc3Rh cnQpOworCQkJZG8geworCQkJCXN0cnVjdCB0aW1lc3BlYyB0X2J1c3kgPSB7IH07CisKKwkJCQlp Z3RfbnNlY19lbGFwc2VkKCZ0X2J1c3kpOworCQkJCV9faWd0X3NwaW5fYmF0Y2hfcmVzdGFydChn ZW1fZmQsIHNwaW4pOworCQkJCW1lYXN1cmVkX3VzbGVlcChzbGVlcF9idXN5KTsKKwkJCQlpZ3Rf c3Bpbl9iYXRjaF9lbmQoc3Bpbik7CisJCQkJZ2VtX3N5bmMoZ2VtX2ZkLCBzcGluLT5oYW5kbGUp OworCQkJCWJ1c3lfbnMgKz0gaWd0X25zZWNfZWxhcHNlZCgmdF9idXN5KTsKKworCQkJCWlkbGVf bnMgKz0gbWVhc3VyZWRfdXNsZWVwKHNsZWVwX2lkbGUpOworCisJCQkJbG9vcHMrKzsKKwkJCX0g d2hpbGUgKGlndF9uc2VjX2VsYXBzZWQoJnRlc3Rfc3RhcnQpIDwgdGltZW91dFtwYXNzXSk7CisK KwkJCS8qIGlndF9uc2VjX2VsYXBzZWQgb3ZlcmhlYWQgZnJvbSBtZWFzdXJlZF91c2xlZXAuICov CisJCQlnZXRfdGltZV9kID0gaWRsZV9ucyAtIGxvb3BzICogc2xlZXBfaWRsZSAqIDEwMDA7CisJ CQlidXN5X25zIC09IGdldF90aW1lX2Q7CisJCQlidXN5X25zID0gZGl2X3JvdW5kX3VwKGJ1c3lf bnMsIGxvb3BzKTsKKwkJCWlkbGVfbnMgPSBkaXZfcm91bmRfdXAoaWRsZV9ucywgbG9vcHMpOwor CisJCQllcnJfYnVzeSA9IF9fZXJyb3IoYnVzeV9ucyAvIDEwMDAsIGJ1c3lfdXMpOworCQkJZXJy X2lkbGUgPSBfX2Vycm9yKGlkbGVfbnMgLyAxMDAwLCBpZGxlX3VzKTsKKworCQkJaWd0X2luZm8o IiV1OiBidXN5ICVsdS8lbHUgJS4yZiUlLCBpZGxlICVsdS8lbHUgJS4yZiUlXG4iLAorCQkJCSBw YXNzLAorCQkJCSBidXN5X25zIC8gMTAwMCwgYnVzeV91cywgZXJyX2J1c3ksCisJCQkJIGlkbGVf bnMgLyAxMDAwLCBpZGxlX3VzLCBlcnJfaWRsZSk7CisKKwkJCWlmIChwYXNzID09IDApIHsKKwkJ CQlzbGVlcF9idXN5ID0gKGRvdWJsZSlidXN5X3VzIC0KKwkJCQkJICAgICAoZG91YmxlKWJ1c3lf dXMgKiBlcnJfYnVzeSAvIDEwMC4wOworCQkJCXNsZWVwX2lkbGUgPSAoZG91YmxlKWlkbGVfdXMg LQorCQkJCQkgICAgIChkb3VibGUpaWRsZV91cyAqIGVycl9pZGxlIC8gMTAwLjA7CisJCQkJaWd0 X2luZm8oImNhbGlicmF0ZWQgc2xlZXBzOiBidXN5PSVsdSwgaWRsZT0lbHVcbiIsCisJCQkJCSBz bGVlcF9idXN5LCBzbGVlcF9pZGxlKTsKKwkJCX0KKwkJfQorCisJCWlndF9zcGluX2JhdGNoX2Zy ZWUoZ2VtX2ZkLCBzcGluKTsKKwl9CisKKwkvKiBMZXQgdGhlIGNoaWxkIHJ1bi4gKi8KKwl1c2xl ZXAocHdtX2NhbGlicmF0aW9uX3VzICogMik7CisKKwkvKiBDb2xsZWN0IGVuZ2luZSBidXN5bmVz cyBmb3IgYW4gaW50ZXJlc3RpbmcgcGFydCBvZiBjaGlsZCBydW50aW1lLiAqLworCWZkID0gb3Bl bl9wbXUoSTkxNV9QTVVfRU5HSU5FX0JVU1koZS0+Y2xhc3MsIGUtPmluc3RhbmNlKSk7CisJdmFs WzBdID0gX19wbXVfcmVhZF9zaW5nbGUoZmQsICZ0c1swXSk7CisJdXNsZWVwKHRlc3RfdXMgLyAy KTsKKwl2YWxbMV0gPSBfX3BtdV9yZWFkX3NpbmdsZShmZCwgJnRzWzFdKTsKKwljbG9zZShmZCk7 CisKKwlpZ3Rfd2FpdGNoaWxkcmVuKCk7CisKKwlidXN5X3IgPSAoZG91YmxlKSh2YWxbMV0gLSB2 YWxbMF0pIC8gKHRzWzFdIC0gdHNbMF0pOworCisJbG9nX2Vycm9yKCJlcnJvciIsIGJ1c3lfciwg dGFyZ2V0X2J1c3lfcGN0IC8gMTAwLjApOworCisJYXNzZXJ0X3dpdGhpbl9lcHNpbG9uKGJ1c3lf ciwgKGRvdWJsZSl0YXJnZXRfYnVzeV9wY3QgLyAxMDAuMCwgMC4xNSk7Cit9CisKIGlndF9tYWlu CiB7CiAJY29uc3QgdW5zaWduZWQgaW50IG51bV9vdGhlcl9tZXRyaWNzID0KQEAgLTExOTcsNiAr MTM1NCw4IEBAIGlndF9tYWluCiAJCWludmFsaWRfaW5pdCgpOwogCiAJZm9yX2VhY2hfZW5naW5l X2NsYXNzX2luc3RhbmNlKGZkLCBlKSB7CisJCWNvbnN0IHVuc2lnbmVkIGludCBwY3RbXSA9IHsg MiwgNTAsIDk4IH07CisKIAkJLyoqCiAJCSAqIFRlc3QgdGhhdCBhIHNpbmdsZSBlbmdpbmUgbWV0 cmljIGNhbiBiZSBpbml0aWFsaXplZC4KIAkJICovCkBAIC0xMjc3LDYgKzE0MzYsMTQgQEAgaWd0 X21haW4KIAkJICovCiAJCWlndF9zdWJ0ZXN0X2YoImJ1c3ktZG91YmxlLXN0YXJ0LSVzIiwgZS0+ bmFtZSkKIAkJCWJ1c3lfZG91YmxlX3N0YXJ0KGZkLCBlKTsKKworCQkvKioKKwkJICogQ2hlY2sg ZW5naW5lIGJ1c3luZXNzIGFjY3VyYWN5IGlzIGFzIGV4cGVjdGVkLgorCQkgKi8KKwkJZm9yIChp ID0gMDsgaSA8IEFSUkFZX1NJWkUocGN0KTsgaSsrKSB7CisJCQlpZ3Rfc3VidGVzdF9mKCJidXN5 LWFjY3VyYWN5LSV1LSVzIiwgcGN0W2ldLCBlLT5uYW1lKQorCQkJCWFjY3VyYWN5KGZkLCBlLCBw Y3RbaV0pOworCQl9CiAJfQogCiAJLyoqCi0tIAoyLjE0LjEKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vaWd0LWRldgo=