From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Tvrtko Ursulin Date: Mon, 19 Mar 2018 18:22:04 +0000 Message-Id: <20180319182205.29454-5-tvrtko.ursulin@linux.intel.com> In-Reply-To: <20180319182205.29454-1-tvrtko.ursulin@linux.intel.com> References: <20180319182205.29454-1-tvrtko.ursulin@linux.intel.com> Subject: [Intel-gfx] [PATCH i-g-t 4/5] tests/perf_pmu: Add tests for engine queued/runnable/running stats 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: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: igt-dev@lists.freedesktop.org Cc: Intel-gfx@lists.freedesktop.org List-ID: RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClNpbXBsZSB0 ZXN0cyB0byBjaGVjayByZXBvcnRlZCBxdWV1ZSBkZXB0aHMgYXJlIGNvcnJlY3QuCgpTaWduZWQt b2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgotLS0KIHRl c3RzL3BlcmZfcG11LmMgfCAyMjQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDIyNCBpbnNlcnRpb25zKCspCgpk aWZmIC0tZ2l0IGEvdGVzdHMvcGVyZl9wbXUuYyBiL3Rlc3RzL3BlcmZfcG11LmMKaW5kZXggNDY5 YjliZWNkYmFjLi4yMDZjMTg5NjBiN2IgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3BlcmZfcG11LmMKKysr IGIvdGVzdHMvcGVyZl9wbXUuYwpAQCAtOTY2LDYgKzk2NiwxOTYgQEAgbXVsdGlfY2xpZW50KGlu dCBnZW1fZmQsIGNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiAqZSkKIAlhc3Nl cnRfd2l0aGluX2Vwc2lsb24odmFsWzFdLCBwZXJmX3NsZXB0WzFdLCB0b2xlcmFuY2UpOwogfQog CitzdGF0aWMgZG91YmxlIGNhbGNfcXVldWVkKHVpbnQ2NF90IGRfdmFsLCB1aW50NjRfdCBkX25z KQoreworCXJldHVybiAoZG91YmxlKWRfdmFsICogMWU5IC8gSTkxNV9TQU1QTEVfUVVFVUVEX0RJ VklTT1IgLyBkX25zOworfQorCitzdGF0aWMgdm9pZAorcXVldWVkKGludCBnZW1fZmQsIGNvbnN0 IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiAqZSkKK3sKKwljb25zdCB1bnNpZ25lZCBs b25nIGVuZ2luZSA9IGUycmluZyhnZW1fZmQsIGUpOworCWNvbnN0IHVuc2lnbmVkIGludCBtYXhf cnEgPSAxMDsKKwlkb3VibGUgcXVldWVkW21heF9ycSArIDFdOworCXVpbnQzMl90IGJvW21heF9y cSArIDFdOworCXVuc2lnbmVkIGludCBuLCBpOworCXVpbnQ2NF90IHZhbFsyXTsKKwl1aW50NjRf dCB0c1syXTsKKwlpbnQgZmQ7CisKKwltZW1zZXQocXVldWVkLCAwLCBzaXplb2YocXVldWVkKSk7 CisJbWVtc2V0KGJvLCAwLCBzaXplb2YoYm8pKTsKKworCWZkID0gb3Blbl9wbXUoSTkxNV9QTVVf RU5HSU5FX1FVRVVFRChlLT5jbGFzcywgZS0+aW5zdGFuY2UpKTsKKworCWZvciAobiA9IDA7IG4g PD0gbWF4X3JxOyBuKyspIHsKKwkJaW50IGZlbmNlID0gLTE7CisJCXN0cnVjdCBpZ3RfY29yayBj b3JrID0geyAuZmQgPSBmZW5jZSwgLnR5cGUgPSBDT1JLX1NZTkNfRkQgfTsKKworCQlnZW1fcXVp ZXNjZW50X2dwdShnZW1fZmQpOworCisJCWlmIChuKQorCQkJZmVuY2UgPSBpZ3RfY29ya19wbHVn KCZjb3JrLCAtMSk7CisKKwkJZm9yIChpID0gMDsgaSA8IG47IGkrKykgeworCQkJc3RydWN0IGRy bV9pOTE1X2dlbV9leGVjX29iamVjdDIgb2JqID0geyB9OworCQkJc3RydWN0IGRybV9pOTE1X2dl bV9leGVjYnVmZmVyMiBlYiA9IHsgfTsKKworCQkJaWYgKCFib1tpXSkgeworCQkJCWNvbnN0IHVp bnQzMl90IGJiZSA9IE1JX0JBVENIX0JVRkZFUl9FTkQ7CisKKwkJCQlib1tpXSA9IGdlbV9jcmVh dGUoZ2VtX2ZkLCA0MDk2KTsKKwkJCQlnZW1fd3JpdGUoZ2VtX2ZkLCBib1tpXSwgNDA5MiwgJmJi ZSwKKwkJCQkJICBzaXplb2YoYmJlKSk7CisJCQl9CisKKwkJCW9iai5oYW5kbGUgPSBib1tpXTsK KworCQkJZWIuYnVmZmVyX2NvdW50ID0gMTsKKwkJCWViLmJ1ZmZlcnNfcHRyID0gdG9fdXNlcl9w b2ludGVyKCZvYmopOworCisJCQllYi5mbGFncyA9IGVuZ2luZSB8IEk5MTVfRVhFQ19GRU5DRV9J TjsKKwkJCWViLnJzdmQyID0gZmVuY2U7CisKKwkJCWdlbV9leGVjYnVmKGdlbV9mZCwgJmViKTsK KwkJfQorCisJCXZhbFswXSA9IF9fcG11X3JlYWRfc2luZ2xlKGZkLCAmdHNbMF0pOworCQl1c2xl ZXAoYmF0Y2hfZHVyYXRpb25fbnMgLyAxMDAwKTsKKwkJdmFsWzFdID0gX19wbXVfcmVhZF9zaW5n bGUoZmQsICZ0c1sxXSk7CisKKwkJcXVldWVkW25dID0gY2FsY19xdWV1ZWQodmFsWzFdIC0gdmFs WzBdLCB0c1sxXSAtIHRzWzBdKTsKKwkJaWd0X2luZm8oIm49JXUgcXVldWVkPSUuMmZcbiIsIG4s IHF1ZXVlZFtuXSk7CisKKwkJaWYgKGZlbmNlID49IDApCisJCQlpZ3RfY29ya191bnBsdWcoJmNv cmspOworCisJCWZvciAoaSA9IDA7IGkgPCBuOyBpKyspCisJCQlnZW1fc3luYyhnZW1fZmQsIGJv W2ldKTsKKwl9CisKKwljbG9zZShmZCk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbWF4X3JxOyBpKysp IHsKKwkJaWYgKGJvW2ldKQorCQkJZ2VtX2Nsb3NlKGdlbV9mZCwgYm9baV0pOworCX0KKworCWZv ciAoaSA9IDA7IGkgPD0gbWF4X3JxOyBpKyspCisJCWFzc2VydF93aXRoaW5fZXBzaWxvbihxdWV1 ZWRbaV0sIGksIHRvbGVyYW5jZSk7Cit9CisKK3N0YXRpYyB2b2lkCitydW5uYWJsZShpbnQgZ2Vt X2ZkLCBjb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIgKmUpCit7CisJY29uc3Qg dW5zaWduZWQgbG9uZyBlbmdpbmUgPSBlMnJpbmcoZ2VtX2ZkLCBlKTsKKwljb25zdCB1bnNpZ25l ZCBpbnQgbWF4X3JxID0gMTA7CisJaWd0X3NwaW5fdCAqc3BpblttYXhfcnEgKyAxXTsKKwlkb3Vi bGUgcnVubmFibGVbbWF4X3JxICsgMV07CisJdWludDMyX3QgY3R4W21heF9ycV07CisJdW5zaWdu ZWQgaW50IG4sIGk7CisJdWludDY0X3QgdmFsWzJdOworCXVpbnQ2NF90IHRzWzJdOworCWludCBm ZDsKKworCW1lbXNldChydW5uYWJsZSwgMCwgc2l6ZW9mKHJ1bm5hYmxlKSk7CisJbWVtc2V0KGN0 eCwgMCwgc2l6ZW9mKGN0eCkpOworCisJZmQgPSBvcGVuX3BtdShJOTE1X1BNVV9FTkdJTkVfUlVO TkFCTEUoZS0+Y2xhc3MsIGUtPmluc3RhbmNlKSk7CisKKwlmb3IgKG4gPSAwOyBuIDw9IG1heF9y cTsgbisrKSB7CisJCWdlbV9xdWllc2NlbnRfZ3B1KGdlbV9mZCk7CisKKwkJZm9yIChpID0gMDsg aSA8IG47IGkrKykgeworCQkJaWYgKCFjdHhbaV0pCisJCQkJY3R4W2ldID0gZ2VtX2NvbnRleHRf Y3JlYXRlKGdlbV9mZCk7CisKKwkJCWlmIChpID09IDApCisJCQkJc3BpbltpXSA9IF9fc3Bpbl9w b2xsKGdlbV9mZCwgY3R4W2ldLCBlbmdpbmUpOworCQkJZWxzZQorCQkJCXNwaW5baV0gPSBfX2ln dF9zcGluX2JhdGNoX25ldyhnZW1fZmQsIGN0eFtpXSwKKwkJCQkJCQkgICAgICAgZW5naW5lLCAw KTsKKwkJfQorCisJCWlmIChuKQorCQkJX19zcGluX3dhaXQoZ2VtX2ZkLCBzcGluWzBdKTsKKwor CQl2YWxbMF0gPSBfX3BtdV9yZWFkX3NpbmdsZShmZCwgJnRzWzBdKTsKKwkJdXNsZWVwKGJhdGNo X2R1cmF0aW9uX25zIC8gMTAwMCk7CisJCXZhbFsxXSA9IF9fcG11X3JlYWRfc2luZ2xlKGZkLCAm dHNbMV0pOworCisJCXJ1bm5hYmxlW25dID0gY2FsY19xdWV1ZWQodmFsWzFdIC0gdmFsWzBdLCB0 c1sxXSAtIHRzWzBdKTsKKwkJaWd0X2luZm8oIm49JXUgcnVubmFibGU9JS4yZlxuIiwgbiwgcnVu bmFibGVbbl0pOworCisJCWZvciAoaSA9IDA7IGkgPCBuOyBpKyspIHsKKwkJCWVuZF9zcGluKGdl bV9mZCwgc3BpbltpXSwgRkxBR19TWU5DKTsKKwkJCWlndF9zcGluX2JhdGNoX2ZyZWUoZ2VtX2Zk LCBzcGluW2ldKTsKKwkJfQorCX0KKworCWZvciAoaSA9IDA7IGkgPCBtYXhfcnE7IGkrKykgewor CQlpZiAoY3R4W2ldKQorCQkJZ2VtX2NvbnRleHRfZGVzdHJveShnZW1fZmQsIGN0eFtpXSk7CisJ fQorCisJY2xvc2UoZmQpOworCisJYXNzZXJ0X3dpdGhpbl9lcHNpbG9uKHJ1bm5hYmxlWzBdLCAw LCB0b2xlcmFuY2UpOworCWlndF9hc3NlcnQocnVubmFibGVbbWF4X3JxXSA+IDAuMCk7CisJYXNz ZXJ0X3dpdGhpbl9lcHNpbG9uKHJ1bm5hYmxlW21heF9ycV0gLSBydW5uYWJsZVttYXhfcnEgLSAx XSwgMSwKKwkJCSAgICAgIHRvbGVyYW5jZSk7Cit9CisKK3N0YXRpYyB2b2lkCitydW5uaW5nKGlu dCBnZW1fZmQsIGNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiAqZSkKK3sKKwlj b25zdCB1bnNpZ25lZCBsb25nIGVuZ2luZSA9IGUycmluZyhnZW1fZmQsIGUpOworCWNvbnN0IHVu c2lnbmVkIGludCBtYXhfcnEgPSAxMDsKKwlpZ3Rfc3Bpbl90ICpzcGluW21heF9ycSArIDFdOwor CWRvdWJsZSBydW5uaW5nW21heF9ycSArIDFdOworCXVuc2lnbmVkIGludCBuLCBpOworCXVpbnQ2 NF90IHZhbFsyXTsKKwl1aW50NjRfdCB0c1syXTsKKwlpbnQgZmQ7CisKKwltZW1zZXQocnVubmlu ZywgMCwgc2l6ZW9mKHJ1bm5pbmcpKTsKKwltZW1zZXQoc3BpbiwgMCwgc2l6ZW9mKHNwaW4pKTsK KworCWZkID0gb3Blbl9wbXUoSTkxNV9QTVVfRU5HSU5FX1JVTk5JTkcoZS0+Y2xhc3MsIGUtPmlu c3RhbmNlKSk7CisKKwlmb3IgKG4gPSAwOyBuIDw9IG1heF9ycTsgbisrKSB7CisJCWdlbV9xdWll c2NlbnRfZ3B1KGdlbV9mZCk7CisKKwkJZm9yIChpID0gMDsgaSA8IG47IGkrKykgeworCQkJaWYg KGkgPT0gMCkKKwkJCQlzcGluW2ldID0gX19zcGluX3BvbGwoZ2VtX2ZkLCAwLCBlbmdpbmUpOwor CQkJZWxzZQorCQkJCXNwaW5baV0gPSBfX2lndF9zcGluX2JhdGNoX25ldyhnZW1fZmQsIDAsCisJ CQkJCQkJICAgICAgIGVuZ2luZSwgMCk7CisJCX0KKworCQlpZiAobikKKwkJCV9fc3Bpbl93YWl0 KGdlbV9mZCwgc3BpblswXSk7CisKKwkJdmFsWzBdID0gX19wbXVfcmVhZF9zaW5nbGUoZmQsICZ0 c1swXSk7CisJCXVzbGVlcChiYXRjaF9kdXJhdGlvbl9ucyAvIDEwMDApOworCQl2YWxbMV0gPSBf X3BtdV9yZWFkX3NpbmdsZShmZCwgJnRzWzFdKTsKKworCQlydW5uaW5nW25dID0gY2FsY19xdWV1 ZWQodmFsWzFdIC0gdmFsWzBdLCB0c1sxXSAtIHRzWzBdKTsKKwkJaWd0X2luZm8oIm49JXUgcnVu bmluZz0lLjJmXG4iLCBuLCBydW5uaW5nW25dKTsKKworCQlmb3IgKGkgPSAwOyBpIDwgbjsgaSsr KSB7CisJCQllbmRfc3BpbihnZW1fZmQsIHNwaW5baV0sIEZMQUdfU1lOQyk7CisJCQlpZ3Rfc3Bp bl9iYXRjaF9mcmVlKGdlbV9mZCwgc3BpbltpXSk7CisJCX0KKwl9CisKKwljbG9zZShmZCk7CisK Kwlmb3IgKGkgPSAwOyBpIDw9IG1heF9ycTsgaSsrKQorCQlhc3NlcnRfd2l0aGluX2Vwc2lsb24o cnVubmluZ1tpXSwgaSwgdG9sZXJhbmNlKTsKK30KKwogLyoqCiAgKiBUZXN0cyB0aGF0IGk5MTUg UE1VIGNvcmVjdGx5IGVycm9ycyBvdXQgaW4gaW52YWxpZCBpbml0aWFsaXphdGlvbi4KICAqIGk5 MTUgUE1VIGlzIHVuY29yZSBQTVUsIHRodXM6CkBAIC0xNzE4LDYgKzE5MDgsMTUgQEAgaWd0X21h aW4KIAkJaWd0X3N1YnRlc3RfZigiaW5pdC1zZW1hLSVzIiwgZS0+bmFtZSkKIAkJCWluaXQoZmQs IGUsIEk5MTVfU0FNUExFX1NFTUEpOwogCisJCWlndF9zdWJ0ZXN0X2YoImluaXQtcXVldWVkLSVz IiwgZS0+bmFtZSkKKwkJCWluaXQoZmQsIGUsIEk5MTVfU0FNUExFX1FVRVVFRCk7CisKKwkJaWd0 X3N1YnRlc3RfZigiaW5pdC1ydW5uYWJsZS0lcyIsIGUtPm5hbWUpCisJCQlpbml0KGZkLCBlLCBJ OTE1X1NBTVBMRV9SVU5OQUJMRSk7CisKKwkJaWd0X3N1YnRlc3RfZigiaW5pdC1ydW5uaW5nLSVz IiwgZS0+bmFtZSkKKwkJCWluaXQoZmQsIGUsIEk5MTVfU0FNUExFX1JVTk5JTkcpOworCiAJCWln dF9zdWJ0ZXN0X2dyb3VwIHsKIAkJCWlndF9maXh0dXJlIHsKIAkJCQlnZW1fcmVxdWlyZV9lbmdp bmUoZmQsIGUtPmNsYXNzLCBlLT5pbnN0YW5jZSk7CkBAIC0xODIzLDYgKzIwMjIsMjQgQEAgaWd0 X21haW4KIAogCQkJaWd0X3N1YnRlc3RfZigiYnVzeS1oYW5nLSVzIiwgZS0+bmFtZSkKIAkJCQlz aW5nbGUoZmQsIGUsIFRFU1RfQlVTWSB8IEZMQUdfSEFORyk7CisKKwkJCS8qKgorCQkJICogVGVz dCB0aGF0IHF1ZXVlZCBtZXRyaWMgd29ya3MuCisJCQkgKi8KKwkJCWlndF9zdWJ0ZXN0X2YoInF1 ZXVlZC0lcyIsIGUtPm5hbWUpCisJCQkJcXVldWVkKGZkLCBlKTsKKworCQkJLyoqCisJCQkgKiBU ZXN0IHRoYXQgcnVubmFibGUgbWV0cmljIHdvcmtzLgorCQkJICovCisJCQlpZ3Rfc3VidGVzdF9m KCJydW5uYWJsZS0lcyIsIGUtPm5hbWUpCisJCQkJcnVubmFibGUoZmQsIGUpOworCisJCQkvKioK KwkJCSAqIFRlc3QgdGhhdCBydW5uaW5nIG1ldHJpYyB3b3Jrcy4KKwkJCSAqLworCQkJaWd0X3N1 YnRlc3RfZigicnVubmluZy0lcyIsIGUtPm5hbWUpCisJCQkJcnVubmluZyhmZCwgZSk7CiAJCX0K IAogCQkvKioKQEAgLTE5MTUsNiArMjEzMiwxMyBAQCBpZ3RfbWFpbgogCQkJCQkgICAgICBlLT5u YW1lKQogCQkJCQlzaW5nbGUoZmQsIGUsCiAJCQkJCSAgICAgICBURVNUX0JVU1kgfCBURVNUX1RS QUlMSU5HX0lETEUpOworCQkJCWlndF9zdWJ0ZXN0X2YoInJlbmRlci1ub2RlLXF1ZXVlZC0lcyIs IGUtPm5hbWUpCisJCQkJCXF1ZXVlZChmZCwgZSk7CisJCQkJaWd0X3N1YnRlc3RfZigicmVuZGVy LW5vZGUtcnVubmFibGUtJXMiLAorCQkJCQkgICAgICBlLT5uYW1lKQorCQkJCQlydW5uYWJsZShm ZCwgZSk7CisJCQkJaWd0X3N1YnRlc3RfZigicmVuZGVyLW5vZGUtcnVubmluZy0lcyIsIGUtPm5h bWUpCisJCQkJCXJ1bm5pbmcoZmQsIGUpOwogCQkJfQogCQl9CiAKLS0gCjIuMTQuMQoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==