From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: [PATCH v1 06/12] tmem: Move client weight, frozen, live_migrating, and compress Date: Wed, 28 Sep 2016 05:42:20 -0400 Message-ID: <1475055746-22401-7-git-send-email-konrad.wilk@oracle.com> References: <1475055746-22401-1-git-send-email-konrad.wilk@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bpBO1-0008W4-GD for xen-devel@lists.xenproject.org; Wed, 28 Sep 2016 09:42:45 +0000 In-Reply-To: <1475055746-22401-1-git-send-email-konrad.wilk@oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org, konrad@kernel.org Cc: Konrad Rzeszutek Wilk List-Id: xen-devel@lists.xenproject.org aW4gaXRzIG93biBzdHJ1Y3R1cmUuIFRoaXMgcGF2ZXMgdGhlIHdheSB0byBtYWtlIG9ubHkKb25l IGh5cGVyY2FsbCB0byByZXRyaWV2ZS9zZXQgdGhpcyBpbmZvcm1hdGlvbiBpbnN0ZWFkIG9mIG11 bHRpcGxlCm9uZXMuCgpTaWduZWQtb2ZmLWJ5OiBLb25yYWQgUnplc3p1dGVrIFdpbGsgPGtvbnJh ZC53aWxrQG9yYWNsZS5jb20+Ci0tLQp2MTogRmlyc3Qgc3VibWlzc2lvbi4KLS0tCiB4ZW4vY29t bW9uL3RtZW0uYyAgICAgICAgICAgfCA0MCArKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0t LS0tLS0tLS0tCiB4ZW4vY29tbW9uL3RtZW1fY29udHJvbC5jICAgfCAxOCArKysrKysrKystLS0t LS0tLS0KIHhlbi9pbmNsdWRlL3B1YmxpYy9zeXNjdGwuaCB8IDE0ICsrKysrKysrKysrKysrCiB4 ZW4vaW5jbHVkZS94ZW4vdG1lbV94ZW4uaCAgfCAgNiArLS0tLS0KIDQgZmlsZXMgY2hhbmdlZCwg NDUgaW5zZXJ0aW9ucygrKSwgMzMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2NvbW1v bi90bWVtLmMgYi94ZW4vY29tbW9uL3RtZW0uYwppbmRleCBjZjUyNzFjLi4yNzE2NGNlIDEwMDY0 NAotLS0gYS94ZW4vY29tbW9uL3RtZW0uYworKysgYi94ZW4vY29tbW9uL3RtZW0uYwpAQCAtMzMz LDcgKzMzMyw3IEBAIHN0YXRpYyB2b2lkIHBncF9mcmVlKHN0cnVjdCB0bWVtX3BhZ2VfZGVzY3Jp cHRvciAqcGdwKQogICAgIGF0b21pY19kZWMoJnBvb2wtPnBncF9jb3VudCk7CiAgICAgQVNTRVJU KF9hdG9taWNfcmVhZChwb29sLT5wZ3BfY291bnQpID49IDApOwogICAgIHBncC0+c2l6ZSA9IC0x OwotICAgIGlmICggaXNfcGVyc2lzdGVudChwb29sKSAmJiBwb29sLT5jbGllbnQtPmxpdmVfbWln cmF0aW5nICkKKyAgICBpZiAoIGlzX3BlcnNpc3RlbnQocG9vbCkgJiYgcG9vbC0+Y2xpZW50LT5p bmZvLmZsYWdzLnUubWlncmF0aW5nICkKICAgICB7CiAgICAgICAgIHBncC0+aW52X29pZCA9IHBn cC0+dXMub2JqLT5vaWQ7CiAgICAgICAgIHBncC0+cG9vbF9pZCA9IHBvb2wtPnBvb2xfaWQ7CkBA IC0zNzAsNyArMzcwLDcgQEAgc3RhdGljIHZvaWQgcGdwX2RlbGlzdF9mcmVlKHN0cnVjdCB0bWVt X3BhZ2VfZGVzY3JpcHRvciAqcGdwKQogICAgIH0KICAgICBlbHNlCiAgICAgewotICAgICAgICBp ZiAoIGNsaWVudC0+bGl2ZV9taWdyYXRpbmcgKQorICAgICAgICBpZiAoIGNsaWVudC0+aW5mby5m bGFncy51Lm1pZ3JhdGluZyApCiAgICAgICAgIHsKICAgICAgICAgICAgIHNwaW5fbG9jaygmcGVy c19saXN0c19zcGlubG9jayk7CiAgICAgICAgICAgICBsaXN0X2FkZF90YWlsKCZwZ3AtPmNsaWVu dF9pbnZfcGFnZXMsCkBAIC03OTEsNyArNzkxLDcgQEAgc3RhdGljIHZvaWQgcG9vbF9mbHVzaChz dHJ1Y3QgdG1lbV9wb29sICpwb29sLCBkb21pZF90IGNsaV9pZCkKICAgICAgICAgICAgICAgICAg ICAgaXNfcGVyc2lzdGVudChwb29sKSA/ICJwZXJzaXN0ZW50IiA6ICJlcGhlbWVyYWwiICwKICAg ICAgICAgICAgICAgICAgICAgaXNfc2hhcmVkKHBvb2wpID8gInNoYXJlZCIgOiAicHJpdmF0ZSIs CiAgICAgICAgICAgICAgICAgICAgIHRtZW1fY2xpX2lkX3N0ciwgcG9vbC0+Y2xpZW50LT5jbGlf aWQsIHBvb2wtPnBvb2xfaWQpOwotICAgIGlmICggcG9vbC0+Y2xpZW50LT5saXZlX21pZ3JhdGlu ZyApCisgICAgaWYgKCBwb29sLT5jbGllbnQtPmluZm8uZmxhZ3MudS5taWdyYXRpbmcgKQogICAg IHsKICAgICAgICAgdG1lbV9jbGllbnRfd2FybigiY2FuJ3QgZGVzdHJveSBwb29sIHdoaWxlICVz IGlzIGxpdmUtbWlncmF0aW5nXG4iLAogICAgICAgICAgICAgICAgICAgICB0bWVtX2NsaWVudF9z dHIpOwpAQCAtODQzLDcgKzg0Myw5IEBAIHN0YXRpYyBzdHJ1Y3QgY2xpZW50ICpjbGllbnRfY3Jl YXRlKGRvbWlkX3QgY2xpX2lkKQogICAgIHJjdV91bmxvY2tfZG9tYWluKGQpOwogCiAgICAgY2xp ZW50LT5jbGlfaWQgPSBjbGlfaWQ7Ci0gICAgY2xpZW50LT5jb21wcmVzcyA9IHRtZW1fY29tcHJl c3Npb25fZW5hYmxlZCgpOworICAgIGNsaWVudC0+aW5mby52ZXJzaW9uID0gVE1FTV9TUEVDX1ZF UlNJT047CisgICAgY2xpZW50LT5pbmZvLm1heHBvb2xzID0gTUFYX1BPT0xTX1BFUl9ET01BSU47 CisgICAgY2xpZW50LT5pbmZvLmZsYWdzLnUuY29tcHJlc3MgPSB0bWVtX2NvbXByZXNzaW9uX2Vu YWJsZWQoKTsKICAgICBjbGllbnQtPnNoYXJlZF9hdXRoX3JlcXVpcmVkID0gdG1lbV9zaGFyZWRf YXV0aCgpOwogICAgIGZvciAoIGkgPSAwOyBpIDwgTUFYX0dMT0JBTF9TSEFSRURfUE9PTFM7IGkr KykKICAgICAgICAgY2xpZW50LT5zaGFyZWRfYXV0aF91dWlkW2ldWzBdID0KQEAgLTg4NywxMSAr ODg5LDExIEBAIHN0YXRpYyBib29sX3QgY2xpZW50X292ZXJfcXVvdGEoc3RydWN0IGNsaWVudCAq Y2xpZW50KQogICAgIGludCB0b3RhbCA9IF9hdG9taWNfcmVhZCh0bWVtX2dsb2JhbC5jbGllbnRf d2VpZ2h0X3RvdGFsKTsKIAogICAgIEFTU0VSVChjbGllbnQgIT0gTlVMTCk7Ci0gICAgaWYgKCAo dG90YWwgPT0gMCkgfHwgKGNsaWVudC0+d2VpZ2h0ID09IDApIHx8CisgICAgaWYgKCAodG90YWwg PT0gMCkgfHwgKGNsaWVudC0+aW5mby53ZWlnaHQgPT0gMCkgfHwKICAgICAgICAgICAoY2xpZW50 LT5lcGhfY291bnQgPT0gMCkgKQogICAgICAgICByZXR1cm4gMDsKICAgICByZXR1cm4gKCAoKHRt ZW1fZ2xvYmFsLmVwaF9jb3VudCoxMDBMKSAvIGNsaWVudC0+ZXBoX2NvdW50ICkgPgotICAgICAg ICAgICAgICgodG90YWwqMTAwTCkgLyBjbGllbnQtPndlaWdodCkgKTsKKyAgICAgICAgICAgICAo KHRvdGFsKjEwMEwpIC8gY2xpZW50LT5pbmZvLndlaWdodCkgKTsKIH0KIAogLyoqKioqKioqKioq KiBNRU1PUlkgUkVWT0NBVElPTiBST1VUSU5FUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqLwpAQCAtMTA2NywxMCArMTA2OSwxMCBAQCBzdGF0aWMgaW50IGRvX3RtZW1fZHVwX3B1dChz dHJ1Y3QgdG1lbV9wYWdlX2Rlc2NyaXB0b3IgKnBncCwgeGVuX3Bmbl90IGNtZm4sCiAgICAgcG9v bCA9IG9iai0+cG9vbDsKICAgICBBU1NFUlQocG9vbCAhPSBOVUxMKTsKICAgICBjbGllbnQgPSBw b29sLT5jbGllbnQ7Ci0gICAgaWYgKCBjbGllbnQtPmxpdmVfbWlncmF0aW5nICkKKyAgICBpZiAo IGNsaWVudC0+aW5mby5mbGFncy51Lm1pZ3JhdGluZyApCiAgICAgICAgIGdvdG8gZmFpbGVkX2R1 cDsgLyogTm8gZHVwcyBhbGxvd2VkIHdoZW4gbWlncmF0aW5nLiAqLwogICAgIC8qIENhbiB3ZSBz dWNjZXNzZnVsbHkgbWFuaXB1bGF0ZSBwZ3AgdG8gY2hhbmdlIG91dCB0aGUgZGF0YT8gKi8KLSAg ICBpZiAoIGNsaWVudC0+Y29tcHJlc3MgJiYgcGdwLT5zaXplICE9IDAgKQorICAgIGlmICggY2xp ZW50LT5pbmZvLmZsYWdzLnUuY29tcHJlc3MgJiYgcGdwLT5zaXplICE9IDAgKQogICAgIHsKICAg ICAgICAgcmV0ID0gZG9fdG1lbV9wdXRfY29tcHJlc3MocGdwLCBjbWZuLCBjbGlidWYpOwogICAg ICAgICBpZiAoIHJldCA9PSAxICkKQEAgLTExNDIsNyArMTE0NCw3IEBAIHN0YXRpYyBpbnQgZG9f dG1lbV9wdXQoc3RydWN0IHRtZW1fcG9vbCAqcG9vbCwKICAgICBBU1NFUlQocG9vbCAhPSBOVUxM KTsKICAgICBjbGllbnQgPSBwb29sLT5jbGllbnQ7CiAgICAgQVNTRVJUKGNsaWVudCAhPSBOVUxM KTsKLSAgICByZXQgPSBjbGllbnQtPmZyb3plbiA/IC1FRlJPWkVOIDogLUVOT01FTTsKKyAgICBy ZXQgPSBjbGllbnQtPmluZm8uZmxhZ3MudS5mcm96ZW4gID8gLUVGUk9aRU4gOiAtRU5PTUVNOwog ICAgIHBvb2wtPnB1dHMrKzsKIAogcmVmaW5kOgpAQCAtMTE1NiwxNCArMTE1OCwxNCBAQCByZWZp bmQ6CiAgICAgICAgIGVsc2UKICAgICAgICAgewogICAgICAgICAgICAgLyogTm8gcHV0cyBhbGxv d2VkIGludG8gYSBmcm96ZW4gcG9vbCAoZXhjZXB0IGR1cCBwdXRzKS4gKi8KLSAgICAgICAgICAg IGlmICggY2xpZW50LT5mcm96ZW4gKQorICAgICAgICAgICAgaWYgKCBjbGllbnQtPmluZm8uZmxh Z3MudS5mcm96ZW4gKQogICAgICAgICAgICAgICAgIGdvdG8gdW5sb2NrX29iajsKICAgICAgICAg fQogICAgIH0KICAgICBlbHNlCiAgICAgewogICAgICAgICAvKiBObyBwdXRzIGFsbG93ZWQgaW50 byBhIGZyb3plbiBwb29sIChleGNlcHQgZHVwIHB1dHMpLiAqLwotICAgICAgICBpZiAoIGNsaWVu dC0+ZnJvemVuICkKKyAgICAgICAgaWYgKCBjbGllbnQtPmluZm8uZmxhZ3MudS5mcm96ZW4gKQog ICAgICAgICAgICAgcmV0dXJuIHJldDsKICAgICAgICAgaWYgKCAob2JqID0gb2JqX2FsbG9jKHBv b2wsIG9pZHApKSA9PSBOVUxMICkKICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOwpAQCAtMTE5 OCw3ICsxMjAwLDcgQEAgcmVmaW5kOgogICAgIHBncC0+aW5kZXggPSBpbmRleDsKICAgICBwZ3At PnNpemUgPSAwOwogCi0gICAgaWYgKCBjbGllbnQtPmNvbXByZXNzICkKKyAgICBpZiAoIGNsaWVu dC0+aW5mby5mbGFncy51LmNvbXByZXNzICkKICAgICB7CiAgICAgICAgIEFTU0VSVChwZ3AtPnBm cCA9PSBOVUxMKTsKICAgICAgICAgcmV0ID0gZG9fdG1lbV9wdXRfY29tcHJlc3MocGdwLCBjbWZu LCBjbGlidWYpOwpAQCAtMTM5MCw3ICsxMzkyLDcgQEAgc3RhdGljIGludCBkb190bWVtX2ZsdXNo X3BhZ2Uoc3RydWN0IHRtZW1fcG9vbCAqcG9vbCwKICAgICBwb29sLT5mbHVzaHNfZm91bmQrKzsK IAogb3V0OgotICAgIGlmICggcG9vbC0+Y2xpZW50LT5mcm96ZW4gKQorICAgIGlmICggcG9vbC0+ Y2xpZW50LT5pbmZvLmZsYWdzLnUuZnJvemVuICkKICAgICAgICAgcmV0dXJuIC1FRlJPWkVOOwog ICAgIGVsc2UKICAgICAgICAgcmV0dXJuIDE7CkBAIC0xNDExLDcgKzE0MTMsNyBAQCBzdGF0aWMg aW50IGRvX3RtZW1fZmx1c2hfb2JqZWN0KHN0cnVjdCB0bWVtX3Bvb2wgKnBvb2wsCiAgICAgd3Jp dGVfdW5sb2NrKCZwb29sLT5wb29sX3J3bG9jayk7CiAKIG91dDoKLSAgICBpZiAoIHBvb2wtPmNs aWVudC0+ZnJvemVuICkKKyAgICBpZiAoIHBvb2wtPmNsaWVudC0+aW5mby5mbGFncy51LmZyb3pl biApCiAgICAgICAgIHJldHVybiAtRUZST1pFTjsKICAgICBlbHNlCiAgICAgICAgIHJldHVybiAx OwpAQCAtMTY2OSwxMCArMTY3MSwxMCBAQCBzdGF0aWMgaW50IHRtZW1jX3NhdmVfc3Vib3AoaW50 IGNsaV9pZCwgdWludDMyX3QgcG9vbF9pZCwKICAgICAgICAgICAgIHJjID0gMDsKICAgICAgICAg ICAgIGJyZWFrOwogICAgICAgICB9Ci0gICAgICAgIGNsaWVudC0+d2FzX2Zyb3plbiA9IGNsaWVu dC0+ZnJvemVuOwotICAgICAgICBjbGllbnQtPmZyb3plbiA9IDE7CisgICAgICAgIGNsaWVudC0+ d2FzX2Zyb3plbiA9IGNsaWVudC0+aW5mby5mbGFncy51LmZyb3plbjsKKyAgICAgICAgY2xpZW50 LT5pbmZvLmZsYWdzLnUuZnJvemVuID0gMTsKICAgICAgICAgaWYgKCBhcmcxICE9IDAgKQotICAg ICAgICAgICAgY2xpZW50LT5saXZlX21pZ3JhdGluZyA9IDE7CisgICAgICAgICAgICBjbGllbnQt PmluZm8uZmxhZ3MudS5taWdyYXRpbmcgPSAxOwogICAgICAgICByYyA9IDE7CiAgICAgICAgIGJy ZWFrOwogICAgIGNhc2UgWEVOX1NZU0NUTF9UTUVNX09QX1JFU1RPUkVfQkVHSU46CkBAIC0xNjgy LDEyICsxNjg0LDEyIEBAIHN0YXRpYyBpbnQgdG1lbWNfc2F2ZV9zdWJvcChpbnQgY2xpX2lkLCB1 aW50MzJfdCBwb29sX2lkLAogICAgIGNhc2UgWEVOX1NZU0NUTF9UTUVNX09QX1NBVkVfRU5EOgog ICAgICAgICBpZiAoIGNsaWVudCA9PSBOVUxMICkKICAgICAgICAgICAgIGJyZWFrOwotICAgICAg ICBjbGllbnQtPmxpdmVfbWlncmF0aW5nID0gMDsKKyAgICAgICAgY2xpZW50LT5pbmZvLmZsYWdz LnUubWlncmF0aW5nID0gMDsKICAgICAgICAgaWYgKCAhbGlzdF9lbXB0eSgmY2xpZW50LT5wZXJz aXN0ZW50X2ludmFsaWRhdGVkX2xpc3QpICkKICAgICAgICAgICAgIGxpc3RfZm9yX2VhY2hfZW50 cnlfc2FmZShwZ3AscGdwMiwKICAgICAgICAgICAgICAgJmNsaWVudC0+cGVyc2lzdGVudF9pbnZh bGlkYXRlZF9saXN0LCBjbGllbnRfaW52X3BhZ2VzKQogICAgICAgICAgICAgICAgIF9fcGdwX2Zy ZWUocGdwLCBjbGllbnQtPnBvb2xzW3BncC0+cG9vbF9pZF0pOwotICAgICAgICBjbGllbnQtPmZy b3plbiA9IGNsaWVudC0+d2FzX2Zyb3plbjsKKyAgICAgICAgY2xpZW50LT5pbmZvLmZsYWdzLnUu ZnJvemVuID0gY2xpZW50LT53YXNfZnJvemVuOwogICAgICAgICByYyA9IDA7CiAgICAgICAgIGJy ZWFrOwogICAgIH0KZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vdG1lbV9jb250cm9sLmMgYi94ZW4v Y29tbW9uL3RtZW1fY29udHJvbC5jCmluZGV4IGNkYTMyN2IuLmJhMDAzYTggMTAwNjQ0Ci0tLSBh L3hlbi9jb21tb24vdG1lbV9jb250cm9sLmMKKysrIGIveGVuL2NvbW1vbi90bWVtX2NvbnRyb2wu YwpAQCAtMjcsMTQgKzI3LDE0IEBAIHN0YXRpYyBpbnQgdG1lbWNfZnJlZXplX3Bvb2xzKGRvbWlk X3QgY2xpX2lkLCBpbnQgYXJnKQogICAgIGlmICggY2xpX2lkID09IFRNRU1fQ0xJX0lEX05VTEwg KQogICAgIHsKICAgICAgICAgbGlzdF9mb3JfZWFjaF9lbnRyeShjbGllbnQsJnRtZW1fZ2xvYmFs LmNsaWVudF9saXN0LGNsaWVudF9saXN0KQotICAgICAgICAgICAgY2xpZW50LT5mcm96ZW4gPSBm cmVlemU7CisgICAgICAgICAgICBjbGllbnQtPmluZm8uZmxhZ3MudS5mcm96ZW4gPSBmcmVlemU7 CiAgICAgICAgIHRtZW1fY2xpZW50X2luZm8oInRtZW06IGFsbCBwb29scyAlcyBmb3IgYWxsICVz c1xuIiwgcywgdG1lbV9jbGllbnRfc3RyKTsKICAgICB9CiAgICAgZWxzZQogICAgIHsKICAgICAg ICAgaWYgKCAoY2xpZW50ID0gdG1lbV9jbGllbnRfZnJvbV9jbGlfaWQoY2xpX2lkKSkgPT0gTlVM TCkKICAgICAgICAgICAgIHJldHVybiAtMTsKLSAgICAgICAgY2xpZW50LT5mcm96ZW4gPSBmcmVl emU7CisgICAgICAgIGNsaWVudC0+aW5mby5mbGFncy51LmZyb3plbiA9IGZyZWV6ZTsKICAgICAg ICAgdG1lbV9jbGllbnRfaW5mbygidG1lbTogYWxsIHBvb2xzICVzIGZvciAlcz0lZFxuIiwKICAg ICAgICAgICAgICAgICAgICAgICAgICBzLCB0bWVtX2NsaV9pZF9zdHIsIGNsaV9pZCk7CiAgICAg fQpAQCAtMTA1LDcgKzEwNSw3IEBAIHN0YXRpYyBpbnQgdG1lbWNfbGlzdF9jbGllbnQoc3RydWN0 IGNsaWVudCAqYywgdG1lbV9jbGlfdmFfcGFyYW1fdCBidWYsCiAKICAgICBuID0gc2NucHJpbnRm KGluZm8sQlNJWkUsIkM9Q0k6JWQsd3c6JWQsY286JWQsZnI6JWQsIgogICAgICAgICAiVGM6JSJQ Ukl1NjQiLEdlOiVsZCxQcDolbGQsR3A6JWxkJWMiLAotICAgICAgICBjLT5jbGlfaWQsIGMtPndl aWdodCwgYy0+Y29tcHJlc3MsIGMtPmZyb3plbiwKKyAgICAgICAgYy0+Y2xpX2lkLCBjLT5pbmZv LndlaWdodCwgYy0+aW5mby5mbGFncy51LmNvbXByZXNzLCBjLT5pbmZvLmZsYWdzLnUuZnJvemVu LAogICAgICAgICBjLT50b3RhbF9jeWNsZXMsIGMtPnN1Y2NfZXBoX2dldHMsIGMtPnN1Y2NfcGVy c19wdXRzLCBjLT5zdWNjX3BlcnNfZ2V0cywKICAgICAgICAgdXNlX2xvbmcgPyAnLCcgOiAnXG4n KTsKICAgICBpZiAodXNlX2xvbmcpCkBAIC0yNjYsMTUgKzI2NiwxNSBAQCBzdGF0aWMgaW50IF9f dG1lbWNfc2V0X3ZhcihzdHJ1Y3QgY2xpZW50ICpjbGllbnQsIHVpbnQzMl90IHN1Ym9wLCB1aW50 MzJfdCBhcmcxKQogICAgIHN3aXRjaCAoc3Vib3ApCiAgICAgewogICAgIGNhc2UgWEVOX1NZU0NU TF9UTUVNX09QX1NFVF9XRUlHSFQ6Ci0gICAgICAgIG9sZF93ZWlnaHQgPSBjbGllbnQtPndlaWdo dDsKLSAgICAgICAgY2xpZW50LT53ZWlnaHQgPSBhcmcxOworICAgICAgICBvbGRfd2VpZ2h0ID0g Y2xpZW50LT5pbmZvLndlaWdodDsKKyAgICAgICAgY2xpZW50LT5pbmZvLndlaWdodCA9IGFyZzE7 CiAgICAgICAgIHRtZW1fY2xpZW50X2luZm8oInRtZW06IHdlaWdodCBzZXQgdG8gJWQgZm9yICVz PSVkXG4iLAogICAgICAgICAgICAgICAgICAgICAgICAgYXJnMSwgdG1lbV9jbGlfaWRfc3RyLCBj bGlfaWQpOwogICAgICAgICBhdG9taWNfc3ViKG9sZF93ZWlnaHQsJnRtZW1fZ2xvYmFsLmNsaWVu dF93ZWlnaHRfdG90YWwpOwotICAgICAgICBhdG9taWNfYWRkKGNsaWVudC0+d2VpZ2h0LCZ0bWVt X2dsb2JhbC5jbGllbnRfd2VpZ2h0X3RvdGFsKTsKKyAgICAgICAgYXRvbWljX2FkZChjbGllbnQt PmluZm8ud2VpZ2h0LCZ0bWVtX2dsb2JhbC5jbGllbnRfd2VpZ2h0X3RvdGFsKTsKICAgICAgICAg YnJlYWs7CiAgICAgY2FzZSBYRU5fU1lTQ1RMX1RNRU1fT1BfU0VUX0NPTVBSRVNTOgotICAgICAg ICBjbGllbnQtPmNvbXByZXNzID0gYXJnMSA/IDEgOiAwOworICAgICAgICBjbGllbnQtPmluZm8u ZmxhZ3MudS5jb21wcmVzcyA9IGFyZzEgPyAxIDogMDsKICAgICAgICAgdG1lbV9jbGllbnRfaW5m bygidG1lbTogY29tcHJlc3Npb24gJXMgZm9yICVzPSVkXG4iLAogICAgICAgICAgICAgYXJnMSA/ ICJlbmFibGVkIiA6ICJkaXNhYmxlZCIsdG1lbV9jbGlfaWRfc3RyLGNsaV9pZCk7CiAgICAgICAg IGJyZWFrOwpAQCAtMzI3LDEyICszMjcsMTIgQEAgc3RhdGljIGludCB0bWVtY19zYXZlX3N1Ym9w KGludCBjbGlfaWQsIHVpbnQzMl90IHBvb2xfaWQsCiAgICAgY2FzZSBYRU5fU1lTQ1RMX1RNRU1f T1BfU0FWRV9HRVRfQ0xJRU5UX1dFSUdIVDoKICAgICAgICAgaWYgKCBjbGllbnQgPT0gTlVMTCAp CiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgcmMgPSBjbGllbnQtPndlaWdodCA9PSAtMSA/ IC0yIDogY2xpZW50LT53ZWlnaHQ7CisgICAgICAgIHJjID0gY2xpZW50LT5pbmZvLndlaWdodCA9 PSAtMSA/IC0yIDogY2xpZW50LT5pbmZvLndlaWdodDsKICAgICAgICAgYnJlYWs7CiAgICAgY2Fz ZSBYRU5fU1lTQ1RMX1RNRU1fT1BfU0FWRV9HRVRfQ0xJRU5UX0ZMQUdTOgogICAgICAgICBpZiAo IGNsaWVudCA9PSBOVUxMICkKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICByYyA9IChjbGll bnQtPmNvbXByZXNzID8gVE1FTV9DTElFTlRfQ09NUFJFU1MgOiAwICkgfAorICAgICAgICByYyA9 IChjbGllbnQtPmluZm8uZmxhZ3MudS5jb21wcmVzcyA/IFRNRU1fQ0xJRU5UX0NPTVBSRVNTIDog MCApIHwKICAgICAgICAgICAgICAoY2xpZW50LT53YXNfZnJvemVuID8gVE1FTV9DTElFTlRfRlJP WkVOIDogMCApOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFhFTl9TWVNDVExfVE1FTV9PUF9T QVZFX0dFVF9QT09MX0ZMQUdTOgpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvcHVibGljL3N5c2N0 bC5oIGIveGVuL2luY2x1ZGUvcHVibGljL3N5c2N0bC5oCmluZGV4IDg0N2VjMzUuLmEyOWE4ZmEg MTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy9zeXNjdGwuaAorKysgYi94ZW4vaW5jbHVk ZS9wdWJsaWMvc3lzY3RsLmgKQEAgLTc4NSw2ICs3ODUsMjAgQEAgc3RydWN0IHRtZW1faGFuZGxl IHsKICAgICB4ZW5fdG1lbV9vaWRfdCBvaWQ7CiB9OwogCitzdHJ1Y3QgdG1lbV9jbGllbnQgewor ICAgIHVpbnQzMl90IHZlcnNpb247CisgICAgdWludDMyX3QgbWF4cG9vbHM7CisgICAgdW5pb24g eyAgICAgICAgICAgICAvKiBTZWUgVE1FTV9DTElFTlRfW0NPTVBSRVNTLEZST1pFTl0gKi8KKyAg ICAgICAgdWludDMyX3QgcmF3OworICAgICAgICBzdHJ1Y3QgeworICAgICAgICAgICAgdWludDhf dCBmcm96ZW46MSwKKyAgICAgICAgICAgICAgICAgICAgY29tcHJlc3M6MSwKKyAgICAgICAgICAg ICAgICAgICAgbWlncmF0aW5nOjE7CisgICAgICAgIH0gdTsKKyAgICB9IGZsYWdzOworICAgIHVp bnQzMl90IHdlaWdodDsKK307CisKIHN0cnVjdCB4ZW5fc3lzY3RsX3RtZW1fb3AgewogICAgIHVp bnQzMl90IGNtZDsgICAgICAgLyogSU46IFhFTl9TWVNDVExfVE1FTV9PUF8qIC4gKi8KICAgICBp bnQzMl90IHBvb2xfaWQ7ICAgIC8qIElOOiAwIGJ5IGRlZmF1bHQgdW5sZXNzIF9TQVZFXyosIFJF U1RPUkVfKiAuKi8KZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi90bWVtX3hlbi5oIGIveGVu L2luY2x1ZGUveGVuL3RtZW1feGVuLmgKaW5kZXggN2ExYmIwMy4uYzBlNzc2YyAxMDA2NDQKLS0t IGEveGVuL2luY2x1ZGUveGVuL3RtZW1feGVuLmgKKysrIGIveGVuL2luY2x1ZGUveGVuL3RtZW1f eGVuLmgKQEAgLTI5MywxMyArMjkzLDkgQEAgc3RydWN0IGNsaWVudCB7CiAgICAgc3RydWN0IGxp c3RfaGVhZCBlcGhlbWVyYWxfcGFnZV9saXN0OwogICAgIGxvbmcgZXBoX2NvdW50LCBlcGhfY291 bnRfbWF4OwogICAgIGRvbWlkX3QgY2xpX2lkOwotICAgIHVpbnQzMl90IHdlaWdodDsKLSAgICB1 aW50MzJfdCBjYXA7Ci0gICAgYm9vbF90IGNvbXByZXNzOwotICAgIGJvb2xfdCBmcm96ZW47Cisg ICAgc3RydWN0IHRtZW1fY2xpZW50IGluZm87CiAgICAgYm9vbF90IHNoYXJlZF9hdXRoX3JlcXVp cmVkOwogICAgIC8qIEZvciBzYXZlL3Jlc3RvcmUvbWlncmF0aW9uLiAqLwotICAgIGJvb2xfdCBs aXZlX21pZ3JhdGluZzsKICAgICBib29sX3Qgd2FzX2Zyb3plbjsKICAgICBzdHJ1Y3QgbGlzdF9o ZWFkIHBlcnNpc3RlbnRfaW52YWxpZGF0ZWRfbGlzdDsKICAgICBzdHJ1Y3QgdG1lbV9wYWdlX2Rl c2NyaXB0b3IgKmN1cl9wZ3A7Ci0tIAoyLjQuMTEKCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBs aXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK