From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-x229.google.com (mail-wm0-x229.google.com [IPv6:2a00:1450:400c:c09::229]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9F2876EEEE for ; Thu, 10 May 2018 10:20:00 +0000 (UTC) Received: by mail-wm0-x229.google.com with SMTP id f6-v6so3061951wmc.4 for ; Thu, 10 May 2018 03:20:00 -0700 (PDT) From: Tvrtko Ursulin Date: Thu, 10 May 2018 11:19:22 +0100 Message-Id: <20180510101924.20814-7-tvrtko.ursulin@linux.intel.com> In-Reply-To: <20180510101924.20814-1-tvrtko.ursulin@linux.intel.com> References: <20180510101924.20814-1-tvrtko.ursulin@linux.intel.com> Subject: [igt-dev] [PATCH i-g-t 7/9] trace.pl: Fix incomplete request handling 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: RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkluY29tcGxl dGUgcmVxdWVzdHMgKG5vIG5vdGlmeSwgbm8gY29udGV4dCBjb21wbGV0ZSkgaGF2ZSB0byBiZSBj b3JyZWN0ZWQKYnkgbG9va2luZyBhdCB0aGUgZW5naW5lIHRpbWVsaW5lLCBhbmQgbm90IHRoZSBz b3J0ZWQtYnktc3RhcnQtdGltZSB2aWV3CmFzIHdhcyBwcmV2aW91c2x5IHVzZWQuCgpQZXItZW5n aW5lIHRpbWVsaW5lcyBhcmUgZ2VuZXJhdGVkIG9uIGRlbWFuZCBhbmQgY2FjaGVkIGZvciBsYXRl ciB1c2UuCgp2MjogRmluZCBlbmQgb2YgY3VycmVudCBjb250ZXh0IG9uIHRoZSBlbmdpbmUgdGlt ZWxpbmUgaW5zdGVhZCBvZiBqdXN0CiAgICB1c2luZyB0aGUgbmV4dCByZXF1ZXN0IGZvciBhZGp1 c3RpbmcgdGhlIGluY29tcGxldGUgc3RhcnQgdGltZS4KCnYzOiBJbXByb3ZlIHNjYWxpbmcgd2l0 aCBsYXJnZSBkYXRhc2V0cyBieSBvbmx5IHdhbGtpbmcgZWFjaCBlbmdpbmUKICAgIHRpbWVsaW5l IG9uY2UgYW5kIHNvbWUgY2FjaGluZy4gKEpvaG4gSGFycmlzb24pCgp2NDoKICogRml4IGxvZ2lj IGZhaWwgZnJvbSB2My4KICogUmVmYWN0b3IgdGhlIGNvZGUgYSBiaXQgdG8gc2VwYXJhdGUgdGhl IHN0YWdlcyBiZXR0ZXIuCiAqIERvIG5vdCBhY2NvdW50IGJhdGNoZXMgd2l0aCB1bmtub3duIGR1 cmF0aW9uIGluIGF2ZyBzdGF0cy4KICogSGFuZGxlIHR3byB1c2VyIGludGVycnVwdHMgd2l0aCB0 aGUgc2FtZSBzZXFuby4KICogSGFuZGxlIHVzZXIgaW50ZXJydXB0IGFycml2aW5nIGFmdGVyIHJl cXVlc3Rfb3V0LgoKU2lnbmVkLW9mZi1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGlu QGludGVsLmNvbT4KQ2M6IEpvaG4gSGFycmlzb24gPEpvaG4uQy5IYXJyaXNvbkBpbnRlbC5jb20+ Ci0tLQogc2NyaXB0cy90cmFjZS5wbCB8IDE2MyArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTA4IGluc2VydGlv bnMoKyksIDU1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NjcmlwdHMvdHJhY2UucGwgYi9z Y3JpcHRzL3RyYWNlLnBsCmluZGV4IGExMGRlMTFkZTAxYS4uYzc5NTQwNmFlNzg1IDEwMDc1NQot LS0gYS9zY3JpcHRzL3RyYWNlLnBsCisrKyBiL3NjcmlwdHMvdHJhY2UucGwKQEAgLTQ1MCwxNiAr NDUwLDExIEBAIHdoaWxlICg8PikgewogCQlkaWUgaWYgZXhpc3RzICRkYnska2V5fS0+eydlbmQn fTsKIAogCQkkZGJ7JGtleX0tPnsnZW5kJ30gPSAkdGltZTsKLQkJaWYgKGV4aXN0cyAkbm90aWZ5 eyRna2V5fSkgewotCQkJJGRieyRrZXl9LT57J25vdGlmeSd9ID0gJG5vdGlmeXskZ2tleX07Ci0J CX0gZWxzZSB7Ci0JCQkjIE5vIG5vdGlmeSBzbyBmYXIuIE1heWJlIGl0IHdpbGwgYXJyaXZlIGxh dGVyIHdoaWNoCi0JCQkjIHdpbGwgYmUgaGFuZGxlZCBpbiB0aGUgc2FuaXRhdGlvbiBsb29wIGJl bG93LgotCQkJJGRieyRrZXl9LT57J25vdGlmeSd9ID0gJGRieyRrZXl9LT57J2VuZCd9OwotCQkJ JGRieyRrZXl9LT57J25vLW5vdGlmeSd9ID0gMTsKLQkJfQorCQkkZGJ7JGtleX0tPnsnbm90aWZ5 J30gPSAkbm90aWZ5eyRna2V5fSBpZiBleGlzdHMgJG5vdGlmeXskZ2tleX07CiAJfSBlbHNpZiAo JHRwX25hbWUgZXEgJ2k5MTU6aW50ZWxfZW5naW5lX25vdGlmeTonKSB7Ci0JCSRub3RpZnl7Z2xv YmFsX2tleSgkcmluZywgJHNlcW5vKX0gPSAkdGltZTsKKwkJbXkgJGdrZXkgPSBnbG9iYWxfa2V5 KCRyaW5nLCAkc2Vxbm8pOworCisJCSRub3RpZnl7JGdrZXl9ID0gJHRpbWUgdW5sZXNzIGV4aXN0 cyAkbm90aWZ5eyRna2V5fTsKIAl9IGVsc2lmICgkdHBfbmFtZSBlcSAnaTkxNTppbnRlbF9ncHVf ZnJlcV9jaGFuZ2U6JykgewogCQlwdXNoIEBmcmVxcywgWyRwcmV2X2ZyZXFfdHMsICR0aW1lLCAk cHJldl9mcmVxXSBpZiAkcHJldl9mcmVxOwogCQkkcHJldl9mcmVxX3RzID0gJHRpbWU7CkBAIC00 NzIsNjYgKzQ2NywxMTYgQEAgd2hpbGUgKDw+KSB7CiBteSAkbWF4X3NlcW5vID0gMDsKIGZvcmVh Y2ggbXkgJGtleSAoa2V5cyAlZGIpIHsKIAlteSAkZ2tleSA9IGdsb2JhbF9rZXkoJGRieyRrZXl9 LT57J3JpbmcnfSwgJGRieyRrZXl9LT57J2dsb2JhbCd9KTsKLQlteSAkbm90aWZ5ID0gJG5vdGlm eXskZ2tleX07CiAKIAlkaWUgdW5sZXNzIGV4aXN0cyAkZGJ7JGtleX0tPnsnc3RhcnQnfTsKIAog CSRtYXhfc2Vxbm8gPSAkZGJ7JGtleX0tPnsnc2Vxbm8nfSBpZiAkZGJ7JGtleX0tPnsnc2Vxbm8n fSA+ICRtYXhfc2Vxbm87CiAKLQl1bmxlc3MgKGV4aXN0cyAkZGJ7JGtleX0tPnsnZW5kJ30pIHsK LQkJIyBDb250ZXh0IGNvbXBsZXRlIG5vdCByZWNlaXZlZC4KLQkJJGRieyRrZXl9LT57J25vLWVu ZCd9ID0gMTsKKwkjIE5vdGlmeSBhcnJpdmVkIGFmdGVyIGNvbnRleHQgY29tcGxldGU/CisJJGRi eyRrZXl9LT57J25vdGlmeSd9ID0gJG5vdGlmeXskZ2tleX0gaWYgbm90IGV4aXN0cyAkZGJ7JGtl eX0tPnsnbm90aWZ5J30KKwkJCQkJCSAgYW5kIGV4aXN0cyAkbm90aWZ5eyRna2V5fTsKIAotCQlp ZiAoZGVmaW5lZCgkbm90aWZ5KSkgewotCQkJIyBObyBjb250ZXh0IGNvbXBsZXRlIGR1ZSByZXEg bWVyZ2luZyAtIHVzZSBub3RpZnkuCi0JCQkkZGJ7JGtleX0tPnsnbm90aWZ5J30gPSAkbm90aWZ5 OwotCQkJJGRieyRrZXl9LT57J2VuZCd9ID0gJG5vdGlmeTsKLQkJfSBlbHNlIHsKLQkJCSMgTm8g bm90aWZ5IGFuZCBubyBjb250ZXh0IGNvbXBsZXRlIC0gZ2l2ZSB1cCBmb3Igbm93LgotCQkJJGRi eyRrZXl9LT57J2luY29tcGxldGUnfSA9IDE7Ci0JCX0KLQl9IGVsc2UgewotCQkjIE5vdGlmeSBh cnJpdmVkIGFmdGVyIGNvbnRleHQgY29tcGxldGUuCi0JCWlmIChleGlzdHMgJGRieyRrZXl9LT57 J25vLW5vdGlmeSd9IGFuZCBkZWZpbmVkKCRub3RpZnkpKSB7Ci0JCQlkZWxldGUgJGRieyRrZXl9 LT57J25vLW5vdGlmeSd9OwotCQkJJGRieyRrZXl9LT57J25vdGlmeSd9ID0gJG5vdGlmeTsKLQkJ fQorCSMgTm8gbm90aWZ5IGJ1dCB3ZSBoYXZlIGVuZD8KKwkkZGJ7JGtleX0tPnsnbm90aWZ5J30g PSAkZGJ7JGtleX0tPnsnZW5kJ30gaWYgZXhpc3RzICRkYnska2V5fS0+eydlbmQnfSBhbmQKKwkJ CQkJCSAgICAgIG5vdCBleGlzdHMgJGRieyRrZXl9LT57J25vdGlmeSd9OworCisJIyBJZiB1c2Vy IGludGVycnVwdCBhcnJpdmVkIG91dCBvZiBvcmRlciBwdXNoIGl0IGJhY2sgdG8gYmUgbm8gbGF0 ZXIKKwkjIHRoYW4gcmVxdWVzdCBvdXQuCisJaWYgKGV4aXN0cyAkZGJ7JGtleX0tPnsnZW5kJ30g YW5kIGV4aXN0cyAkZGJ7JGtleX0tPnsnbm90aWZ5J30gYW5kCisJICAgICRkYnska2V5fS0+eydu b3RpZnknfSA+ICRkYnska2V5fS0+eydlbmQnfSkgeworCQkkZGJ7JGtleX0tPnsnbm90aWZ5J30g PSAkZGJ7JGtleX0tPnsnZW5kJ307CiAJfQogfQogCi0jIEZpeCB1cCBpbmNvbXBsZXRlcwogbXkg JGtleV9jb3VudCA9IHNjYWxhcihrZXlzICVkYik7Ci1mb3JlYWNoIG15ICRrZXkgKGtleXMgJWRi KSB7Ci0JbmV4dCB1bmxlc3MgZXhpc3RzICRkYnska2V5fS0+eydpbmNvbXBsZXRlJ307CiAKLQkj IEVuZCB0aGUgaW5jb21wbGV0ZSBiYXRjaCBhdCB0aGUgdGltZSBuZXh0IG9uZSBzdGFydHMKLQlt eSAkcmluZyA9ICRkYnska2V5fS0+eydyaW5nJ307Ci0JbXkgJGN0eCA9ICRkYnska2V5fS0+eydj dHgnfTsKLQlteSAkc2Vxbm8gPSAkZGJ7JGtleX0tPnsnc2Vxbm8nfTsKLQlteSAkbmV4dF9rZXk7 Ci0JbXkgJGkgPSAxOwotCW15ICRlbmQ7Ci0KLQlkbyB7Ci0JCSRuZXh0X2tleSA9IGRiX2tleSgk cmluZywgJGN0eCwgJHNlcW5vICsgJGkpOwotCQkkaSsrOwotCX0gdW50aWwgKChleGlzdHMgJGRi eyRuZXh0X2tleX0gYW5kIG5vdCBleGlzdHMgJGRieyRuZXh0X2tleX0tPnsnaW5jb21wbGV0ZSd9 KQotCQkgb3IgJGkgPiAka2V5X2NvdW50KTsgICMgdWdseSBzdG9wIGhhY2sKK215ICVlbmdpbmVf dGltZWxpbmVzOwogCi0JaWYgKGV4aXN0cyAkZGJ7JG5leHRfa2V5fSkgewotCQkkZW5kID0gJGRi eyRuZXh0X2tleX0tPnsnZW5kJ307Ci0JfSBlbHNlIHsKLQkJIyBObyBpbmZvIGF0IGFsbCwgZmFr ZSBpdDoKLQkJJGVuZCA9ICRkYnska2V5fS0+eydzdGFydCd9ICsgOTk5OwotCX0KK3N1YiBzb3J0 RW5naW5lIHsKKwlteSAkYXMgPSAkZGJ7JGF9LT57J2dsb2JhbCd9OworCW15ICRicyA9ICRkYnsk Yn0tPnsnZ2xvYmFsJ307CisJbXkgJHZhbDsKKworCSR2YWwgPSAkYXMgPD0+ICRiczsKIAotCSRk Ynska2V5fS0+eydub3RpZnknfSA9ICRlbmQ7Ci0JJGRieyRrZXl9LT57J2VuZCd9ID0gJGVuZDsK KwlkaWUgaWYgJHZhbCA9PSAwOworCisJcmV0dXJuICR2YWw7CiB9CiAKLSMgR1BVIHRpbWUgYWNj b3VudGluZwotbXkgKCVydW5uaW5nLCAlcnVubmFibGUsICVxdWV1ZWQsICViYXRjaF9hdmcsICVi YXRjaF90b3RhbF9hdmcsICViYXRjaF9jb3VudCk7Ci1teSAoJXN1Ym1pdF9hdmcsICVleGVjdXRl X2F2ZywgJWN0eHNhdmVfYXZnKTsKK3N1YiBnZXRfZW5naW5lX3RpbWVsaW5lIHsKKwlteSAoJHJp bmcpID0gQF87CisJbXkgQHRpbWVsaW5lOworCisJcmV0dXJuICRlbmdpbmVfdGltZWxpbmVzeyRy aW5nfSBpZiBleGlzdHMgJGVuZ2luZV90aW1lbGluZXN7JHJpbmd9OworCisJQHRpbWVsaW5lID0g Z3JlcCB7ICRkYnskX30tPnsncmluZyd9ID09ICRyaW5nIH0ga2V5cyAlZGI7CisJIyBGSVhNRSBz ZXFubyByZXN0YXJ0CisJQHRpbWVsaW5lID0gc29ydCBzb3J0RW5naW5lIEB0aW1lbGluZTsKKwor CSRlbmdpbmVfdGltZWxpbmVzeyRyaW5nfSA9IFxAdGltZWxpbmU7CisKKwlyZXR1cm4gXEB0aW1l bGluZTsKK30KKworIyBGaXggdXAgY29hbGVzY2VkIHJlcXVlc3RzIGJ5IGVuZGluZyB0aGVtIGVp dGhlciB3aGVuIHRoZSBmb2xsb3dpbmcgc2FtZQorIyBjb250ZXh0IHJlcXVlc3Qgd2l0aCBrbm93 biBlbmQgZW5kcywgb3Igd2hlbiBhIGRpZmZlcmVudCBjb250ZXh0IHN0YXJ0cy4KK2ZvcmVhY2gg bXkgJGdpZCAoc29ydCBrZXlzICVyaW5ncykgeworCW15ICRyaW5nID0gJHJpbmdtYXB7JHJpbmdz eyRnaWR9fTsKKwlteSAkdGltZWxpbmUgPSBnZXRfZW5naW5lX3RpbWVsaW5lKCRyaW5nKTsKKwlt eSAkbGFzdF9jb21wbGV0ZSA9IC0xOworCW15ICRsYXN0X2N0eCA9IC0xOworCW15ICRjb21wbGV0 ZTsKKworCWZvcmVhY2ggbXkgJHBvcyAoMC4uJCN7JHRpbWVsaW5lfSkgeworCQlteSAka2V5ID0g QHskdGltZWxpbmV9WyRwb3NdOworCQlteSAoJGN0eCwgJGVuZCk7CisKKwkJbmV4dCBpZiBleGlz dHMgJGRieyRrZXl9LT57J2VuZCd9OworCisJCSRkYnska2V5fS0+eyduby1lbmQnfSA9IDE7CisJ CSRjdHggPSAkZGJ7JGtleX0tPnsnY3R4J307CisKKwkJaWYgKCRwb3MgPiAkbGFzdF9jb21wbGV0 ZSBvciAkY3R4ICE9ICRsYXN0X2N0eCkgeworCQkJbXkgJG5leHQgPSAkcG9zOworCisJCQl1bmRl ZiAkY29tcGxldGU7CisKKwkJCXdoaWxlICgkbmV4dCA8ICQjeyR0aW1lbGluZX0pIHsKKwkJCQlt eSAkbmV4dF9rZXkgPSAkeyR0aW1lbGluZX1bKyskbmV4dF07CisJCQkJaWYgKCRjdHggPT0gJGRi eyRuZXh0X2tleX0tPnsnY3R4J30gYW5kCisJCQkJICAgIGV4aXN0cyAkZGJ7JG5leHRfa2V5fS0+ eydlbmQnfSkgeworCQkJCQkkbGFzdF9jdHggPSAkZGJ7JG5leHRfa2V5fS0+eydjdHgnfTsKKwkJ CQkJJGxhc3RfY29tcGxldGUgPSAkbmV4dDsKKwkJCQkJJGNvbXBsZXRlID0gJG5leHRfa2V5Owor CQkJCQlsYXN0OworCQkJCX0KKwkJCX0KKwkJfQorCisJCWlmIChkZWZpbmVkICRjb21wbGV0ZSkg eworCQkJaWYgKCRjdHggPT0gJGRieyRjb21wbGV0ZX0tPnsnY3R4J30pIHsKKwkJCQkkZW5kID0g JGRieyRjb21wbGV0ZX0tPnsnZW5kJ307CisJCQl9IGVsc2UgeworCQkJCSRlbmQgPSAkZGJ7JGNv bXBsZXRlfS0+eydzdGFydCd9OworCQkJfQorCQl9IGVsc2UgeworCQkJIyBObyBuZXh0IHN1Ym1p c3Npb24uIFVzZSBub3RpZnkgaWYgYXZhaWxhYmxlIG9yIGdpdmUgdXAuCisJCQlpZiAoZXhpc3Rz ICRkYnska2V5fS0+eydub3RpZnknfSkgeworCQkJCSRlbmQgPSAkZGJ7JGtleX0tPnsnbm90aWZ5 J307CisJCQl9IGVsc2UgeworCQkJCSRlbmQgPSAkZGJ7JGtleX0tPnsnc3RhcnQnfTsKKwkJCQkk ZGJ7JGtleX0tPnsnaW5jb21wbGV0ZSd9ID0gMTsKKwkJCX0KKwkJfQorCisJCXVubGVzcyAoZXhp c3RzICRkYnska2V5fS0+eydub3RpZnknfSkgeworCQkJJGRieyRrZXl9LT57J25vdGlmeSd9ID0g JGVuZDsKKwkJCSRkYnska2V5fS0+eyduby1ub3RpZnknfSA9IDE7CisJCX0KKwkJJGRieyRrZXl9 LT57J2VuZCd9ID0gJGVuZDsKKwl9Cit9CiAKIHN1YiBzb3J0U3RhcnQgewogCW15ICRhcyA9ICRk YnskYX0tPnsnc3RhcnQnfTsKQEAgLTU4MCw2ICs2MjUsMTAgQEAgZm9yZWFjaCBteSAka2V5IChA c29ydGVkX2tleXMpIHsKIAogQHNvcnRlZF9rZXlzID0gc29ydCBzb3J0U3RhcnQga2V5cyAlZGIg aWYgJHJlX3NvcnQ7CiAKKyMgR1BVIHRpbWUgYWNjb3VudGluZworbXkgKCVydW5uaW5nLCAlcnVu bmFibGUsICVxdWV1ZWQsICViYXRjaF9hdmcsICViYXRjaF90b3RhbF9hdmcsICViYXRjaF9jb3Vu dCk7CitteSAoJXN1Ym1pdF9hdmcsICVleGVjdXRlX2F2ZywgJWN0eHNhdmVfYXZnKTsKKwogbXkg JGxhc3RfdHMgPSAwOwogbXkgJGZpcnN0X3RzOwogbXkgKCRtaW5fY3R4LCAkbWF4X2N0eCk7CkBA IC02MDQsNyArNjUzLDExIEBAIGZvcmVhY2ggbXkgJGtleSAoQHNvcnRlZF9rZXlzKSB7CiAJfQog CSRkYnska2V5fS0+eydleGVjdXRlLWRlbGF5J30gPSAkc3RhcnQgLSAkZGJ7JGtleX0tPnsnc3Vi bWl0J307CiAJJGRieyRrZXl9LT57J3N1Ym1pdC1kZWxheSd9ID0gJGRieyRrZXl9LT57J3N1Ym1p dCd9IC0gJGRieyRrZXl9LT57J3F1ZXVlJ307Ci0JJGRieyRrZXl9LT57J2R1cmF0aW9uJ30gPSAk bm90aWZ5IC0gJHN0YXJ0OworCXVubGVzcyAoZXhpc3RzICRkYnska2V5fS0+eyduby1ub3RpZnkn fSkgeworCQkkZGJ7JGtleX0tPnsnZHVyYXRpb24nfSA9ICRub3RpZnkgLSAkc3RhcnQ7CisJfSBl bHNlIHsKKwkJJGRieyRrZXl9LT57J2R1cmF0aW9uJ30gPSAwOworCX0KIAogCSRydW5uaW5neyRy aW5nfSArPSAkZW5kIC0gJHN0YXJ0IGlmICRjb3JyZWN0X2R1cmF0aW9ucyBvcgogCQkJCQkgICAg bm90IGV4aXN0cyAkZGJ7JGtleX0tPnsnbm8tZW5kJ307Ci0tIAoyLjE0LjEKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0 CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldgo=