From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr1-x444.google.com (mail-wr1-x444.google.com [IPv6:2a00:1450:4864:20::444]) by gabe.freedesktop.org (Postfix) with ESMTPS id D68756E46A for ; Wed, 3 Oct 2018 12:07:30 +0000 (UTC) Received: by mail-wr1-x444.google.com with SMTP id w5-v6so5853943wrt.2 for ; Wed, 03 Oct 2018 05:07:30 -0700 (PDT) From: Tvrtko Ursulin Date: Wed, 3 Oct 2018 13:07:17 +0100 Message-Id: <20181003120718.6898-6-tvrtko.ursulin@linux.intel.com> In-Reply-To: <20181003120718.6898-1-tvrtko.ursulin@linux.intel.com> References: <20181003120718.6898-1-tvrtko.ursulin@linux.intel.com> Subject: [igt-dev] [RFC i-g-t 5/6] intel-gpu-top: Add queue depths and load average 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: RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCldpdGggdGhl IGRyaXZlciBub3cgZXhwb3J0aW5nIHZhcmlvdXMgcmVxdWVzdCBxdWV1ZSBkZXB0aHMgZm9yIGVh Y2gKZW5naW5lLCB3ZSBjYW4gZGlzcGxheSB0aGlzIGluZm9ybWF0aW9uIGhlcmUuIEJvdGggYXMg cmF3IGNvdW50ZXJzLAphbmQgYnkgYWRkaW5nIGEgbG9hZCBhdmVyYWdlIGxpa2UgbWV0cmljcyBj b21wb3NlZCBmcm9tIG51bWJlciBvZgpydW5uYWJsZSBhbmQgcnVubmluZyByZXF1ZXN0cyBpbiBh IGdpdmVuIHRpbWUgcGVyaW9kLiAxcywgMzBzIGFuZCA1bQpwZXJpb2RzIGFyZSB1c2VkIGZvciBs b2FkIGF2ZXJhZ2UuCgpTaWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3Vs aW5AaW50ZWwuY29tPgotLS0KIHRvb2xzL01ha2VmaWxlLmFtICAgICB8ICAgMiArLQogdG9vbHMv aW50ZWxfZ3B1X3RvcC5jIHwgMTIyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KystLS0tLQogdG9vbHMvbWVzb24uYnVpbGQgICAgIHwgICAyICstCiAzIGZpbGVzIGNoYW5nZWQs IDExMCBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90b29scy9N YWtlZmlsZS5hbSBiL3Rvb2xzL01ha2VmaWxlLmFtCmluZGV4IGU3ZGU0ZDkwMjQxYy4uZTAzODQy YWZjZThkIDEwMDY0NAotLS0gYS90b29scy9NYWtlZmlsZS5hbQorKysgYi90b29scy9NYWtlZmls ZS5hbQpAQCAtMjksNyArMjksNyBAQCBpbnRlbF9hdWJkdW1wX2xhX0xERkxBR1MgPSAtbW9kdWxl IC1hdm9pZC12ZXJzaW9uIC1uby11bmRlZmluZWQKIGludGVsX2F1YmR1bXBfbGFfU09VUkNFUyA9 IGF1YmR1bXAuYwogaW50ZWxfYXViZHVtcF9sYV9MSUJBREQgPSAkKHRvcF9idWlsZGRpcikvbGli L2xpYmludGVsX3Rvb2xzLmxhIC1sZGwKIAotaW50ZWxfZ3B1X3RvcF9MREFERCA9ICQodG9wX2J1 aWxkZGlyKS9saWIvbGliaWd0X3BlcmYubGEKK2ludGVsX2dwdV90b3BfTERBREQgPSAkKHRvcF9i dWlsZGRpcikvbGliL2xpYmlndF9wZXJmLmxhIC1sbQogCiBiaW5fU0NSSVBUUyA9IGludGVsX2F1 YmR1bXAKIENMRUFORklMRVMgPSAkKGJpbl9TQ1JJUFRTKQpkaWZmIC0tZ2l0IGEvdG9vbHMvaW50 ZWxfZ3B1X3RvcC5jIGIvdG9vbHMvaW50ZWxfZ3B1X3RvcC5jCmluZGV4IGI5MjNjM2NmYmU5Ny4u ODk5MGVmMTdiNzcxIDEwMDY0NAotLS0gYS90b29scy9pbnRlbF9ncHVfdG9wLmMKKysrIGIvdG9v bHMvaW50ZWxfZ3B1X3RvcC5jCkBAIC01Niw2ICs1NiwxMCBAQCBzdHJ1Y3QgcG11X2NvdW50ZXIg ewogCXN0cnVjdCBwbXVfcGFpciB2YWw7CiB9OwogCisjZGVmaW5lIE5VTV9RVUVVRVMgKDMpCisK KyNkZWZpbmUgTlVNX0xPQURTICgzKQorCiBzdHJ1Y3QgZW5naW5lIHsKIAljb25zdCBjaGFyICpu YW1lOwogCWNvbnN0IGNoYXIgKmRpc3BsYXlfbmFtZTsKQEAgLTY1LDkgKzY5LDEzIEBAIHN0cnVj dCBlbmdpbmUgewogCiAJdW5zaWduZWQgaW50IG51bV9jb3VudGVyczsKIAorCWRvdWJsZSBxZFsz XTsKKwlkb3VibGUgbG9hZF9hdmdbTlVNX0xPQURTXTsKKwogCXN0cnVjdCBwbXVfY291bnRlciBi dXN5OwogCXN0cnVjdCBwbXVfY291bnRlciB3YWl0OwogCXN0cnVjdCBwbXVfY291bnRlciBzZW1h OworCXN0cnVjdCBwbXVfY291bnRlciBxdWV1ZVtOVU1fUVVFVUVTXTsKIH07CiAKIHN0cnVjdCBl bmdpbmVzIHsKQEAgLTk1LDYgKzEwMywxMSBAQCBzdHJ1Y3QgZW5naW5lcyB7CiAJc3RydWN0IHBt dV9jb3VudGVyIGltY19yZWFkczsKIAlzdHJ1Y3QgcG11X2NvdW50ZXIgaW1jX3dyaXRlczsKIAor CWRvdWJsZSBxZF9zY2FsZTsKKworCWRvdWJsZSBsb2FkX2V4cFtOVU1fTE9BRFNdOworCWRvdWJs ZSBsb2FkX2F2Z1tOVU1fTE9BRFNdOworCiAJc3RydWN0IGVuZ2luZSBlbmdpbmU7CiB9OwogCkBA IC0zMjAsNiArMzMzLDEzIEBAIHN0YXRpYyBkb3VibGUgZmlsZW5hbWVfdG9fZG91YmxlKGNvbnN0 IGNoYXIgKmZpbGVuYW1lKQogCXJldHVybiB2OwogfQogCisjZGVmaW5lIEk5MTVfRVZFTlQgIi9z eXMvZGV2aWNlcy9pOTE1L2V2ZW50cy8iCisKK3N0YXRpYyBkb3VibGUgaTkxNV9xZF9zY2FsZSh2 b2lkKQoreworCXJldHVybiBmaWxlbmFtZV90b19kb3VibGUoSTkxNV9FVkVOVCAicmNzMC1xdWV1 ZWQuc2NhbGUiKTsKK30KKwogI2RlZmluZSBSQVBMX1JPT1QgIi9zeXMvZGV2aWNlcy9wb3dlci8i CiAjZGVmaW5lIFJBUExfRVZFTlQgIi9zeXMvZGV2aWNlcy9wb3dlci9ldmVudHMvIgogCkBAIC00 NTMsNiArNDczLDggQEAgc3RhdGljIGludCBwbXVfaW5pdChzdHJ1Y3QgZW5naW5lcyAqZW5naW5l cykKIAllbmdpbmVzLT5yYzYuY29uZmlnID0gSTkxNV9QTVVfUkM2X1JFU0lERU5DWTsKIAlfb3Bl bl9wbXUoZW5naW5lcy0+bnVtX2NvdW50ZXJzLCAmZW5naW5lcy0+cmM2LCBlbmdpbmVzLT5mZCk7 CiAKKwllbmdpbmVzLT5xZF9zY2FsZSA9IGk5MTVfcWRfc2NhbGUoKTsKKwogCWZvciAoaSA9IDA7 IGkgPCBlbmdpbmVzLT5udW1fZW5naW5lczsgaSsrKSB7CiAJCXN0cnVjdCBlbmdpbmUgKmVuZ2lu ZSA9IGVuZ2luZV9wdHIoZW5naW5lcywgaSk7CiAJCXN0cnVjdCB7CkBAIC00NjIsNiArNDg0LDkg QEAgc3RhdGljIGludCBwbXVfaW5pdChzdHJ1Y3QgZW5naW5lcyAqZW5naW5lcykKIAkJCXsgLnBt dSA9ICZlbmdpbmUtPmJ1c3ksIC5jb3VudGVyID0gImJ1c3kiIH0sCiAJCQl7IC5wbXUgPSAmZW5n aW5lLT53YWl0LCAuY291bnRlciA9ICJ3YWl0IiB9LAogCQkJeyAucG11ID0gJmVuZ2luZS0+c2Vt YSwgLmNvdW50ZXIgPSAic2VtYSIgfSwKKwkJCXsgLnBtdSA9ICZlbmdpbmUtPnF1ZXVlWzBdLCAu Y291bnRlciA9ICJxdWV1ZWQiIH0sCisJCQl7IC5wbXUgPSAmZW5naW5lLT5xdWV1ZVsxXSwgLmNv dW50ZXIgPSAicnVubmFibGUiIH0sCisJCQl7IC5wbXUgPSAmZW5naW5lLT5xdWV1ZVsyXSwgLmNv dW50ZXIgPSAicnVubmluZyIgfSwKIAkJCXsgLnBtdSA9IE5VTEwsIC5jb3VudGVyID0gTlVMTCB9 LAogCQl9OwogCkBAIC01NzYsMTIgKzYwMSwxMSBAQCBzdGF0aWMgdm9pZCBmaWxsX3N0cihjaGFy ICpidWYsIHVuc2lnbmVkIGludCBidWZzeiwgY2hhciBjLCB1bnNpZ25lZCBpbnQgbnVtKQogCSpi dWYgPSAwOwogfQogCi1zdGF0aWMgdm9pZCBwbXVfY2FsYyhzdHJ1Y3QgcG11X2NvdW50ZXIgKmNu dCwKLQkJICAgICBjaGFyICpidWYsIHVuc2lnbmVkIGludCBidWZzeiwKLQkJICAgICB1bnNpZ25l ZCBpbnQgd2lkdGgsIHVuc2lnbmVkIHdpZHRoX2RlYywKLQkJICAgICBkb3VibGUgZCwgZG91Ymxl IHQsIGRvdWJsZSBzKQorc3RhdGljIHZvaWQgX3BtdV9jYWxjKHN0cnVjdCBwbXVfY291bnRlciAq Y250LAorCQkgICAgICBjaGFyICpidWYsIHVuc2lnbmVkIGludCBidWZzeiwKKwkJICAgICAgdW5z aWduZWQgaW50IHdpZHRoLCB1bnNpZ25lZCB3aWR0aF9kZWMsCisJCSAgICAgIGRvdWJsZSB2YWwp CiB7Ci0JZG91YmxlIHZhbDsKIAlpbnQgbGVuOwogCiAJYXNzZXJ0KGJ1ZnN6ID49ICh3aWR0aCAr IHdpZHRoX2RlYyArIDEpKTsKQEAgLTU5MSw4ICs2MTUsNiBAQCBzdGF0aWMgdm9pZCBwbXVfY2Fs YyhzdHJ1Y3QgcG11X2NvdW50ZXIgKmNudCwKIAkJcmV0dXJuOwogCX0KIAotCXZhbCA9IF9fcG11 X2NhbGMoJmNudC0+dmFsLCBkLCB0LCBzKTsKLQogCWxlbiA9IHNucHJpbnRmKGJ1ZiwgYnVmc3os ICIlKi4qZiIsIHdpZHRoICsgd2lkdGhfZGVjLCB3aWR0aF9kZWMsIHZhbCk7CiAJaWYgKGxlbiA8 IDAgfHwgbGVuID09IGJ1ZnN6KSB7CiAJCWZpbGxfc3RyKGJ1ZiwgYnVmc3osICdYJywgd2lkdGgg KyB3aWR0aF9kZWMpOwpAQCAtNjAwLDYgKzYyMiwxNiBAQCBzdGF0aWMgdm9pZCBwbXVfY2FsYyhz dHJ1Y3QgcG11X2NvdW50ZXIgKmNudCwKIAl9CiB9CiAKK3N0YXRpYyB2b2lkIHBtdV9jYWxjKHN0 cnVjdCBwbXVfY291bnRlciAqY250LAorCQkgICAgIGNoYXIgKmJ1ZiwgdW5zaWduZWQgaW50IGJ1 ZnN6LAorCQkgICAgIHVuc2lnbmVkIGludCB3aWR0aCwgdW5zaWduZWQgd2lkdGhfZGVjLAorCQkg ICAgIGRvdWJsZSBkLCBkb3VibGUgdCwgZG91YmxlIHMpCit7CisJZG91YmxlIHZhbCA9IF9fcG11 X2NhbGMoJmNudC0+dmFsLCBkLCB0LCBzKTsKKworCV9wbXVfY2FsYyhjbnQsIGJ1ZiwgYnVmc3os IHdpZHRoLCB3aWR0aF9kZWMsIHZhbCk7Cit9CisKIHN0YXRpYyB1aW50NjRfdCBfX3BtdV9yZWFk X3NpbmdsZShpbnQgZmQsIHVpbnQ2NF90ICp0cykKIHsKIAl1aW50NjRfdCBkYXRhWzJdID0geyB9 OwpAQCAtNjU4LDEwICs2OTAsMTQgQEAgc3RhdGljIHZvaWQgcG11X3NhbXBsZShzdHJ1Y3QgZW5n aW5lcyAqZW5naW5lcykKIAogCWZvciAoaSA9IDA7IGkgPCBlbmdpbmVzLT5udW1fZW5naW5lczsg aSsrKSB7CiAJCXN0cnVjdCBlbmdpbmUgKmVuZ2luZSA9IGVuZ2luZV9wdHIoZW5naW5lcywgaSk7 CisJCXVuc2lnbmVkIGludCBqOwogCiAJCXVwZGF0ZV9zYW1wbGUoJmVuZ2luZS0+YnVzeSwgdmFs KTsKIAkJdXBkYXRlX3NhbXBsZSgmZW5naW5lLT5zZW1hLCB2YWwpOwogCQl1cGRhdGVfc2FtcGxl KCZlbmdpbmUtPndhaXQsIHZhbCk7CisKKwkJZm9yIChqID0gMDsgaiA8IE5VTV9RVUVVRVM7IGor KykKKwkJCXVwZGF0ZV9zYW1wbGUoJmVuZ2luZS0+cXVldWVbal0sIHZhbCk7CiAJfQogfQogCkBA IC03MDIsMTIgKzczOCwxOSBAQCB1c2FnZShjb25zdCBjaGFyICphcHBuYW1lKQogCQlhcHBuYW1l LCBERUZBVUxUX1BFUklPRF9NUyk7CiB9CiAKK3N0YXRpYyBkb3VibGUgdXBkYXRlX2xvYWQoZG91 YmxlIGxvYWQsIGRvdWJsZSBleHAsIGRvdWJsZSB2YWwpCit7CisJcmV0dXJuIHZhbCArIGV4cCAq IChsb2FkIC0gdmFsKTsKK30KKwogaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogewog CXVuc2lnbmVkIGludCBwZXJpb2RfdXMgPSBERUZBVUxUX1BFUklPRF9NUyAqIDEwMDA7CisJY29u c3QgZG91YmxlIGxvYWRfcGVyaW9kW05VTV9MT0FEU10gPSB7IDEuMCwgMzAuMCwgOTAwLjAgfTsK IAlpbnQgY29uX3cgPSAtMSwgY29uX2ggPSAtMTsKIAlzdHJ1Y3QgZW5naW5lcyAqZW5naW5lczsK IAl1bnNpZ25lZCBpbnQgaTsKKwlkb3VibGUgcGVyaW9kOwogCWludCByZXQsIGNoOwogCiAJLyog UGFyc2Ugb3B0aW9ucyAqLwpAQCAtNzQxLDEwICs3ODQsMTUgQEAgaW50IG1haW4oaW50IGFyZ2Ms IGNoYXIgKiphcmd2KQogCQlyZXR1cm4gMTsKIAl9CiAKKwkvKiBMb2FkIGF2ZXJhZ2Ugc2V0dXAu ICovCisJcGVyaW9kID0gKGRvdWJsZSlwZXJpb2RfdXMgLyAxZTY7CisJZm9yIChpID0gMDsgaSA8 IE5VTV9MT0FEUzsgaSsrKQorCQllbmdpbmVzLT5sb2FkX2V4cFtpXSA9IGV4cCgtcGVyaW9kIC8g bG9hZF9wZXJpb2RbaV0pOworCiAJcG11X3NhbXBsZShlbmdpbmVzKTsKIAogCWZvciAoOzspIHsK LQkJZG91YmxlIHQ7CisJCWRvdWJsZSB0LCBxZCA9IDA7CiAjZGVmaW5lIEJVRlNaIDE2CiAJCWNo YXIgZnJlcVtCVUZTWl07CiAJCWNoYXIgZmFjdFtCVUZTWl07CkBAIC03NTQsNiArODAyLDcgQEAg aW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogCQljaGFyIHJlYWRzW0JVRlNaXTsKIAkJ Y2hhciB3cml0ZXNbQlVGU1pdOwogCQlzdHJ1Y3Qgd2luc2l6ZSB3czsKKwkJdW5zaWduZWQgaW50 IGo7CiAJCWludCBsaW5lcyA9IDA7CiAKIAkJLyogVXBkYXRlIHRlcm1pbmFsIHNpemUuICovCkBA IC03NzgsOCArODI3LDQ0IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKIAkJcG11 X2NhbGMoJmVuZ2luZXMtPmltY193cml0ZXMsIHdyaXRlcywgQlVGU1osIDYsIDAsIDEuMCwgdCwK IAkJCSBlbmdpbmVzLT5pbWNfd3JpdGVzX3NjYWxlKTsKIAorICAgICAgICAgICAgICAgZm9yIChp ID0gMDsgaSA8IGVuZ2luZXMtPm51bV9lbmdpbmVzOyBpKyspIHsKKyAgICAgICAgICAgICAgICAg ICAgICAgc3RydWN0IGVuZ2luZSAqZW5naW5lID0gZW5naW5lX3B0cihlbmdpbmVzLCBpKTsKKwor CQkJaWYgKCFlbmdpbmUtPm51bV9jb3VudGVycykKKwkJCQljb250aW51ZTsKKworCQkJZm9yIChq ID0gMDsgaiA8IE5VTV9RVUVVRVM7IGorKykgeworCQkJCWlmICghZW5naW5lLT5xdWV1ZVtqXS5w cmVzZW50KQorCQkJCQljb250aW51ZTsKKworCQkJCWVuZ2luZS0+cWRbal0gPQorCQkJCQlfX3Bt dV9jYWxjKCZlbmdpbmUtPnF1ZXVlW2pdLnZhbCwgMSwgdCwKKwkJCQkJCSAgIGVuZ2luZXMtPnFk X3NjYWxlKTsKKwkJCX0KKworCQkJcWQgKz0gZW5naW5lLT5xZFsxXSArIGVuZ2luZS0+cWRbMl07 CisKKwkJCWZvciAoaiA9IDA7IGogPCBOVU1fTE9BRFM7IGorKykgeworCQkJCWVuZ2luZS0+bG9h ZF9hdmdbal0gPQorCQkJCQl1cGRhdGVfbG9hZChlbmdpbmUtPmxvYWRfYXZnW2pdLAorCQkJCQkJ ICAgIGVuZ2luZXMtPmxvYWRfZXhwW2pdLAorCQkJCQkJICAgIGVuZ2luZS0+cWRbMV0gKworCQkJ CQkJICAgIGVuZ2luZS0+cWRbMl0pOworCQkJfQorICAgICAgICAgICAgICAgfQorCisJCWZvciAo aiA9IDA7IGogPCBOVU1fTE9BRFM7IGorKykgeworCQkJZW5naW5lcy0+bG9hZF9hdmdbal0gPQor CQkJCXVwZGF0ZV9sb2FkKGVuZ2luZXMtPmxvYWRfYXZnW2pdLAorCQkJCQkgICAgZW5naW5lcy0+ bG9hZF9leHBbal0sCisJCQkJCSAgICBxZCk7CisJCX0KKwogCQlpZiAobGluZXMrKyA8IGNvbl9o KQotCQkJcHJpbnRmKCJpbnRlbC1ncHUtdG9wIC0gJXMvJXMgTUh6OyAgJXMlJSBSQzY7ICVzICVz OyAlcyBpcnFzL3NcbiIsCisJCQlwcmludGYoImludGVsLWdwdS10b3AgLSBsb2FkIGF2ZyAlNS4y ZiwgJTUuMmYsICU1LjJmOyAlcy8lcyBNSHo7ICAlcyUlIFJDNjsgJXMgJXM7ICVzIGlycXMvc1xu IiwKKwkJCSAgICAgICBlbmdpbmVzLT5sb2FkX2F2Z1swXSwKKwkJCSAgICAgICBlbmdpbmVzLT5s b2FkX2F2Z1sxXSwKKwkJCSAgICAgICBlbmdpbmVzLT5sb2FkX2F2Z1syXSwKIAkJCSAgICAgICBm YWN0LCBmcmVxLCByYzYsIHBvd2VyLCBlbmdpbmVzLT5yYXBsX3VuaXQsIGlycSk7CiAKIAkJaWYg KGxpbmVzKysgPCBjb25faCkKQEAgLTgwMyw3ICs4ODgsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywg Y2hhciAqKmFyZ3YpCiAKIAkJCWlmIChlbmdpbmUtPm51bV9jb3VudGVycyAmJiBsaW5lcyA8IGNv bl9oKSB7CiAJCQkJY29uc3QgY2hhciAqYSA9ICIgICAgICAgICAgRU5HSU5FICAgICAgQlVTWSAi OwotCQkJCWNvbnN0IGNoYXIgKmIgPSAiIE1JX1NFTUEgTUlfV0FJVCI7CisJCQkJY29uc3QgY2hh ciAqYiA9ICJRICAgciAgIFIgTUlfU0VNQSBNSV9XQUlUIjsKIAogCQkJCXByaW50ZigiXDAzM1s3 bSVzJSpzJXNcMDMzWzBtXG4iLAogCQkJCSAgICAgICBhLApAQCAtODE3LDYgKzkwMiw3IEBAIGlu dCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKIAkJZm9yIChpID0gMDsgaSA8IGVuZ2luZXMt Pm51bV9lbmdpbmVzICYmIGxpbmVzIDwgY29uX2g7IGkrKykgewogCQkJc3RydWN0IGVuZ2luZSAq ZW5naW5lID0gZW5naW5lX3B0cihlbmdpbmVzLCBpKTsKIAkJCXVuc2lnbmVkIGludCBtYXhfdyA9 IGNvbl93IC0gMTsKKwkJCWNoYXIgcWRidWZbTlVNX0xPQURTXVtCVUZTWl07CiAJCQl1bnNpZ25l ZCBpbnQgbGVuOwogCQkJY2hhciBzZW1hW0JVRlNaXTsKIAkJCWNoYXIgd2FpdFtCVUZTWl07CkBA IC04MjcsMTQgKzkxMywyMiBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAJCQlp ZiAoIWVuZ2luZS0+bnVtX2NvdW50ZXJzKQogCQkJCWNvbnRpbnVlOwogCisJCQlmb3IgKGogPSAw OyBqIDwgTlVNX1FVRVVFUzsgaisrKQorCQkJCV9wbXVfY2FsYygmZW5naW5lLT5xdWV1ZVtqXSwg cWRidWZbal0sIEJVRlNaLAorCQkJCQkgIDMsIDAsIGVuZ2luZS0+cWRbal0pOworCiAJCQlwbXVf Y2FsYygmZW5naW5lLT5zZW1hLCBzZW1hLCBCVUZTWiwgMywgMCwgMWU5LCB0LCAxMDApOwogCQkJ cG11X2NhbGMoJmVuZ2luZS0+d2FpdCwgd2FpdCwgQlVGU1osIDMsIDAsIDFlOSwgdCwgMTAwKTsK LQkJCWxlbiA9IHNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICIgICAgJXMlJSAgICAlcyUlIiwK KworCQkJbGVuID0gc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwKKwkJCQkgICAgICAgIiAlcyAl cyAlcyAgICAlcyUlICAgICVzJSUiLAorCQkJCSAgICAgICBxZGJ1ZlswXSwgcWRidWZbMV0sIHFk YnVmWzJdLAogCQkJCSAgICAgICBzZW1hLCB3YWl0KTsKIAotCQkJcG11X2NhbGMoJmVuZ2luZS0+ YnVzeSwgYnVzeSwgQlVGU1osIDYsIDIsIDFlOSwgdCwKLQkJCQkgMTAwKTsKLQkJCWxlbiArPSBw cmludGYoIiUxNnMgJXMlJSAiLCBlbmdpbmUtPmRpc3BsYXlfbmFtZSwgYnVzeSk7CisJCQlwbXVf Y2FsYygmZW5naW5lLT5idXN5LCBidXN5LCBCVUZTWiwgNiwgMiwgMWU5LCB0LCAxMDApOworCisJ CQlsZW4gKz0gcHJpbnRmKCIlMTZzICVzJSUgIiwKKwkJCQkgICAgICBlbmdpbmUtPmRpc3BsYXlf bmFtZSwgYnVzeSk7CiAKIAkJCXZhbCA9IF9fcG11X2NhbGMoJmVuZ2luZS0+YnVzeS52YWwsIDFl OSwgdCwgMTAwKTsKIAkJCXByaW50X3BlcmNlbnRhZ2VfYmFyKHZhbCwgbWF4X3cgLSBsZW4pOwpk aWZmIC0tZ2l0IGEvdG9vbHMvbWVzb24uYnVpbGQgYi90b29scy9tZXNvbi5idWlsZAppbmRleCBl NDUxN2Q2NjcyOTkuLmMxZGQ3MWZhZGE3OSAxMDA2NDQKLS0tIGEvdG9vbHMvbWVzb24uYnVpbGQK KysrIGIvdG9vbHMvbWVzb24uYnVpbGQKQEAgLTk3LDcgKzk3LDcgQEAgc2hhcmVkX2xpYnJhcnko J2ludGVsX2F1YmR1bXAnLCAnYXViZHVtcC5jJywKIGV4ZWN1dGFibGUoJ2ludGVsX2dwdV90b3An LCAnaW50ZWxfZ3B1X3RvcC5jJywKIAkgICBpbnN0YWxsIDogdHJ1ZSwKIAkgICBpbnN0YWxsX3Jw YXRoIDogYmluZGlyX3JwYXRoZGlyLAotCSAgIGRlcGVuZGVuY2llcyA6IHRvb2xfZGVwcyArIFsg bGliX2lndF9wZXJmIF0pCisJICAgZGVwZW5kZW5jaWVzIDogdG9vbF9kZXBzICsgWyBsaWJfaWd0 X3BlcmYsIG1hdGggXSkKIAogY29uZl9kYXRhID0gY29uZmlndXJhdGlvbl9kYXRhKCkKIGNvbmZf ZGF0YS5zZXQoJ3ByZWZpeCcsIHByZWZpeCkKLS0gCjIuMTcuMQoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QKaWd0LWRl dkBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pZ3QtZGV2Cg==