From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH i-g-t v3] tests/perf_pmu: Avoid RT thread for accuracy test Date: Tue, 3 Apr 2018 17:39:43 +0100 Message-ID: <20180403163943.8425-1-tvrtko.ursulin@linux.intel.com> References: <20180403123825.7341-1-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x242.google.com (mail-wm0-x242.google.com [IPv6:2a00:1450:400c:c09::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5BED36E2DC for ; Tue, 3 Apr 2018 16:39:54 +0000 (UTC) Received: by mail-wm0-x242.google.com with SMTP id g8so11083230wmd.2 for ; Tue, 03 Apr 2018 09:39:54 -0700 (PDT) In-Reply-To: <20180403123825.7341-1-tvrtko.ursulin@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , 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: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClJlYWx0aW1l IHNjaGVkdWxpbmcgaW50ZXJmZXJlcyB3aXRoIGV4ZWNsaXN0cyBzdWJtaXNzaW9uICh0YXNrbGV0 KSBzbyB0cnkKdG8gc2ltcGxpZnkgdGhlIFBXTSBsb29wIGluIGEgZmV3IHdheXM6CgogKiBEcm9w IFJULgogKiBMb25nZXIgYmF0Y2hlcyBmb3Igc21hbGxlciBzeXN0ZW1hdGljIGVycm9yLgogKiBN b3JlIHRydXRoZnVsIHRlc3QgZHVyYXRpb24gY2FsY3VsYXRpb24uCiAqIExlc3MgY2xvY2sgcXVl cmllcy4KICogTm8gc2VsZi1hZGp1c3QgLSBpbnN0ZWFkIGp1c3QgcmVwb3J0IHRoZSBhY2hpZXZl ZCBjeWNsZSBhbmQgbGV0IHRoZQogICBwYXJlbnQgY2hlY2sgYWdhaW5zdCBpdC4KICogUmVwb3J0 IGFic29sdXRlIGN5Y2xlIGVycm9yLgoKdjI6CiAqIEJyaW5nIGJhY2sgc2VsZi1hZGp1c3QuIChD aHJpcyBXaWxzb24pCiAgIChCdXQgc2xpZ2h0bHkgZml4ZWQgdmVyc2lvbiB3aXRoIG5vIG92ZXJm bG93LikKCnYzOgogKiBMb2cgYXZlcmFnZSBhbmQgbWVhbiBjYWxpYnJhdGlvbiBmb3IgZWFjaCBw YXNzLgoKU2lnbmVkLW9mZi1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVs LmNvbT4KLS0tCiB0ZXN0cy9wZXJmX3BtdS5jIHwgMTA4ICsrKysrKysrKysrKysrKysrKysrKysr KysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA1MyBpbnNl cnRpb25zKCspLCA1NSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90ZXN0cy9wZXJmX3BtdS5j IGIvdGVzdHMvcGVyZl9wbXUuYwppbmRleCAyMjczZGRiOWU2ODQuLjY5NzAwOGM4NTVmZCAxMDA2 NDQKLS0tIGEvdGVzdHMvcGVyZl9wbXUuYworKysgYi90ZXN0cy9wZXJmX3BtdS5jCkBAIC0xNDk3 LDEyICsxNDk3LDYgQEAgdGVzdF9lbmFibGVfcmFjZShpbnQgZ2VtX2ZkLCBjb25zdCBzdHJ1Y3Qg aW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIgKmUpCiAJZ2VtX3F1aWVzY2VudF9ncHUoZ2VtX2ZkKTsK IH0KIAotc3RhdGljIGRvdWJsZSBfX2Vycm9yKGRvdWJsZSB2YWwsIGRvdWJsZSByZWYpCi17Ci0J aWd0X2Fzc2VydChyZWYgPiAxZS01IC8qIHNtYWxsdmFsICovKTsKLQlyZXR1cm4gKDEwMC4wICog dmFsIC8gcmVmKSAtIDEwMC4wOwotfQotCiBzdGF0aWMgdm9pZCBfX3JlYXJtX3NwaW5fYmF0Y2go aWd0X3NwaW5fdCAqc3BpbikKIHsKIAljb25zdCB1aW50MzJfdCBtaV9hcmJfY2hrID0gMHg1IDw8 IDIzOwpAQCAtMTUyNSwxMyArMTUxOSwxMiBAQCBzdGF0aWMgdm9pZAogYWNjdXJhY3koaW50IGdl bV9mZCwgY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyICplLAogCSB1bnNpZ25l ZCBsb25nIHRhcmdldF9idXN5X3BjdCkKIHsKLQljb25zdCB1bnNpZ25lZCBpbnQgbWluX3Rlc3Rf bG9vcHMgPSA3OwotCWNvbnN0IHVuc2lnbmVkIGxvbmcgbWluX3Rlc3RfdXMgPSAxZTY7Ci0JdW5z aWduZWQgbG9uZyBidXN5X3VzID0gMjUwMDsKKwl1bnNpZ25lZCBsb25nIGJ1c3lfdXMgPSAxMDAw MCAtIDEwMCAqICgxICsgYWJzKDUwIC0gdGFyZ2V0X2J1c3lfcGN0KSk7CiAJdW5zaWduZWQgbG9u ZyBpZGxlX3VzID0gMTAwICogKGJ1c3lfdXMgLSB0YXJnZXRfYnVzeV9wY3QgKgogCQkJCWJ1c3lf dXMgLyAxMDApIC8gdGFyZ2V0X2J1c3lfcGN0OwotCXVuc2lnbmVkIGxvbmcgcHdtX2NhbGlicmF0 aW9uX3VzOwotCXVuc2lnbmVkIGxvbmcgdGVzdF91czsKKwljb25zdCB1bnNpZ25lZCBsb25nIG1p bl90ZXN0X3VzID0gMWU2OworCWNvbnN0IHVuc2lnbmVkIGxvbmcgcHdtX2NhbGlicmF0aW9uX3Vz ID0gbWluX3Rlc3RfdXM7CisJY29uc3QgdW5zaWduZWQgbG9uZyB0ZXN0X3VzID0gbWluX3Rlc3Rf dXM7CiAJZG91YmxlIGJ1c3lfciwgZXhwZWN0ZWQ7CiAJdWludDY0X3QgdmFsWzJdOwogCXVpbnQ2 NF90IHRzWzJdOwpAQCAtMTU0NiwxMyArMTUzOSw2IEBAIGFjY3VyYWN5KGludCBnZW1fZmQsIGNv bnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiAqZSwKIAkJaWRsZV91cyAqPSAyOwog CX0KIAotCXB3bV9jYWxpYnJhdGlvbl91cyA9IG1pbl90ZXN0X2xvb3BzICogKGJ1c3lfdXMgKyBp ZGxlX3VzKTsKLQl3aGlsZSAocHdtX2NhbGlicmF0aW9uX3VzIDwgbWluX3Rlc3RfdXMpCi0JCXB3 bV9jYWxpYnJhdGlvbl91cyArPSBidXN5X3VzICsgaWRsZV91czsKLQl0ZXN0X3VzID0gbWluX3Rl c3RfbG9vcHMgKiAoaWRsZV91cyArIGJ1c3lfdXMpOwotCXdoaWxlICh0ZXN0X3VzIDwgbWluX3Rl c3RfdXMpCi0JCXRlc3RfdXMgKz0gYnVzeV91cyArIGlkbGVfdXM7Ci0KIAlpZ3RfaW5mbygiY2Fs aWJyYXRpb249JWx1bXMsIHRlc3Q9JWx1bXM7IHJhdGlvPSUuMmYlJSAoJWx1dXMvJWx1dXMpXG4i LAogCQkgcHdtX2NhbGlicmF0aW9uX3VzIC8gMTAwMCwgdGVzdF91cyAvIDEwMDAsCiAJCSAoZG91 YmxlKWJ1c3lfdXMgLyAoYnVzeV91cyArIGlkbGVfdXMpICogMTAwLjAsCkBAIC0xNTY1LDIwICsx NTUxLDExIEBAIGFjY3VyYWN5KGludCBnZW1fZmQsIGNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRp b25fZW5naW5lMiAqZSwKIAogCS8qIEVtaXQgUFdNIHBhdHRlcm4gb24gdGhlIGVuZ2luZSBmcm9t IGEgY2hpbGQuICovCiAJaWd0X2ZvcmsoY2hpbGQsIDEpIHsKLQkJc3RydWN0IHNjaGVkX3BhcmFt IHJ0ID0geyAuc2NoZWRfcHJpb3JpdHkgPSA5OSB9OwogCQljb25zdCB1bnNpZ25lZCBsb25nIHRp bWVvdXRbXSA9IHsKIAkJCXB3bV9jYWxpYnJhdGlvbl91cyAqIDEwMDAsIHRlc3RfdXMgKiAxMDAw CiAJCX07Ci0JCXVpbnQ2NF90IHRvdGFsX2J1c3lfbnMgPSAwLCB0b3RhbF9pZGxlX25zID0gMDsK KwkJdWludDY0X3QgdG90YWxfYnVzeV9ucyA9IDAsIHRvdGFsX25zID0gMDsKIAkJaWd0X3NwaW5f dCAqc3BpbjsKLQkJaW50IHJldDsKLQotCQkvKiBXZSBuZWVkIHRoZSBiZXN0IHNsZWVwIGFjY3Vy YWN5IHdlIGNhbiBnZXQuICovCi0JCXJldCA9IHNjaGVkX3NldHNjaGVkdWxlcigwLAotCQkJCQkg U0NIRURfRklGTyB8IFNDSEVEX1JFU0VUX09OX0ZPUkssCi0JCQkJCSAmcnQpOwotCQlpZiAocmV0 KQotCQkJaWd0X3dhcm4oIkZhaWxlZCB0byBzZXQgc2NoZWR1bGluZyBwb2xpY3khXG4iKTsKIAog CQkvKiBBbGxvY2F0ZSBvdXIgc3BpbiBiYXRjaCBhbmQgaWRsZSBpdC4gKi8KIAkJc3BpbiA9IGln dF9zcGluX2JhdGNoX25ldyhnZW1fZmQsIDAsIGUycmluZyhnZW1fZmQsIGUpLCAwKTsKQEAgLTE1 ODcsNDIgKzE1NjQsNjMgQEAgYWNjdXJhY3koaW50IGdlbV9mZCwgY29uc3Qgc3RydWN0IGludGVs X2V4ZWN1dGlvbl9lbmdpbmUyICplLAogCiAJCS8qIDFzdCBwYXNzIGlzIGNhbGlicmF0aW9uLCBz ZWNvbmQgcGFzcyBpcyB0aGUgdGVzdC4gKi8KIAkJZm9yIChpbnQgcGFzcyA9IDA7IHBhc3MgPCBB UlJBWV9TSVpFKHRpbWVvdXQpOyBwYXNzKyspIHsKLQkJCXVpbnQ2NF90IGJ1c3lfbnMgPSAtdG90 YWxfYnVzeV9uczsKLQkJCXVpbnQ2NF90IGlkbGVfbnMgPSAtdG90YWxfaWRsZV9uczsKLQkJCXN0 cnVjdCB0aW1lc3BlYyB0ZXN0X3N0YXJ0ID0geyB9OworCQkJdW5zaWduZWQgaW50IHRhcmdldF9p ZGxlX3VzID0gaWRsZV91czsKKwkJCXVpbnQ2NF90IGJ1c3lfbnMgPSAwLCBpZGxlX25zID0gMDsK KwkJCXN0cnVjdCB0aW1lc3BlYyBzdGFydCA9IHsgfTsKKwkJCXVuc2lnbmVkIGxvbmcgcGFzc19u cyA9IDA7CisJCQlkb3VibGUgYXZnID0gMC4wLCB2YXIgPSAwLjA7CisJCQl1bnNpZ25lZCBpbnQg biA9IDA7CisKKwkJCWlndF9uc2VjX2VsYXBzZWQoJnN0YXJ0KTsKIAotCQkJaWd0X25zZWNfZWxh cHNlZCgmdGVzdF9zdGFydCk7CiAJCQlkbyB7Ci0JCQkJdW5zaWduZWQgaW50IHRhcmdldF9pZGxl X3VzLCB0X2J1c3k7CisJCQkJdW5zaWduZWQgbG9uZyBsb29wX25zLCBsb29wX2J1c3k7CisJCQkJ c3RydWN0IHRpbWVzcGVjIF90cyA9IHsgfTsKKwkJCQlkb3VibGUgZXJyLCB0bXA7CisKKwkJCQkv KiBQV00gaWRsZSBzbGVlcC4gKi8KKwkJCQlfdHMudHZfbnNlYyA9IHRhcmdldF9pZGxlX3VzICog MTAwMDsKKwkJCQluYW5vc2xlZXAoJl90cywgTlVMTCk7CiAKIAkJCQkvKiBSZXN0YXJ0IHRoZSBz cGluYmF0Y2guICovCiAJCQkJX19yZWFybV9zcGluX2JhdGNoKHNwaW4pOwogCQkJCV9fc3VibWl0 X3NwaW5fYmF0Y2goZ2VtX2ZkLCBzcGluLCBlLCAwKTsKIAotCQkJCS8qCi0JCQkJICogTm90ZSB0 aGF0IHRoZSBzdWJtaXNzaW9uIG1heSBiZSBkZWxheWVkIHRvIGEKLQkJCQkgKiB0YXNrbGV0IChr c29mdGlycWQpIHdoaWNoIGNhbm5vdCBydW4gdW50aWwgd2UKLQkJCQkgKiBzbGVlcCBhcyB3ZSBo b2cgdGhlIGNwdSAod2UgYXJlIFJUKS4KLQkJCQkgKi8KLQotCQkJCXRfYnVzeSA9IG1lYXN1cmVk X3VzbGVlcChidXN5X3VzKTsKKwkJCQkvKiBQV00gYnVzeSBzbGVlcC4gKi8KKwkJCQlsb29wX2J1 c3kgPSBpZ3RfbnNlY19lbGFwc2VkKCZzdGFydCk7CisJCQkJX3RzLnR2X25zZWMgPSBidXN5X3Vz ICogMTAwMDsKKwkJCQluYW5vc2xlZXAoJl90cywgTlVMTCk7CiAJCQkJaWd0X3NwaW5fYmF0Y2hf ZW5kKHNwaW4pOwotCQkJCWdlbV9zeW5jKGdlbV9mZCwgc3Bpbi0+aGFuZGxlKTsKLQotCQkJCXRv dGFsX2J1c3lfbnMgKz0gdF9idXN5OwotCi0JCQkJdGFyZ2V0X2lkbGVfdXMgPQotCQkJCQkoMTAw ICogdG90YWxfYnVzeV9ucyAvIHRhcmdldF9idXN5X3BjdCAtICh0b3RhbF9idXN5X25zICsgdG90 YWxfaWRsZV9ucykpIC8gMTAwMDsKLQkJCQl0b3RhbF9pZGxlX25zICs9IG1lYXN1cmVkX3VzbGVl cCh0YXJnZXRfaWRsZV91cyk7Ci0JCQl9IHdoaWxlIChpZ3RfbnNlY19lbGFwc2VkKCZ0ZXN0X3N0 YXJ0KSA8IHRpbWVvdXRbcGFzc10pOwotCi0JCQlidXN5X25zICs9IHRvdGFsX2J1c3lfbnM7Ci0J CQlpZGxlX25zICs9IHRvdGFsX2lkbGVfbnM7CiAKLQkJCWV4cGVjdGVkID0gKGRvdWJsZSlidXN5 X25zIC8gKGJ1c3lfbnMgKyBpZGxlX25zKTsKLQkJCWlndF9pbmZvKCIldTogYnVzeSAlIlBSSXU2 NCJ1cywgaWRsZSAlIlBSSXU2NCJ1czogJS4yZiUlICh0YXJnZXQ6ICVsdSUlKVxuIiwKKwkJCQkv KiBUaW1lIGFjY291bnRpbmcuICovCisJCQkJbG9vcF9ucyA9IGlndF9uc2VjX2VsYXBzZWQoJnN0 YXJ0KTsKKwkJCQlsb29wX2J1c3kgPSBsb29wX25zIC0gbG9vcF9idXN5OworCQkJCWxvb3BfbnMg LT0gcGFzc19uczsKKworCQkJCWJ1c3lfbnMgKz0gbG9vcF9idXN5OworCQkJCXRvdGFsX2J1c3lf bnMgKz0gbG9vcF9idXN5OworCQkJCWlkbGVfbnMgKz0gbG9vcF9ucyAtIGxvb3BfYnVzeTsKKwkJ CQlwYXNzX25zICs9IGxvb3BfbnM7CisJCQkJdG90YWxfbnMgKz0gbG9vcF9uczsKKworCQkJCS8q IFJlLWNhbGlicmF0ZS4gKi8KKwkJCQllcnIgPSAoZG91YmxlKXRvdGFsX2J1c3lfbnMgLyB0b3Rh bF9ucyAtCisJCQkJICAgICAgKGRvdWJsZSl0YXJnZXRfYnVzeV9wY3QgLyAxMDAuMDsKKwkJCQl0 YXJnZXRfaWRsZV91cyA9IChkb3VibGUpdGFyZ2V0X2lkbGVfdXMgKgorCQkJCQkJICgxLjAgKyBl cnIpOworCisJCQkJLyogUnVubmluZyBhdmVyYWdlIGFuZCB2YXJpYW5jZSBmb3IgZGVidWcuICov CisJCQkJZXJyID0gMTAwLjAgKiB0b3RhbF9idXN5X25zIC8gdG90YWxfbnM7CisJCQkJdG1wID0g YXZnOworCQkJCWF2ZyArPSAoZXJyIC0gYXZnKSAvICsrbjsKKwkJCQl2YXIgKz0gKGVyciAtIGF2 ZykgKiAoZXJyIC0gdG1wKTsKKy8vIHByaW50ZigiJWYgKiAlZiA9ICVmXG4iLCBlcnIgLSBhdmcs IGVyciAtIHRtcCwgKGVyciAtIGF2ZykgKiAoZXJyIC0gdG1wKSk7CisJCQl9IHdoaWxlIChwYXNz X25zIDwgdGltZW91dFtwYXNzXSk7CisKKwkJCWV4cGVjdGVkID0gKGRvdWJsZSlidXN5X25zIC8g cGFzc19uczsKKwkJCWlndF9pbmZvKCIldTogYnVzeSAlIlBSSXU2NCJ1cywgaWRsZSAlIlBSSXU2 NCJ1cyAtPiAlLjJmJSUgKHRhcmdldDogJWx1JSU7IGF2ZXJhZ2U9JS4yZiwgdmFyaWFuY2U9JWYp XG4iLAogCQkJCSBwYXNzLCBidXN5X25zIC8gMTAwMCwgaWRsZV9ucyAvIDEwMDAsCi0JCQkJIDEw MCAqIGV4cGVjdGVkLCB0YXJnZXRfYnVzeV9wY3QpOworCQkJCSAxMDAgKiBleHBlY3RlZCwgdGFy Z2V0X2J1c3lfcGN0LCBhdmcsIHZhcik7CiAJCQl3cml0ZShsaW5rWzFdLCAmZXhwZWN0ZWQsIHNp emVvZihleHBlY3RlZCkpOwogCQl9CiAKQEAgLTE2NDksNyArMTY0Nyw3IEBAIGFjY3VyYWN5KGlu dCBnZW1fZmQsIGNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiAqZSwKIAlidXN5 X3IgPSAoZG91YmxlKSh2YWxbMV0gLSB2YWxbMF0pIC8gKHRzWzFdIC0gdHNbMF0pOwogCiAJaWd0 X2luZm8oImVycm9yPSUuMmYlJSAoJS4yZiUlIHZzICUuMmYlJSlcbiIsCi0JCSBfX2Vycm9yKGJ1 c3lfciwgZXhwZWN0ZWQpLCAxMDAgKiBidXN5X3IsIDEwMCAqIGV4cGVjdGVkKTsKKwkJIChidXN5 X3IgLSBleHBlY3RlZCkgKiAxMDAsIDEwMCAqIGJ1c3lfciwgMTAwICogZXhwZWN0ZWQpOwogCiAJ YXNzZXJ0X3dpdGhpbigxMDAuMCAqIGJ1c3lfciwgMTAwLjAgKiBleHBlY3RlZCwgMik7CiB9Ci0t IAoyLjE0LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-x243.google.com (mail-wm0-x243.google.com [IPv6:2a00:1450:400c:c09::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7F29E6E4D7 for ; Tue, 3 Apr 2018 16:39:54 +0000 (UTC) Received: by mail-wm0-x243.google.com with SMTP id g8so11083257wmd.2 for ; Tue, 03 Apr 2018 09:39:54 -0700 (PDT) From: Tvrtko Ursulin Date: Tue, 3 Apr 2018 17:39:43 +0100 Message-Id: <20180403163943.8425-1-tvrtko.ursulin@linux.intel.com> In-Reply-To: <20180403123825.7341-1-tvrtko.ursulin@linux.intel.com> References: <20180403123825.7341-1-tvrtko.ursulin@linux.intel.com> Subject: [igt-dev] [PATCH i-g-t v3] tests/perf_pmu: Avoid RT thread for accuracy test 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: RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClJlYWx0aW1l IHNjaGVkdWxpbmcgaW50ZXJmZXJlcyB3aXRoIGV4ZWNsaXN0cyBzdWJtaXNzaW9uICh0YXNrbGV0 KSBzbyB0cnkKdG8gc2ltcGxpZnkgdGhlIFBXTSBsb29wIGluIGEgZmV3IHdheXM6CgogKiBEcm9w IFJULgogKiBMb25nZXIgYmF0Y2hlcyBmb3Igc21hbGxlciBzeXN0ZW1hdGljIGVycm9yLgogKiBN b3JlIHRydXRoZnVsIHRlc3QgZHVyYXRpb24gY2FsY3VsYXRpb24uCiAqIExlc3MgY2xvY2sgcXVl cmllcy4KICogTm8gc2VsZi1hZGp1c3QgLSBpbnN0ZWFkIGp1c3QgcmVwb3J0IHRoZSBhY2hpZXZl ZCBjeWNsZSBhbmQgbGV0IHRoZQogICBwYXJlbnQgY2hlY2sgYWdhaW5zdCBpdC4KICogUmVwb3J0 IGFic29sdXRlIGN5Y2xlIGVycm9yLgoKdjI6CiAqIEJyaW5nIGJhY2sgc2VsZi1hZGp1c3QuIChD aHJpcyBXaWxzb24pCiAgIChCdXQgc2xpZ2h0bHkgZml4ZWQgdmVyc2lvbiB3aXRoIG5vIG92ZXJm bG93LikKCnYzOgogKiBMb2cgYXZlcmFnZSBhbmQgbWVhbiBjYWxpYnJhdGlvbiBmb3IgZWFjaCBw YXNzLgoKU2lnbmVkLW9mZi1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVs LmNvbT4KLS0tCiB0ZXN0cy9wZXJmX3BtdS5jIHwgMTA4ICsrKysrKysrKysrKysrKysrKysrKysr KysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA1MyBpbnNl cnRpb25zKCspLCA1NSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90ZXN0cy9wZXJmX3BtdS5j IGIvdGVzdHMvcGVyZl9wbXUuYwppbmRleCAyMjczZGRiOWU2ODQuLjY5NzAwOGM4NTVmZCAxMDA2 NDQKLS0tIGEvdGVzdHMvcGVyZl9wbXUuYworKysgYi90ZXN0cy9wZXJmX3BtdS5jCkBAIC0xNDk3 LDEyICsxNDk3LDYgQEAgdGVzdF9lbmFibGVfcmFjZShpbnQgZ2VtX2ZkLCBjb25zdCBzdHJ1Y3Qg aW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIgKmUpCiAJZ2VtX3F1aWVzY2VudF9ncHUoZ2VtX2ZkKTsK IH0KIAotc3RhdGljIGRvdWJsZSBfX2Vycm9yKGRvdWJsZSB2YWwsIGRvdWJsZSByZWYpCi17Ci0J aWd0X2Fzc2VydChyZWYgPiAxZS01IC8qIHNtYWxsdmFsICovKTsKLQlyZXR1cm4gKDEwMC4wICog dmFsIC8gcmVmKSAtIDEwMC4wOwotfQotCiBzdGF0aWMgdm9pZCBfX3JlYXJtX3NwaW5fYmF0Y2go aWd0X3NwaW5fdCAqc3BpbikKIHsKIAljb25zdCB1aW50MzJfdCBtaV9hcmJfY2hrID0gMHg1IDw8 IDIzOwpAQCAtMTUyNSwxMyArMTUxOSwxMiBAQCBzdGF0aWMgdm9pZAogYWNjdXJhY3koaW50IGdl bV9mZCwgY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyICplLAogCSB1bnNpZ25l ZCBsb25nIHRhcmdldF9idXN5X3BjdCkKIHsKLQljb25zdCB1bnNpZ25lZCBpbnQgbWluX3Rlc3Rf bG9vcHMgPSA3OwotCWNvbnN0IHVuc2lnbmVkIGxvbmcgbWluX3Rlc3RfdXMgPSAxZTY7Ci0JdW5z aWduZWQgbG9uZyBidXN5X3VzID0gMjUwMDsKKwl1bnNpZ25lZCBsb25nIGJ1c3lfdXMgPSAxMDAw MCAtIDEwMCAqICgxICsgYWJzKDUwIC0gdGFyZ2V0X2J1c3lfcGN0KSk7CiAJdW5zaWduZWQgbG9u ZyBpZGxlX3VzID0gMTAwICogKGJ1c3lfdXMgLSB0YXJnZXRfYnVzeV9wY3QgKgogCQkJCWJ1c3lf dXMgLyAxMDApIC8gdGFyZ2V0X2J1c3lfcGN0OwotCXVuc2lnbmVkIGxvbmcgcHdtX2NhbGlicmF0 aW9uX3VzOwotCXVuc2lnbmVkIGxvbmcgdGVzdF91czsKKwljb25zdCB1bnNpZ25lZCBsb25nIG1p bl90ZXN0X3VzID0gMWU2OworCWNvbnN0IHVuc2lnbmVkIGxvbmcgcHdtX2NhbGlicmF0aW9uX3Vz ID0gbWluX3Rlc3RfdXM7CisJY29uc3QgdW5zaWduZWQgbG9uZyB0ZXN0X3VzID0gbWluX3Rlc3Rf dXM7CiAJZG91YmxlIGJ1c3lfciwgZXhwZWN0ZWQ7CiAJdWludDY0X3QgdmFsWzJdOwogCXVpbnQ2 NF90IHRzWzJdOwpAQCAtMTU0NiwxMyArMTUzOSw2IEBAIGFjY3VyYWN5KGludCBnZW1fZmQsIGNv bnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiAqZSwKIAkJaWRsZV91cyAqPSAyOwog CX0KIAotCXB3bV9jYWxpYnJhdGlvbl91cyA9IG1pbl90ZXN0X2xvb3BzICogKGJ1c3lfdXMgKyBp ZGxlX3VzKTsKLQl3aGlsZSAocHdtX2NhbGlicmF0aW9uX3VzIDwgbWluX3Rlc3RfdXMpCi0JCXB3 bV9jYWxpYnJhdGlvbl91cyArPSBidXN5X3VzICsgaWRsZV91czsKLQl0ZXN0X3VzID0gbWluX3Rl c3RfbG9vcHMgKiAoaWRsZV91cyArIGJ1c3lfdXMpOwotCXdoaWxlICh0ZXN0X3VzIDwgbWluX3Rl c3RfdXMpCi0JCXRlc3RfdXMgKz0gYnVzeV91cyArIGlkbGVfdXM7Ci0KIAlpZ3RfaW5mbygiY2Fs aWJyYXRpb249JWx1bXMsIHRlc3Q9JWx1bXM7IHJhdGlvPSUuMmYlJSAoJWx1dXMvJWx1dXMpXG4i LAogCQkgcHdtX2NhbGlicmF0aW9uX3VzIC8gMTAwMCwgdGVzdF91cyAvIDEwMDAsCiAJCSAoZG91 YmxlKWJ1c3lfdXMgLyAoYnVzeV91cyArIGlkbGVfdXMpICogMTAwLjAsCkBAIC0xNTY1LDIwICsx NTUxLDExIEBAIGFjY3VyYWN5KGludCBnZW1fZmQsIGNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRp b25fZW5naW5lMiAqZSwKIAogCS8qIEVtaXQgUFdNIHBhdHRlcm4gb24gdGhlIGVuZ2luZSBmcm9t IGEgY2hpbGQuICovCiAJaWd0X2ZvcmsoY2hpbGQsIDEpIHsKLQkJc3RydWN0IHNjaGVkX3BhcmFt IHJ0ID0geyAuc2NoZWRfcHJpb3JpdHkgPSA5OSB9OwogCQljb25zdCB1bnNpZ25lZCBsb25nIHRp bWVvdXRbXSA9IHsKIAkJCXB3bV9jYWxpYnJhdGlvbl91cyAqIDEwMDAsIHRlc3RfdXMgKiAxMDAw CiAJCX07Ci0JCXVpbnQ2NF90IHRvdGFsX2J1c3lfbnMgPSAwLCB0b3RhbF9pZGxlX25zID0gMDsK KwkJdWludDY0X3QgdG90YWxfYnVzeV9ucyA9IDAsIHRvdGFsX25zID0gMDsKIAkJaWd0X3NwaW5f dCAqc3BpbjsKLQkJaW50IHJldDsKLQotCQkvKiBXZSBuZWVkIHRoZSBiZXN0IHNsZWVwIGFjY3Vy YWN5IHdlIGNhbiBnZXQuICovCi0JCXJldCA9IHNjaGVkX3NldHNjaGVkdWxlcigwLAotCQkJCQkg U0NIRURfRklGTyB8IFNDSEVEX1JFU0VUX09OX0ZPUkssCi0JCQkJCSAmcnQpOwotCQlpZiAocmV0 KQotCQkJaWd0X3dhcm4oIkZhaWxlZCB0byBzZXQgc2NoZWR1bGluZyBwb2xpY3khXG4iKTsKIAog CQkvKiBBbGxvY2F0ZSBvdXIgc3BpbiBiYXRjaCBhbmQgaWRsZSBpdC4gKi8KIAkJc3BpbiA9IGln dF9zcGluX2JhdGNoX25ldyhnZW1fZmQsIDAsIGUycmluZyhnZW1fZmQsIGUpLCAwKTsKQEAgLTE1 ODcsNDIgKzE1NjQsNjMgQEAgYWNjdXJhY3koaW50IGdlbV9mZCwgY29uc3Qgc3RydWN0IGludGVs X2V4ZWN1dGlvbl9lbmdpbmUyICplLAogCiAJCS8qIDFzdCBwYXNzIGlzIGNhbGlicmF0aW9uLCBz ZWNvbmQgcGFzcyBpcyB0aGUgdGVzdC4gKi8KIAkJZm9yIChpbnQgcGFzcyA9IDA7IHBhc3MgPCBB UlJBWV9TSVpFKHRpbWVvdXQpOyBwYXNzKyspIHsKLQkJCXVpbnQ2NF90IGJ1c3lfbnMgPSAtdG90 YWxfYnVzeV9uczsKLQkJCXVpbnQ2NF90IGlkbGVfbnMgPSAtdG90YWxfaWRsZV9uczsKLQkJCXN0 cnVjdCB0aW1lc3BlYyB0ZXN0X3N0YXJ0ID0geyB9OworCQkJdW5zaWduZWQgaW50IHRhcmdldF9p ZGxlX3VzID0gaWRsZV91czsKKwkJCXVpbnQ2NF90IGJ1c3lfbnMgPSAwLCBpZGxlX25zID0gMDsK KwkJCXN0cnVjdCB0aW1lc3BlYyBzdGFydCA9IHsgfTsKKwkJCXVuc2lnbmVkIGxvbmcgcGFzc19u cyA9IDA7CisJCQlkb3VibGUgYXZnID0gMC4wLCB2YXIgPSAwLjA7CisJCQl1bnNpZ25lZCBpbnQg biA9IDA7CisKKwkJCWlndF9uc2VjX2VsYXBzZWQoJnN0YXJ0KTsKIAotCQkJaWd0X25zZWNfZWxh cHNlZCgmdGVzdF9zdGFydCk7CiAJCQlkbyB7Ci0JCQkJdW5zaWduZWQgaW50IHRhcmdldF9pZGxl X3VzLCB0X2J1c3k7CisJCQkJdW5zaWduZWQgbG9uZyBsb29wX25zLCBsb29wX2J1c3k7CisJCQkJ c3RydWN0IHRpbWVzcGVjIF90cyA9IHsgfTsKKwkJCQlkb3VibGUgZXJyLCB0bXA7CisKKwkJCQkv KiBQV00gaWRsZSBzbGVlcC4gKi8KKwkJCQlfdHMudHZfbnNlYyA9IHRhcmdldF9pZGxlX3VzICog MTAwMDsKKwkJCQluYW5vc2xlZXAoJl90cywgTlVMTCk7CiAKIAkJCQkvKiBSZXN0YXJ0IHRoZSBz cGluYmF0Y2guICovCiAJCQkJX19yZWFybV9zcGluX2JhdGNoKHNwaW4pOwogCQkJCV9fc3VibWl0 X3NwaW5fYmF0Y2goZ2VtX2ZkLCBzcGluLCBlLCAwKTsKIAotCQkJCS8qCi0JCQkJICogTm90ZSB0 aGF0IHRoZSBzdWJtaXNzaW9uIG1heSBiZSBkZWxheWVkIHRvIGEKLQkJCQkgKiB0YXNrbGV0IChr c29mdGlycWQpIHdoaWNoIGNhbm5vdCBydW4gdW50aWwgd2UKLQkJCQkgKiBzbGVlcCBhcyB3ZSBo b2cgdGhlIGNwdSAod2UgYXJlIFJUKS4KLQkJCQkgKi8KLQotCQkJCXRfYnVzeSA9IG1lYXN1cmVk X3VzbGVlcChidXN5X3VzKTsKKwkJCQkvKiBQV00gYnVzeSBzbGVlcC4gKi8KKwkJCQlsb29wX2J1 c3kgPSBpZ3RfbnNlY19lbGFwc2VkKCZzdGFydCk7CisJCQkJX3RzLnR2X25zZWMgPSBidXN5X3Vz ICogMTAwMDsKKwkJCQluYW5vc2xlZXAoJl90cywgTlVMTCk7CiAJCQkJaWd0X3NwaW5fYmF0Y2hf ZW5kKHNwaW4pOwotCQkJCWdlbV9zeW5jKGdlbV9mZCwgc3Bpbi0+aGFuZGxlKTsKLQotCQkJCXRv dGFsX2J1c3lfbnMgKz0gdF9idXN5OwotCi0JCQkJdGFyZ2V0X2lkbGVfdXMgPQotCQkJCQkoMTAw ICogdG90YWxfYnVzeV9ucyAvIHRhcmdldF9idXN5X3BjdCAtICh0b3RhbF9idXN5X25zICsgdG90 YWxfaWRsZV9ucykpIC8gMTAwMDsKLQkJCQl0b3RhbF9pZGxlX25zICs9IG1lYXN1cmVkX3VzbGVl cCh0YXJnZXRfaWRsZV91cyk7Ci0JCQl9IHdoaWxlIChpZ3RfbnNlY19lbGFwc2VkKCZ0ZXN0X3N0 YXJ0KSA8IHRpbWVvdXRbcGFzc10pOwotCi0JCQlidXN5X25zICs9IHRvdGFsX2J1c3lfbnM7Ci0J CQlpZGxlX25zICs9IHRvdGFsX2lkbGVfbnM7CiAKLQkJCWV4cGVjdGVkID0gKGRvdWJsZSlidXN5 X25zIC8gKGJ1c3lfbnMgKyBpZGxlX25zKTsKLQkJCWlndF9pbmZvKCIldTogYnVzeSAlIlBSSXU2 NCJ1cywgaWRsZSAlIlBSSXU2NCJ1czogJS4yZiUlICh0YXJnZXQ6ICVsdSUlKVxuIiwKKwkJCQkv KiBUaW1lIGFjY291bnRpbmcuICovCisJCQkJbG9vcF9ucyA9IGlndF9uc2VjX2VsYXBzZWQoJnN0 YXJ0KTsKKwkJCQlsb29wX2J1c3kgPSBsb29wX25zIC0gbG9vcF9idXN5OworCQkJCWxvb3BfbnMg LT0gcGFzc19uczsKKworCQkJCWJ1c3lfbnMgKz0gbG9vcF9idXN5OworCQkJCXRvdGFsX2J1c3lf bnMgKz0gbG9vcF9idXN5OworCQkJCWlkbGVfbnMgKz0gbG9vcF9ucyAtIGxvb3BfYnVzeTsKKwkJ CQlwYXNzX25zICs9IGxvb3BfbnM7CisJCQkJdG90YWxfbnMgKz0gbG9vcF9uczsKKworCQkJCS8q IFJlLWNhbGlicmF0ZS4gKi8KKwkJCQllcnIgPSAoZG91YmxlKXRvdGFsX2J1c3lfbnMgLyB0b3Rh bF9ucyAtCisJCQkJICAgICAgKGRvdWJsZSl0YXJnZXRfYnVzeV9wY3QgLyAxMDAuMDsKKwkJCQl0 YXJnZXRfaWRsZV91cyA9IChkb3VibGUpdGFyZ2V0X2lkbGVfdXMgKgorCQkJCQkJICgxLjAgKyBl cnIpOworCisJCQkJLyogUnVubmluZyBhdmVyYWdlIGFuZCB2YXJpYW5jZSBmb3IgZGVidWcuICov CisJCQkJZXJyID0gMTAwLjAgKiB0b3RhbF9idXN5X25zIC8gdG90YWxfbnM7CisJCQkJdG1wID0g YXZnOworCQkJCWF2ZyArPSAoZXJyIC0gYXZnKSAvICsrbjsKKwkJCQl2YXIgKz0gKGVyciAtIGF2 ZykgKiAoZXJyIC0gdG1wKTsKKy8vIHByaW50ZigiJWYgKiAlZiA9ICVmXG4iLCBlcnIgLSBhdmcs IGVyciAtIHRtcCwgKGVyciAtIGF2ZykgKiAoZXJyIC0gdG1wKSk7CisJCQl9IHdoaWxlIChwYXNz X25zIDwgdGltZW91dFtwYXNzXSk7CisKKwkJCWV4cGVjdGVkID0gKGRvdWJsZSlidXN5X25zIC8g cGFzc19uczsKKwkJCWlndF9pbmZvKCIldTogYnVzeSAlIlBSSXU2NCJ1cywgaWRsZSAlIlBSSXU2 NCJ1cyAtPiAlLjJmJSUgKHRhcmdldDogJWx1JSU7IGF2ZXJhZ2U9JS4yZiwgdmFyaWFuY2U9JWYp XG4iLAogCQkJCSBwYXNzLCBidXN5X25zIC8gMTAwMCwgaWRsZV9ucyAvIDEwMDAsCi0JCQkJIDEw MCAqIGV4cGVjdGVkLCB0YXJnZXRfYnVzeV9wY3QpOworCQkJCSAxMDAgKiBleHBlY3RlZCwgdGFy Z2V0X2J1c3lfcGN0LCBhdmcsIHZhcik7CiAJCQl3cml0ZShsaW5rWzFdLCAmZXhwZWN0ZWQsIHNp emVvZihleHBlY3RlZCkpOwogCQl9CiAKQEAgLTE2NDksNyArMTY0Nyw3IEBAIGFjY3VyYWN5KGlu dCBnZW1fZmQsIGNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiAqZSwKIAlidXN5 X3IgPSAoZG91YmxlKSh2YWxbMV0gLSB2YWxbMF0pIC8gKHRzWzFdIC0gdHNbMF0pOwogCiAJaWd0 X2luZm8oImVycm9yPSUuMmYlJSAoJS4yZiUlIHZzICUuMmYlJSlcbiIsCi0JCSBfX2Vycm9yKGJ1 c3lfciwgZXhwZWN0ZWQpLCAxMDAgKiBidXN5X3IsIDEwMCAqIGV4cGVjdGVkKTsKKwkJIChidXN5 X3IgLSBleHBlY3RlZCkgKiAxMDAsIDEwMCAqIGJ1c3lfciwgMTAwICogZXhwZWN0ZWQpOwogCiAJ YXNzZXJ0X3dpdGhpbigxMDAuMCAqIGJ1c3lfciwgMTAwLjAgKiBleHBlY3RlZCwgMik7CiB9Ci0t IAoyLjE0LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldgo=