From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH 50/60] xen/sched: prepare per-cpupool scheduling granularity Date: Tue, 28 May 2019 12:33:03 +0200 Message-ID: <20190528103313.1343-51-jgross@suse.com> References: <20190528103313.1343-1-jgross@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hVZQG-0004x2-A9 for xen-devel@lists.xenproject.org; Tue, 28 May 2019 10:33:36 +0000 In-Reply-To: <20190528103313.1343-1-jgross@suse.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Juergen Gross , Tim Deegan , Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , Dario Faggioli , Julien Grall , Jan Beulich List-Id: xen-devel@lists.xenproject.org T24tIGFuZCBvZmZsaW5pbmcgY3B1cyB3aXRoIGNvcmUgc2NoZWR1bGluZyBpcyByYXRoZXIgY29t cGxpY2F0ZWQgYXMKdGhlIGNwdXMgYXJlIHRha2VuIG9uLSBvciBvZmZsaW5lIG9uZSBieSBvbmUs IGJ1dCBzY2hlZHVsaW5nIHdhbnRzIHRoZW0KcmF0aGVyIHRvIGJlIGhhbmRsZWQgcGVyIGNvcmUu CgpBcyB0aGUgZnV0dXJlIHBsYW4gaXMgdG8gYmUgYWJsZSB0byBzZWxlY3Qgc2NoZWR1bGluZyBn cmFudWxhcml0eSBwZXIKY3B1cG9vbCBwcmVwYXJlIHRoYXQgYnkgc3RvcmluZyB0aGUgZ3JhbnVs YXJpdHkgaW4gc3RydWN0IGNwdXBvb2wgYW5kCnN0cnVjdCBzY2hlZF9yZXNvdXJjZSAod2UgbmVl ZCBpdCB0aGVyZSBmb3IgZnJlZSBjcHVzIHdoaWNoIGFyZSBub3QKYXNzb2NpYXRlZCB0byBhbnkg Y3B1cG9vbCkuIEZyZWUgY3B1cyB3aWxsIGFsd2F5cyB1c2UgZ3JhbnVsYXJpdHkgMS4KClN0b3Jl IHRoZSBzZWxlY3RlZCBncmFudWxhcml0eSBvcHRpb24gKGNwdSwgY29yZSBvciBzb2NrZXQpIGlu IHRoZQpjcHVwb29sIGFzIHdlbGwsIGFzIHdlIHdpbGwgbmVlZCBpdCB0byBzZWxlY3QgdGhlIGFw cHJvcHJpYXRlIGNwdSBtYXNrCndoZW4gcG9wdWxhdGluZyB0aGUgY3B1cG9vbCB3aXRoIGNwdXMu CgpUaGlzIHdpbGwgbWFrZSBvbi0gYW5kIG9mZmxpbmluZyBvZiBjcHVzIG11Y2ggZWFzaWVyIGFu ZCBhdm9pZHMKd3JpdGluZyBjb2RlIHdoaWNoIHdvdWxkIG5lZWRlZCB0byBiZSB0aHJvd24gYXdh eSBsYXRlci4KClNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4K LS0tClYxOiBuZXcgcGF0Y2gKLS0tCiB4ZW4vY29tbW9uL2NwdXBvb2wuYyAgICAgICB8ICAyICsr CiB4ZW4vY29tbW9uL3NjaGVkdWxlLmMgICAgICB8IDIzICsrKysrKysrKysrKysrKy0tLS0tLS0t CiB4ZW4vaW5jbHVkZS94ZW4vc2NoZWQtaWYuaCB8IDEyICsrKysrKysrKysrKwogMyBmaWxlcyBj aGFuZ2VkLCAyOSBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hl bi9jb21tb24vY3B1cG9vbC5jIGIveGVuL2NvbW1vbi9jcHVwb29sLmMKaW5kZXggYWEwNDI4Y2Rj MC4uNDAzMDM2YzA5MiAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9jcHVwb29sLmMKKysrIGIveGVu L2NvbW1vbi9jcHVwb29sLmMKQEAgLTE3Nyw2ICsxNzcsOCBAQCBzdGF0aWMgc3RydWN0IGNwdXBv b2wgKmNwdXBvb2xfY3JlYXRlKAogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0K ICAgICB9CisgICAgYy0+Z3JhbnVsYXJpdHkgPSBzY2hlZF9ncmFudWxhcml0eTsKKyAgICBjLT5v cHRfZ3JhbnVsYXJpdHkgPSBvcHRfc2NoZWRfZ3JhbnVsYXJpdHk7CiAKICAgICAqcSA9IGM7CiAK ZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vc2NoZWR1bGUuYyBiL3hlbi9jb21tb24vc2NoZWR1bGUu YwppbmRleCA4NjA3MjYyYTcxLi43ZmQ4M2ZmZDRlIDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL3Nj aGVkdWxlLmMKKysrIGIveGVuL2NvbW1vbi9zY2hlZHVsZS5jCkBAIC01Niw3ICs1Niw4IEBAIGlu dCBzY2hlZF9yYXRlbGltaXRfdXMgPSBTQ0hFRF9ERUZBVUxUX1JBVEVMSU1JVF9VUzsKIGludGVn ZXJfcGFyYW0oInNjaGVkX3JhdGVsaW1pdF91cyIsIHNjaGVkX3JhdGVsaW1pdF91cyk7CiAKIC8q IE51bWJlciBvZiB2Y3B1cyBwZXIgc3RydWN0IHNjaGVkX3VuaXQuICovCi1zdGF0aWMgdW5zaWdu ZWQgaW50IHNjaGVkX2dyYW51bGFyaXR5ID0gMTsKK2VudW0gc2NoZWRfZ3JhbiBvcHRfc2NoZWRf Z3JhbnVsYXJpdHkgPSBTQ0hFRF9HUkFOX2NwdTsKK3Vuc2lnbmVkIGludCBzY2hlZF9ncmFudWxh cml0eSA9IDE7CiBib29sIHNjaGVkX2Rpc2FibGVfc210X3N3aXRjaGluZzsKIGNvbnN0IGNwdW1h c2tfdCAqc2NoZWRfcmVzX21hc2sgPSAmY3B1bWFza19hbGw7CiAKQEAgLTM1MCwxMCArMzUxLDEw IEBAIHN0YXRpYyBzdHJ1Y3Qgc2NoZWRfdW5pdCAqc2NoZWRfYWxsb2NfdW5pdChzdHJ1Y3QgdmNw dSAqdikKIHsKICAgICBzdHJ1Y3Qgc2NoZWRfdW5pdCAqdW5pdCwgKipwcmV2X3VuaXQ7CiAgICAg c3RydWN0IGRvbWFpbiAqZCA9IHYtPmRvbWFpbjsKKyAgICB1bnNpZ25lZCBpbnQgZ3JhbiA9IGQt PmNwdXBvb2wgPyBkLT5jcHVwb29sLT5ncmFudWxhcml0eSA6IDE7CiAKICAgICBmb3JfZWFjaF9z Y2hlZF91bml0ICggZCwgdW5pdCApCi0gICAgICAgIGlmICggdW5pdC0+dmNwdS0+dmNwdV9pZCAv IHNjaGVkX2dyYW51bGFyaXR5ID09Ci0gICAgICAgICAgICAgdi0+dmNwdV9pZCAvIHNjaGVkX2dy YW51bGFyaXR5ICkKKyAgICAgICAgaWYgKCB1bml0LT52Y3B1LT52Y3B1X2lkIC8gZ3JhbiA9PSB2 LT52Y3B1X2lkIC8gZ3JhbiApCiAgICAgICAgICAgICBicmVhazsKIAogICAgIGlmICggdW5pdCAp CkBAIC0xNjk2LDExICsxNjk3LDExIEBAIHN0YXRpYyB2b2lkIHNjaGVkX3N3aXRjaF91bml0cyhz dHJ1Y3Qgc2NoZWRfcmVzb3VyY2UgKnNkLAogICAgICAgICBpZiAoIGlzX2lkbGVfdW5pdChwcmV2 KSApCiAgICAgICAgIHsKICAgICAgICAgICAgIHByZXYtPnJ1bnN0YXRlX2NudFtSVU5TVEFURV9y dW5uaW5nXSA9IDA7Ci0gICAgICAgICAgICBwcmV2LT5ydW5zdGF0ZV9jbnRbUlVOU1RBVEVfcnVu bmFibGVdID0gc2NoZWRfZ3JhbnVsYXJpdHk7CisgICAgICAgICAgICBwcmV2LT5ydW5zdGF0ZV9j bnRbUlVOU1RBVEVfcnVubmFibGVdID0gMTsKICAgICAgICAgfQogICAgICAgICBpZiAoIGlzX2lk bGVfdW5pdChuZXh0KSApCiAgICAgICAgIHsKLSAgICAgICAgICAgIG5leHQtPnJ1bnN0YXRlX2Nu dFtSVU5TVEFURV9ydW5uaW5nXSA9IHNjaGVkX2dyYW51bGFyaXR5OworICAgICAgICAgICAgbmV4 dC0+cnVuc3RhdGVfY250W1JVTlNUQVRFX3J1bm5pbmddID0gMTsKICAgICAgICAgICAgIG5leHQt PnJ1bnN0YXRlX2NudFtSVU5TVEFURV9ydW5uYWJsZV0gPSAwOwogICAgICAgICB9CiAgICAgfQpA QCAtMTk0NiwxMSArMTk0NywxMiBAQCBzdGF0aWMgc3RydWN0IHNjaGVkX3VuaXQgKnNjaGVkX3dh aXRfcmVuZGV6dm91c19pbihzdHJ1Y3Qgc2NoZWRfdW5pdCAqcHJldiwKIHsKICAgICBzdHJ1Y3Qg c2NoZWRfdW5pdCAqbmV4dDsKICAgICBzdHJ1Y3QgdmNwdSAqdjsKKyAgICB1bnNpZ25lZCBpbnQg Z3JhbiA9IGdldF9zY2hlZF9yZXMoY3B1KS0+Z3JhbnVsYXJpdHk7CiAKICAgICBpZiAoICEtLXBy ZXYtPnJlbmRlenZvdXNfaW5fY250ICkKICAgICB7CiAgICAgICAgIG5leHQgPSBkb19zY2hlZHVs ZShwcmV2LCBub3csIGNwdSk7Ci0gICAgICAgIGF0b21pY19zZXQoJm5leHQtPnJlbmRlenZvdXNf b3V0X2NudCwgc2NoZWRfZ3JhbnVsYXJpdHkgKyAxKTsKKyAgICAgICAgYXRvbWljX3NldCgmbmV4 dC0+cmVuZGV6dm91c19vdXRfY250LCBncmFuICsgMSk7CiAgICAgICAgIHJldHVybiBuZXh0Owog ICAgIH0KIApAQCAtMjA1NCw2ICsyMDU2LDcgQEAgc3RhdGljIHZvaWQgc2NoZWR1bGUodm9pZCkK ICAgICBzdHJ1Y3Qgc2NoZWRfcmVzb3VyY2UgKnNkOwogICAgIHNwaW5sb2NrX3QgICAgICAgICAg ICpsb2NrOwogICAgIGludCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CisgICAgdW5zaWduZWQg aW50ICAgICAgICAgIGdyYW4gPSBnZXRfc2NoZWRfcmVzKGNwdSktPmdyYW51bGFyaXR5OwogCiAg ICAgQVNTRVJUX05PVF9JTl9BVE9NSUMoKTsKIApAQCAtMjA3OSwxMSArMjA4MiwxMSBAQCBzdGF0 aWMgdm9pZCBzY2hlZHVsZSh2b2lkKQogCiAgICAgc3RvcF90aW1lcigmc2QtPnNfdGltZXIpOwog Ci0gICAgaWYgKCBzY2hlZF9ncmFudWxhcml0eSA+IDEgKQorICAgIGlmICggZ3JhbiA+IDEgKQog ICAgIHsKICAgICAgICAgY3B1bWFza190IG1hc2s7CiAKLSAgICAgICAgcHJldi0+cmVuZGV6dm91 c19pbl9jbnQgPSBzY2hlZF9ncmFudWxhcml0eTsKKyAgICAgICAgcHJldi0+cmVuZGV6dm91c19p bl9jbnQgPSBncmFuOwogICAgICAgICBjcHVtYXNrX2FuZG5vdCgmbWFzaywgc2QtPmNwdXMsIGNw dW1hc2tfb2YoY3B1KSk7CiAgICAgICAgIGNwdW1hc2tfcmFpc2Vfc29mdGlycSgmbWFzaywgU0NI RURfU0xBVkVfU09GVElSUSk7CiAgICAgICAgIG5leHQgPSBzY2hlZF93YWl0X3JlbmRlenZvdXNf aW4ocHJldiwgbG9jaywgY3B1LCBub3cpOwpAQCAtMjE1MCw2ICsyMTUzLDkgQEAgc3RhdGljIGlu dCBjcHVfc2NoZWR1bGVfdXAodW5zaWduZWQgaW50IGNwdSkKICAgICBpbml0X3RpbWVyKCZzZC0+ c190aW1lciwgc190aW1lcl9mbiwgTlVMTCwgY3B1KTsKICAgICBhdG9taWNfc2V0KCZzZC0+dXJn ZW50X2NvdW50LCAwKTsKIAorICAgIC8qIFdlIHN0YXJ0IHdpdGggY3B1IGdyYW51bGFyaXR5LiAq LworICAgIHNkLT5ncmFudWxhcml0eSA9IDE7CisKICAgICAvKiBCb290IENQVSBpcyBkZWFsdCB3 aXRoIGxhdGVyIGluIHNjaGVkdWxlX2luaXQoKS4gKi8KICAgICBpZiAoIGNwdSA9PSAwICkKICAg ICAgICAgcmV0dXJuIDA7CkBAIC0yNDk1LDYgKzI1MDEsNyBAQCBpbnQgc2NoZWR1bGVfY3B1X3N3 aXRjaCh1bnNpZ25lZCBpbnQgY3B1LCBzdHJ1Y3QgY3B1cG9vbCAqYykKICAgICBzY2hlZF9mcmVl X3BkYXRhKG9sZF9vcHMsIHBwcml2X29sZCwgY3B1KTsKIAogIG91dDoKKyAgICBnZXRfc2NoZWRf cmVzKGNwdSktPmdyYW51bGFyaXR5ID0gYyA/IGMtPmdyYW51bGFyaXR5IDogMTsKICAgICBnZXRf c2NoZWRfcmVzKGNwdSktPmNwdXBvb2wgPSBjOwogICAgIC8qIFdoZW4gYSBjcHUgaXMgYWRkZWQg dG8gYSBwb29sLCB0cmlnZ2VyIGl0IHRvIGdvIHBpY2sgdXAgc29tZSB3b3JrICovCiAgICAgaWYg KCBjICE9IE5VTEwgKQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL3NjaGVkLWlmLmggYi94 ZW4vaW5jbHVkZS94ZW4vc2NoZWQtaWYuaAppbmRleCBmNzVmOTY3M2U5Li5hMGYxMWQwYzE1IDEw MDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vc2NoZWQtaWYuaAorKysgYi94ZW4vaW5jbHVkZS94 ZW4vc2NoZWQtaWYuaApAQCAtMjUsNiArMjUsMTUgQEAgZXh0ZXJuIGludCBzY2hlZF9yYXRlbGlt aXRfdXM7CiAvKiBTY2hlZHVsaW5nIHJlc291cmNlIG1hc2suICovCiBleHRlcm4gY29uc3QgY3B1 bWFza190ICpzY2hlZF9yZXNfbWFzazsKIAorLyogTnVtYmVyIG9mIHZjcHVzIHBlciBzdHJ1Y3Qg c2NoZWRfdW5pdC4gKi8KK2VudW0gc2NoZWRfZ3JhbiB7CisgICAgU0NIRURfR1JBTl9jcHUsCisg ICAgU0NIRURfR1JBTl9jb3JlLAorICAgIFNDSEVEX0dSQU5fc29ja2V0Cit9OworZXh0ZXJuIGVu dW0gc2NoZWRfZ3JhbiBvcHRfc2NoZWRfZ3JhbnVsYXJpdHk7CitleHRlcm4gdW5zaWduZWQgaW50 IHNjaGVkX2dyYW51bGFyaXR5OworCiAvKgogICogSW4gb3JkZXIgdG8gYWxsb3cgYSBzY2hlZHVs ZXIgdG8gcmVtYXAgdGhlIGxvY2stPmNwdSBtYXBwaW5nLAogICogd2UgaGF2ZSBhIHBlci1jcHUg cG9pbnRlciwgYWxvbmcgd2l0aCBhIHByZS1hbGxvY2F0ZWQgc2V0IG9mCkBAIC00Nyw2ICs1Niw3 IEBAIHN0cnVjdCBzY2hlZF9yZXNvdXJjZSB7CiAgICAgc3RydWN0IHRpbWVyICAgICAgICBzX3Rp bWVyOyAgICAgICAgLyogc2NoZWR1bGluZyB0aW1lciAgICAgICAgICAgICAgICAqLwogICAgIGF0 b21pY190ICAgICAgICAgICAgdXJnZW50X2NvdW50OyAgIC8qIGhvdyBtYW55IHVyZ2VudCB2Y3B1 cyAgICAgICAgICAgKi8KICAgICB1bnNpZ25lZCBpbnQgICAgICAgIHByb2Nlc3NvcjsKKyAgICB1 bnNpZ25lZCBpbnQgICAgICAgIGdyYW51bGFyaXR5OwogICAgIGNvbnN0IGNwdW1hc2tfdCAgICAq Y3B1czsgICAgICAgICAgIC8qIGNwdXMgY292ZXJlZCBieSB0aGlzIHN0cnVjdCAgICAgKi8KIH07 CiAKQEAgLTUyMCw2ICs1MzAsOCBAQCBzdHJ1Y3QgY3B1cG9vbAogICAgIHVuc2lnbmVkIGludCAg ICAgbl9kb207CiAgICAgc3RydWN0IHNjaGVkdWxlciAqc2NoZWQ7CiAgICAgYXRvbWljX3QgICAg ICAgICByZWZjbnQ7CisgICAgdW5zaWduZWQgaW50ICAgICBncmFudWxhcml0eTsKKyAgICBlbnVt IHNjaGVkX2dyYW4gIG9wdF9ncmFudWxhcml0eTsKIH07CiAKICNkZWZpbmUgY3B1cG9vbF9vbmxp bmVfY3B1bWFzayhfcG9vbCkgXAotLSAKMi4xNi40CgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxA bGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFu L2xpc3RpbmZvL3hlbi1kZXZlbA== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id F38B0C04E84 for ; Tue, 28 May 2019 10:34:42 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D06A62075C for ; Tue, 28 May 2019 10:34:42 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D06A62075C Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=suse.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hVZR7-0006oO-8H; Tue, 28 May 2019 10:34:29 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hVZQG-0004x2-A9 for xen-devel@lists.xenproject.org; Tue, 28 May 2019 10:33:36 +0000 X-Inumbo-ID: 08e80b5e-8134-11e9-8980-bc764e045a96 Received: from mx1.suse.de (unknown [195.135.220.15]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS id 08e80b5e-8134-11e9-8980-bc764e045a96; Tue, 28 May 2019 10:33:30 +0000 (UTC) X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id 951E1B07B; Tue, 28 May 2019 10:33:29 +0000 (UTC) From: Juergen Gross To: xen-devel@lists.xenproject.org Date: Tue, 28 May 2019 12:33:03 +0200 Message-Id: <20190528103313.1343-51-jgross@suse.com> X-Mailer: git-send-email 2.16.4 In-Reply-To: <20190528103313.1343-1-jgross@suse.com> References: <20190528103313.1343-1-jgross@suse.com> Subject: [Xen-devel] [PATCH 50/60] xen/sched: prepare per-cpupool scheduling granularity X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Juergen Gross , Tim Deegan , Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , Dario Faggioli , Julien Grall , Jan Beulich MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" Message-ID: <20190528103303.0z7aEVTVFh9SyBpdCX90xTli_aCVnAg-v3ooFxeJt14@z> T24tIGFuZCBvZmZsaW5pbmcgY3B1cyB3aXRoIGNvcmUgc2NoZWR1bGluZyBpcyByYXRoZXIgY29t cGxpY2F0ZWQgYXMKdGhlIGNwdXMgYXJlIHRha2VuIG9uLSBvciBvZmZsaW5lIG9uZSBieSBvbmUs IGJ1dCBzY2hlZHVsaW5nIHdhbnRzIHRoZW0KcmF0aGVyIHRvIGJlIGhhbmRsZWQgcGVyIGNvcmUu CgpBcyB0aGUgZnV0dXJlIHBsYW4gaXMgdG8gYmUgYWJsZSB0byBzZWxlY3Qgc2NoZWR1bGluZyBn cmFudWxhcml0eSBwZXIKY3B1cG9vbCBwcmVwYXJlIHRoYXQgYnkgc3RvcmluZyB0aGUgZ3JhbnVs YXJpdHkgaW4gc3RydWN0IGNwdXBvb2wgYW5kCnN0cnVjdCBzY2hlZF9yZXNvdXJjZSAod2UgbmVl ZCBpdCB0aGVyZSBmb3IgZnJlZSBjcHVzIHdoaWNoIGFyZSBub3QKYXNzb2NpYXRlZCB0byBhbnkg Y3B1cG9vbCkuIEZyZWUgY3B1cyB3aWxsIGFsd2F5cyB1c2UgZ3JhbnVsYXJpdHkgMS4KClN0b3Jl IHRoZSBzZWxlY3RlZCBncmFudWxhcml0eSBvcHRpb24gKGNwdSwgY29yZSBvciBzb2NrZXQpIGlu IHRoZQpjcHVwb29sIGFzIHdlbGwsIGFzIHdlIHdpbGwgbmVlZCBpdCB0byBzZWxlY3QgdGhlIGFw cHJvcHJpYXRlIGNwdSBtYXNrCndoZW4gcG9wdWxhdGluZyB0aGUgY3B1cG9vbCB3aXRoIGNwdXMu CgpUaGlzIHdpbGwgbWFrZSBvbi0gYW5kIG9mZmxpbmluZyBvZiBjcHVzIG11Y2ggZWFzaWVyIGFu ZCBhdm9pZHMKd3JpdGluZyBjb2RlIHdoaWNoIHdvdWxkIG5lZWRlZCB0byBiZSB0aHJvd24gYXdh eSBsYXRlci4KClNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4K LS0tClYxOiBuZXcgcGF0Y2gKLS0tCiB4ZW4vY29tbW9uL2NwdXBvb2wuYyAgICAgICB8ICAyICsr CiB4ZW4vY29tbW9uL3NjaGVkdWxlLmMgICAgICB8IDIzICsrKysrKysrKysrKysrKy0tLS0tLS0t CiB4ZW4vaW5jbHVkZS94ZW4vc2NoZWQtaWYuaCB8IDEyICsrKysrKysrKysrKwogMyBmaWxlcyBj aGFuZ2VkLCAyOSBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hl bi9jb21tb24vY3B1cG9vbC5jIGIveGVuL2NvbW1vbi9jcHVwb29sLmMKaW5kZXggYWEwNDI4Y2Rj MC4uNDAzMDM2YzA5MiAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9jcHVwb29sLmMKKysrIGIveGVu L2NvbW1vbi9jcHVwb29sLmMKQEAgLTE3Nyw2ICsxNzcsOCBAQCBzdGF0aWMgc3RydWN0IGNwdXBv b2wgKmNwdXBvb2xfY3JlYXRlKAogICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgIH0K ICAgICB9CisgICAgYy0+Z3JhbnVsYXJpdHkgPSBzY2hlZF9ncmFudWxhcml0eTsKKyAgICBjLT5v cHRfZ3JhbnVsYXJpdHkgPSBvcHRfc2NoZWRfZ3JhbnVsYXJpdHk7CiAKICAgICAqcSA9IGM7CiAK ZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vc2NoZWR1bGUuYyBiL3hlbi9jb21tb24vc2NoZWR1bGUu YwppbmRleCA4NjA3MjYyYTcxLi43ZmQ4M2ZmZDRlIDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL3Nj aGVkdWxlLmMKKysrIGIveGVuL2NvbW1vbi9zY2hlZHVsZS5jCkBAIC01Niw3ICs1Niw4IEBAIGlu dCBzY2hlZF9yYXRlbGltaXRfdXMgPSBTQ0hFRF9ERUZBVUxUX1JBVEVMSU1JVF9VUzsKIGludGVn ZXJfcGFyYW0oInNjaGVkX3JhdGVsaW1pdF91cyIsIHNjaGVkX3JhdGVsaW1pdF91cyk7CiAKIC8q IE51bWJlciBvZiB2Y3B1cyBwZXIgc3RydWN0IHNjaGVkX3VuaXQuICovCi1zdGF0aWMgdW5zaWdu ZWQgaW50IHNjaGVkX2dyYW51bGFyaXR5ID0gMTsKK2VudW0gc2NoZWRfZ3JhbiBvcHRfc2NoZWRf Z3JhbnVsYXJpdHkgPSBTQ0hFRF9HUkFOX2NwdTsKK3Vuc2lnbmVkIGludCBzY2hlZF9ncmFudWxh cml0eSA9IDE7CiBib29sIHNjaGVkX2Rpc2FibGVfc210X3N3aXRjaGluZzsKIGNvbnN0IGNwdW1h c2tfdCAqc2NoZWRfcmVzX21hc2sgPSAmY3B1bWFza19hbGw7CiAKQEAgLTM1MCwxMCArMzUxLDEw IEBAIHN0YXRpYyBzdHJ1Y3Qgc2NoZWRfdW5pdCAqc2NoZWRfYWxsb2NfdW5pdChzdHJ1Y3QgdmNw dSAqdikKIHsKICAgICBzdHJ1Y3Qgc2NoZWRfdW5pdCAqdW5pdCwgKipwcmV2X3VuaXQ7CiAgICAg c3RydWN0IGRvbWFpbiAqZCA9IHYtPmRvbWFpbjsKKyAgICB1bnNpZ25lZCBpbnQgZ3JhbiA9IGQt PmNwdXBvb2wgPyBkLT5jcHVwb29sLT5ncmFudWxhcml0eSA6IDE7CiAKICAgICBmb3JfZWFjaF9z Y2hlZF91bml0ICggZCwgdW5pdCApCi0gICAgICAgIGlmICggdW5pdC0+dmNwdS0+dmNwdV9pZCAv IHNjaGVkX2dyYW51bGFyaXR5ID09Ci0gICAgICAgICAgICAgdi0+dmNwdV9pZCAvIHNjaGVkX2dy YW51bGFyaXR5ICkKKyAgICAgICAgaWYgKCB1bml0LT52Y3B1LT52Y3B1X2lkIC8gZ3JhbiA9PSB2 LT52Y3B1X2lkIC8gZ3JhbiApCiAgICAgICAgICAgICBicmVhazsKIAogICAgIGlmICggdW5pdCAp CkBAIC0xNjk2LDExICsxNjk3LDExIEBAIHN0YXRpYyB2b2lkIHNjaGVkX3N3aXRjaF91bml0cyhz dHJ1Y3Qgc2NoZWRfcmVzb3VyY2UgKnNkLAogICAgICAgICBpZiAoIGlzX2lkbGVfdW5pdChwcmV2 KSApCiAgICAgICAgIHsKICAgICAgICAgICAgIHByZXYtPnJ1bnN0YXRlX2NudFtSVU5TVEFURV9y dW5uaW5nXSA9IDA7Ci0gICAgICAgICAgICBwcmV2LT5ydW5zdGF0ZV9jbnRbUlVOU1RBVEVfcnVu bmFibGVdID0gc2NoZWRfZ3JhbnVsYXJpdHk7CisgICAgICAgICAgICBwcmV2LT5ydW5zdGF0ZV9j bnRbUlVOU1RBVEVfcnVubmFibGVdID0gMTsKICAgICAgICAgfQogICAgICAgICBpZiAoIGlzX2lk bGVfdW5pdChuZXh0KSApCiAgICAgICAgIHsKLSAgICAgICAgICAgIG5leHQtPnJ1bnN0YXRlX2Nu dFtSVU5TVEFURV9ydW5uaW5nXSA9IHNjaGVkX2dyYW51bGFyaXR5OworICAgICAgICAgICAgbmV4 dC0+cnVuc3RhdGVfY250W1JVTlNUQVRFX3J1bm5pbmddID0gMTsKICAgICAgICAgICAgIG5leHQt PnJ1bnN0YXRlX2NudFtSVU5TVEFURV9ydW5uYWJsZV0gPSAwOwogICAgICAgICB9CiAgICAgfQpA QCAtMTk0NiwxMSArMTk0NywxMiBAQCBzdGF0aWMgc3RydWN0IHNjaGVkX3VuaXQgKnNjaGVkX3dh aXRfcmVuZGV6dm91c19pbihzdHJ1Y3Qgc2NoZWRfdW5pdCAqcHJldiwKIHsKICAgICBzdHJ1Y3Qg c2NoZWRfdW5pdCAqbmV4dDsKICAgICBzdHJ1Y3QgdmNwdSAqdjsKKyAgICB1bnNpZ25lZCBpbnQg Z3JhbiA9IGdldF9zY2hlZF9yZXMoY3B1KS0+Z3JhbnVsYXJpdHk7CiAKICAgICBpZiAoICEtLXBy ZXYtPnJlbmRlenZvdXNfaW5fY250ICkKICAgICB7CiAgICAgICAgIG5leHQgPSBkb19zY2hlZHVs ZShwcmV2LCBub3csIGNwdSk7Ci0gICAgICAgIGF0b21pY19zZXQoJm5leHQtPnJlbmRlenZvdXNf b3V0X2NudCwgc2NoZWRfZ3JhbnVsYXJpdHkgKyAxKTsKKyAgICAgICAgYXRvbWljX3NldCgmbmV4 dC0+cmVuZGV6dm91c19vdXRfY250LCBncmFuICsgMSk7CiAgICAgICAgIHJldHVybiBuZXh0Owog ICAgIH0KIApAQCAtMjA1NCw2ICsyMDU2LDcgQEAgc3RhdGljIHZvaWQgc2NoZWR1bGUodm9pZCkK ICAgICBzdHJ1Y3Qgc2NoZWRfcmVzb3VyY2UgKnNkOwogICAgIHNwaW5sb2NrX3QgICAgICAgICAg ICpsb2NrOwogICAgIGludCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7CisgICAgdW5zaWduZWQg aW50ICAgICAgICAgIGdyYW4gPSBnZXRfc2NoZWRfcmVzKGNwdSktPmdyYW51bGFyaXR5OwogCiAg ICAgQVNTRVJUX05PVF9JTl9BVE9NSUMoKTsKIApAQCAtMjA3OSwxMSArMjA4MiwxMSBAQCBzdGF0 aWMgdm9pZCBzY2hlZHVsZSh2b2lkKQogCiAgICAgc3RvcF90aW1lcigmc2QtPnNfdGltZXIpOwog Ci0gICAgaWYgKCBzY2hlZF9ncmFudWxhcml0eSA+IDEgKQorICAgIGlmICggZ3JhbiA+IDEgKQog ICAgIHsKICAgICAgICAgY3B1bWFza190IG1hc2s7CiAKLSAgICAgICAgcHJldi0+cmVuZGV6dm91 c19pbl9jbnQgPSBzY2hlZF9ncmFudWxhcml0eTsKKyAgICAgICAgcHJldi0+cmVuZGV6dm91c19p bl9jbnQgPSBncmFuOwogICAgICAgICBjcHVtYXNrX2FuZG5vdCgmbWFzaywgc2QtPmNwdXMsIGNw dW1hc2tfb2YoY3B1KSk7CiAgICAgICAgIGNwdW1hc2tfcmFpc2Vfc29mdGlycSgmbWFzaywgU0NI RURfU0xBVkVfU09GVElSUSk7CiAgICAgICAgIG5leHQgPSBzY2hlZF93YWl0X3JlbmRlenZvdXNf aW4ocHJldiwgbG9jaywgY3B1LCBub3cpOwpAQCAtMjE1MCw2ICsyMTUzLDkgQEAgc3RhdGljIGlu dCBjcHVfc2NoZWR1bGVfdXAodW5zaWduZWQgaW50IGNwdSkKICAgICBpbml0X3RpbWVyKCZzZC0+ c190aW1lciwgc190aW1lcl9mbiwgTlVMTCwgY3B1KTsKICAgICBhdG9taWNfc2V0KCZzZC0+dXJn ZW50X2NvdW50LCAwKTsKIAorICAgIC8qIFdlIHN0YXJ0IHdpdGggY3B1IGdyYW51bGFyaXR5LiAq LworICAgIHNkLT5ncmFudWxhcml0eSA9IDE7CisKICAgICAvKiBCb290IENQVSBpcyBkZWFsdCB3 aXRoIGxhdGVyIGluIHNjaGVkdWxlX2luaXQoKS4gKi8KICAgICBpZiAoIGNwdSA9PSAwICkKICAg ICAgICAgcmV0dXJuIDA7CkBAIC0yNDk1LDYgKzI1MDEsNyBAQCBpbnQgc2NoZWR1bGVfY3B1X3N3 aXRjaCh1bnNpZ25lZCBpbnQgY3B1LCBzdHJ1Y3QgY3B1cG9vbCAqYykKICAgICBzY2hlZF9mcmVl X3BkYXRhKG9sZF9vcHMsIHBwcml2X29sZCwgY3B1KTsKIAogIG91dDoKKyAgICBnZXRfc2NoZWRf cmVzKGNwdSktPmdyYW51bGFyaXR5ID0gYyA/IGMtPmdyYW51bGFyaXR5IDogMTsKICAgICBnZXRf c2NoZWRfcmVzKGNwdSktPmNwdXBvb2wgPSBjOwogICAgIC8qIFdoZW4gYSBjcHUgaXMgYWRkZWQg dG8gYSBwb29sLCB0cmlnZ2VyIGl0IHRvIGdvIHBpY2sgdXAgc29tZSB3b3JrICovCiAgICAgaWYg KCBjICE9IE5VTEwgKQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL3NjaGVkLWlmLmggYi94 ZW4vaW5jbHVkZS94ZW4vc2NoZWQtaWYuaAppbmRleCBmNzVmOTY3M2U5Li5hMGYxMWQwYzE1IDEw MDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vc2NoZWQtaWYuaAorKysgYi94ZW4vaW5jbHVkZS94 ZW4vc2NoZWQtaWYuaApAQCAtMjUsNiArMjUsMTUgQEAgZXh0ZXJuIGludCBzY2hlZF9yYXRlbGlt aXRfdXM7CiAvKiBTY2hlZHVsaW5nIHJlc291cmNlIG1hc2suICovCiBleHRlcm4gY29uc3QgY3B1 bWFza190ICpzY2hlZF9yZXNfbWFzazsKIAorLyogTnVtYmVyIG9mIHZjcHVzIHBlciBzdHJ1Y3Qg c2NoZWRfdW5pdC4gKi8KK2VudW0gc2NoZWRfZ3JhbiB7CisgICAgU0NIRURfR1JBTl9jcHUsCisg ICAgU0NIRURfR1JBTl9jb3JlLAorICAgIFNDSEVEX0dSQU5fc29ja2V0Cit9OworZXh0ZXJuIGVu dW0gc2NoZWRfZ3JhbiBvcHRfc2NoZWRfZ3JhbnVsYXJpdHk7CitleHRlcm4gdW5zaWduZWQgaW50 IHNjaGVkX2dyYW51bGFyaXR5OworCiAvKgogICogSW4gb3JkZXIgdG8gYWxsb3cgYSBzY2hlZHVs ZXIgdG8gcmVtYXAgdGhlIGxvY2stPmNwdSBtYXBwaW5nLAogICogd2UgaGF2ZSBhIHBlci1jcHUg cG9pbnRlciwgYWxvbmcgd2l0aCBhIHByZS1hbGxvY2F0ZWQgc2V0IG9mCkBAIC00Nyw2ICs1Niw3 IEBAIHN0cnVjdCBzY2hlZF9yZXNvdXJjZSB7CiAgICAgc3RydWN0IHRpbWVyICAgICAgICBzX3Rp bWVyOyAgICAgICAgLyogc2NoZWR1bGluZyB0aW1lciAgICAgICAgICAgICAgICAqLwogICAgIGF0 b21pY190ICAgICAgICAgICAgdXJnZW50X2NvdW50OyAgIC8qIGhvdyBtYW55IHVyZ2VudCB2Y3B1 cyAgICAgICAgICAgKi8KICAgICB1bnNpZ25lZCBpbnQgICAgICAgIHByb2Nlc3NvcjsKKyAgICB1 bnNpZ25lZCBpbnQgICAgICAgIGdyYW51bGFyaXR5OwogICAgIGNvbnN0IGNwdW1hc2tfdCAgICAq Y3B1czsgICAgICAgICAgIC8qIGNwdXMgY292ZXJlZCBieSB0aGlzIHN0cnVjdCAgICAgKi8KIH07 CiAKQEAgLTUyMCw2ICs1MzAsOCBAQCBzdHJ1Y3QgY3B1cG9vbAogICAgIHVuc2lnbmVkIGludCAg ICAgbl9kb207CiAgICAgc3RydWN0IHNjaGVkdWxlciAqc2NoZWQ7CiAgICAgYXRvbWljX3QgICAg ICAgICByZWZjbnQ7CisgICAgdW5zaWduZWQgaW50ICAgICBncmFudWxhcml0eTsKKyAgICBlbnVt IHNjaGVkX2dyYW4gIG9wdF9ncmFudWxhcml0eTsKIH07CiAKICNkZWZpbmUgY3B1cG9vbF9vbmxp bmVfY3B1bWFzayhfcG9vbCkgXAotLSAKMi4xNi40CgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxA bGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFu L2xpc3RpbmZvL3hlbi1kZXZlbA==