From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH 14/60] xen/sched: add scheduler helpers hiding vcpu Date: Tue, 28 May 2019 12:32:27 +0200 Message-ID: <20190528103313.1343-15-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 all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hVZQ5-0004by-N1 for xen-devel@lists.xenproject.org; Tue, 28 May 2019 10:33:25 +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 QWRkIHRoZSBmb2xsb3dpbmcgaGVscGVycyB1c2luZyBhIHNjaGVkX3VuaXQgYXMgaW5wdXQgaW5z dGVhZCBvZiBhCnZjcHU6CgotIGlzX2lkbGVfdW5pdCgpIHNpbWlsYXIgdG8gaXNfaWRsZV92Y3B1 KCkKLSB1bml0X3J1bm5hYmxlKCkgbGlrZSB2Y3B1X3J1bm5hYmxlKCkKLSBzY2hlZF9zZXRfcmVz KCkgdG8gc2V0IHRoZSBjdXJyZW50IHByb2Nlc3NvciBvZiBhbiB1bml0Ci0gc2NoZWRfdW5pdF9j cHUoKSB0byBnZXQgdGhlIGN1cnJlbnQgcHJvY2Vzc29yIG9mIGFuIHVuaXQKLSBzY2hlZF97c2V0 fGNsZWFyfV9wYXVzZV9mbGFnc1tfYXRvbWljXSgpIHRvIG1vZGlmeSBwYXVzZV9mbGFncyBvZiB0 aGUKICBhc3NvY2lhdGVkIHZjcHUocykKLSBzY2hlZF9pZGxlX3VuaXQoKSB0byBnZXQgdGhlIHNj aGVkX3VuaXQgcG9pbnRlciBvZiB0aGUgaWRsZSB2Y3B1IG9mIGEKICBzcGVjaWZpYyBwaHlzaWNh bCBjcHUKClNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4KLS0t CiB4ZW4vY29tbW9uL3NjaGVkX2NyZWRpdC5jICB8ICAzICstLQogeGVuL2NvbW1vbi9zY2hlZHVs ZS5jICAgICAgfCAxOSArKysrKysrKy0tLS0tLS0tCiB4ZW4vaW5jbHVkZS94ZW4vc2NoZWQtaWYu aCB8IDU2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0KIDMg ZmlsZXMgY2hhbmdlZCwgNjIgaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEveGVuL2NvbW1vbi9zY2hlZF9jcmVkaXQuYyBiL3hlbi9jb21tb24vc2NoZWRfY3JlZGl0 LmMKaW5kZXggZmZhYzJmNGJiYi4uM2YwMDI3NzFkYSAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9z Y2hlZF9jcmVkaXQuYworKysgYi94ZW4vY29tbW9uL3NjaGVkX2NyZWRpdC5jCkBAIC0xNjY1LDgg KzE2NjUsNyBAQCBjc2NoZWRfcnVucV9zdGVhbChpbnQgcGVlcl9jcHUsIGludCBjcHUsIGludCBw cmksIGludCBiYWxhbmNlX3N0ZXApCiAgICAgICAgICAgICBTQ0hFRF9TVEFUX0NSQU5LKG1pZ3Jh dGVfcXVldWVkKTsKICAgICAgICAgICAgIFdBUk5fT04odmMtPmlzX3VyZ2VudCk7CiAgICAgICAg ICAgICBydW5xX3JlbW92ZShzcGVlcik7Ci0gICAgICAgICAgICB2Yy0+cHJvY2Vzc29yID0gY3B1 OwotICAgICAgICAgICAgdmMtPnNjaGVkX3VuaXQtPnJlcyA9IGdldF9zY2hlZF9yZXMoY3B1KTsK KyAgICAgICAgICAgIHNjaGVkX3NldF9yZXModmMtPnNjaGVkX3VuaXQsIGdldF9zY2hlZF9yZXMo Y3B1KSk7CiAgICAgICAgICAgICAvKgogICAgICAgICAgICAgICogc3BlZXIgd2lsbCBzdGFydCBl eGVjdXRpbmcgZGlyZWN0bHkgb24gY3B1LCB3aXRob3V0IGhhdmluZyB0bwogICAgICAgICAgICAg ICogZ28gdGhyb3VnaCBydW5xX2luc2VydCgpLiBTbyB3ZSBtdXN0IHVwZGF0ZSB0aGUgcnVubmFi bGUgY291bnQKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vc2NoZWR1bGUuYyBiL3hlbi9jb21tb24v c2NoZWR1bGUuYwppbmRleCAyMTJjMWU2MzdmLi43OGQ5MTA4OTU2IDEwMDY0NAotLS0gYS94ZW4v Y29tbW9uL3NjaGVkdWxlLmMKKysrIGIveGVuL2NvbW1vbi9zY2hlZHVsZS5jCkBAIC0zMTcsMTIg KzMxNywxMSBAQCBpbnQgc2NoZWRfaW5pdF92Y3B1KHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBp bnQgcHJvY2Vzc29yKQogICAgIHN0cnVjdCBkb21haW4gKmQgPSB2LT5kb21haW47CiAgICAgc3Ry dWN0IHNjaGVkX3VuaXQgKnVuaXQ7CiAKLSAgICB2LT5wcm9jZXNzb3IgPSBwcm9jZXNzb3I7Ci0K ICAgICBpZiAoICh1bml0ID0gc2NoZWRfYWxsb2NfdW5pdCh2KSkgPT0gTlVMTCApCiAgICAgICAg IHJldHVybiAxOwogCi0gICAgdW5pdC0+cmVzID0gZ2V0X3NjaGVkX3Jlcyhwcm9jZXNzb3IpOwor ICAgIHNjaGVkX3NldF9yZXModW5pdCwgZ2V0X3NjaGVkX3Jlcyhwcm9jZXNzb3IpKTsKKwogICAg IC8qIEluaXRpYWxpc2UgdGhlIHBlci12Y3B1IHRpbWVycy4gKi8KICAgICBpbml0X3RpbWVyKCZ2 LT5wZXJpb2RpY190aW1lciwgdmNwdV9wZXJpb2RpY190aW1lcl9mbiwKICAgICAgICAgICAgICAg IHYsIHYtPnByb2Nlc3Nvcik7CkBAIC00MzYsOCArNDM1LDcgQEAgaW50IHNjaGVkX21vdmVfZG9t YWluKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCBjcHVwb29sICpjKQogCiAgICAgICAgIHNjaGVk X3NldF9hZmZpbml0eSh2LCAmY3B1bWFza19hbGwsICZjcHVtYXNrX2FsbCk7CiAKLSAgICAgICAg di0+cHJvY2Vzc29yID0gbmV3X3A7Ci0gICAgICAgIHYtPnNjaGVkX3VuaXQtPnJlcyA9IGdldF9z Y2hlZF9yZXMobmV3X3ApOworICAgICAgICBzY2hlZF9zZXRfcmVzKHYtPnNjaGVkX3VuaXQsIGdl dF9zY2hlZF9yZXMobmV3X3ApKTsKICAgICAgICAgLyoKICAgICAgICAgICogV2l0aCB2LT5wcm9j ZXNzb3IgbW9kaWZpZWQgd2UgbXVzdCBub3QKICAgICAgICAgICogLSBtYWtlIGFueSBmdXJ0aGVy IGNoYW5nZXMgYXNzdW1pbmcgd2UgaG9sZCB0aGUgc2NoZWR1bGVyIGxvY2ssCkBAIC03NzUsOCAr NzczLDkgQEAgdm9pZCByZXN0b3JlX3ZjcHVfYWZmaW5pdHkoc3RydWN0IGRvbWFpbiAqZCkKICAg ICAgICAgc3BpbmxvY2tfdCAqbG9jazsKICAgICAgICAgdW5zaWduZWQgaW50IG9sZF9jcHUgPSB2 LT5wcm9jZXNzb3I7CiAgICAgICAgIHN0cnVjdCBzY2hlZF91bml0ICp1bml0ID0gdi0+c2NoZWRf dW5pdDsKKyAgICAgICAgc3RydWN0IHNjaGVkX3Jlc291cmNlICpyZXM7CiAKLSAgICAgICAgQVNT RVJUKCF2Y3B1X3J1bm5hYmxlKHYpKTsKKyAgICAgICAgQVNTRVJUKCF1bml0X3J1bm5hYmxlKHVu aXQpKTsKIAogICAgICAgICAvKgogICAgICAgICAgKiBSZS1hc3NpZ24gdGhlIGluaXRpYWwgcHJv Y2Vzc29yIGFzIGFmdGVyIHJlc3VtZSB3ZSBoYXZlIG5vCkBAIC04MDcsMTIgKzgwNiwxMiBAQCB2 b2lkIHJlc3RvcmVfdmNwdV9hZmZpbml0eShzdHJ1Y3QgZG9tYWluICpkKQogICAgICAgICAgICAg fQogICAgICAgICB9CiAKLSAgICAgICAgdi0+cHJvY2Vzc29yID0gY3B1bWFza19hbnkoY3B1bWFz a19zY3JhdGNoX2NwdShjcHUpKTsKLSAgICAgICAgdW5pdC0+cmVzID0gZ2V0X3NjaGVkX3Jlcyh2 LT5wcm9jZXNzb3IpOworICAgICAgICByZXMgPSBnZXRfc2NoZWRfcmVzKGNwdW1hc2tfYW55KGNw dW1hc2tfc2NyYXRjaF9jcHUoY3B1KSkpOworICAgICAgICBzY2hlZF9zZXRfcmVzKHVuaXQsIHJl cyk7CiAKICAgICAgICAgbG9jayA9IHVuaXRfc2NoZWR1bGVfbG9ja19pcnEodW5pdCk7Ci0gICAg ICAgIHVuaXQtPnJlcyA9IHNjaGVkX3BpY2tfcmVzb3VyY2UodmNwdV9zY2hlZHVsZXIodiksIHVu aXQpOwotICAgICAgICB2LT5wcm9jZXNzb3IgPSB1bml0LT5yZXMtPnByb2Nlc3NvcjsKKyAgICAg ICAgcmVzID0gc2NoZWRfcGlja19yZXNvdXJjZSh2Y3B1X3NjaGVkdWxlcih2KSwgdW5pdCk7Cisg ICAgICAgIHNjaGVkX3NldF9yZXModW5pdCwgcmVzKTsKICAgICAgICAgc3Bpbl91bmxvY2tfaXJx KGxvY2spOwogCiAgICAgICAgIGlmICggb2xkX2NwdSAhPSB2LT5wcm9jZXNzb3IgKQpkaWZmIC0t Z2l0IGEveGVuL2luY2x1ZGUveGVuL3NjaGVkLWlmLmggYi94ZW4vaW5jbHVkZS94ZW4vc2NoZWQt aWYuaAppbmRleCAxN2MwMWFiYzI1Li5kYTlhYTA0MzcwIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVk ZS94ZW4vc2NoZWQtaWYuaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vc2NoZWQtaWYuaApAQCAtNTks NiArNTksNTcgQEAgc3RhdGljIGlubGluZSB2b2lkIHNldF9zY2hlZF9yZXModW5zaWduZWQgaW50 IGNwdSwgc3RydWN0IHNjaGVkX3Jlc291cmNlICpyZXMpCiAgICAgcGVyX2NwdShzY2hlZF9yZXMs IGNwdSkgPSByZXM7CiB9CiAKK3N0YXRpYyBpbmxpbmUgYm9vbCBpc19pZGxlX3VuaXQoY29uc3Qg c3RydWN0IHNjaGVkX3VuaXQgKnVuaXQpCit7CisgICAgcmV0dXJuIGlzX2lkbGVfdmNwdSh1bml0 LT52Y3B1KTsKK30KKworc3RhdGljIGlubGluZSBib29sIHVuaXRfcnVubmFibGUoY29uc3Qgc3Ry dWN0IHNjaGVkX3VuaXQgKnVuaXQpCit7CisgICAgcmV0dXJuIHZjcHVfcnVubmFibGUodW5pdC0+ dmNwdSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBzY2hlZF9zZXRfcmVzKHN0cnVjdCBzY2hl ZF91bml0ICp1bml0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHNj aGVkX3Jlc291cmNlICpyZXMpCit7CisgICAgdW5pdC0+dmNwdS0+cHJvY2Vzc29yID0gcmVzLT5w cm9jZXNzb3I7CisgICAgdW5pdC0+cmVzID0gcmVzOworfQorCitzdGF0aWMgaW5saW5lIHVuc2ln bmVkIGludCBzY2hlZF91bml0X2NwdShzdHJ1Y3Qgc2NoZWRfdW5pdCAqdW5pdCkKK3sKKyAgICBy ZXR1cm4gdW5pdC0+cmVzLT5wcm9jZXNzb3I7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBzY2hl ZF9zZXRfcGF1c2VfZmxhZ3Moc3RydWN0IHNjaGVkX3VuaXQgKnVuaXQsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBiaXQpCit7CisgICAgX19z ZXRfYml0KGJpdCwgJnVuaXQtPnZjcHUtPnBhdXNlX2ZsYWdzKTsKK30KKworc3RhdGljIGlubGlu ZSB2b2lkIHNjaGVkX2NsZWFyX3BhdXNlX2ZsYWdzKHN0cnVjdCBzY2hlZF91bml0ICp1bml0LAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBi aXQpCit7CisgICAgX19jbGVhcl9iaXQoYml0LCAmdW5pdC0+dmNwdS0+cGF1c2VfZmxhZ3MpOwor fQorCitzdGF0aWMgaW5saW5lIHZvaWQgc2NoZWRfc2V0X3BhdXNlX2ZsYWdzX2F0b21pYyhzdHJ1 Y3Qgc2NoZWRfdW5pdCAqdW5pdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHVuc2lnbmVkIGludCBiaXQpCit7CisgICAgc2V0X2JpdChiaXQsICZ1bml0 LT52Y3B1LT5wYXVzZV9mbGFncyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBzY2hlZF9jbGVh cl9wYXVzZV9mbGFnc19hdG9taWMoc3RydWN0IHNjaGVkX3VuaXQgKnVuaXQsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBiaXQp Cit7CisgICAgY2xlYXJfYml0KGJpdCwgJnVuaXQtPnZjcHUtPnBhdXNlX2ZsYWdzKTsKK30KKwor c3RhdGljIGlubGluZSBzdHJ1Y3Qgc2NoZWRfdW5pdCAqc2NoZWRfaWRsZV91bml0KHVuc2lnbmVk IGludCBjcHUpCit7CisgICAgcmV0dXJuIGlkbGVfdmNwdVtjcHVdLT5zY2hlZF91bml0OworfQor CiAvKgogICogU2NyYXRjaCBzcGFjZSwgZm9yIGF2b2lkaW5nIGhhdmluZyB0b28gbWFueSBjcHVt YXNrX3Qgb24gdGhlIHN0YWNrLgogICogV2l0aGluIGVhY2ggc2NoZWR1bGVyLCB3aGVuIHVzaW5n IHRoZSBzY3JhdGNoIG1hc2sgb2Ygb25lIHBDUFU6CkBAIC0zNDUsMTAgKzM5Niw3IEBAIHN0YXRp YyBpbmxpbmUgdm9pZCBzY2hlZF9taWdyYXRlKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKnMsCiAg ICAgaWYgKCBzLT5taWdyYXRlICkKICAgICAgICAgcy0+bWlncmF0ZShzLCB1bml0LCBjcHUpOwog ICAgIGVsc2UKLSAgICB7Ci0gICAgICAgIHVuaXQtPnZjcHUtPnByb2Nlc3NvciA9IGNwdTsKLSAg ICAgICAgdW5pdC0+cmVzID0gZ2V0X3NjaGVkX3JlcyhjcHUpOwotICAgIH0KKyAgICAgICAgc2No ZWRfc2V0X3Jlcyh1bml0LCBnZXRfc2NoZWRfcmVzKGNwdSkpOwogfQogCiBzdGF0aWMgaW5saW5l IHN0cnVjdCBzY2hlZF9yZXNvdXJjZSAqc2NoZWRfcGlja19yZXNvdXJjZSgKLS0gCjIuMTYuNAoK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZl bCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlz dHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw= 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 146EFC46460 for ; Tue, 28 May 2019 10:33:41 +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 E8DBD20989 for ; Tue, 28 May 2019 10:33:40 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E8DBD20989 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 1hVZQ9-0004jy-S9; Tue, 28 May 2019 10:33:29 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hVZQ5-0004by-N1 for xen-devel@lists.xenproject.org; Tue, 28 May 2019 10:33:25 +0000 X-Inumbo-ID: 03eacb6e-8134-11e9-869b-13c30c006a30 Received: from mx1.suse.de (unknown [195.135.220.15]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 03eacb6e-8134-11e9-869b-13c30c006a30; Tue, 28 May 2019 10:33:22 +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 4017AB034; Tue, 28 May 2019 10:33:20 +0000 (UTC) From: Juergen Gross To: xen-devel@lists.xenproject.org Date: Tue, 28 May 2019 12:32:27 +0200 Message-Id: <20190528103313.1343-15-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 14/60] xen/sched: add scheduler helpers hiding vcpu 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: <20190528103227.IViiV6Ucl7RpVWGmf85UnslreFcfUdgoGY_AmdJjB_0@z> QWRkIHRoZSBmb2xsb3dpbmcgaGVscGVycyB1c2luZyBhIHNjaGVkX3VuaXQgYXMgaW5wdXQgaW5z dGVhZCBvZiBhCnZjcHU6CgotIGlzX2lkbGVfdW5pdCgpIHNpbWlsYXIgdG8gaXNfaWRsZV92Y3B1 KCkKLSB1bml0X3J1bm5hYmxlKCkgbGlrZSB2Y3B1X3J1bm5hYmxlKCkKLSBzY2hlZF9zZXRfcmVz KCkgdG8gc2V0IHRoZSBjdXJyZW50IHByb2Nlc3NvciBvZiBhbiB1bml0Ci0gc2NoZWRfdW5pdF9j cHUoKSB0byBnZXQgdGhlIGN1cnJlbnQgcHJvY2Vzc29yIG9mIGFuIHVuaXQKLSBzY2hlZF97c2V0 fGNsZWFyfV9wYXVzZV9mbGFnc1tfYXRvbWljXSgpIHRvIG1vZGlmeSBwYXVzZV9mbGFncyBvZiB0 aGUKICBhc3NvY2lhdGVkIHZjcHUocykKLSBzY2hlZF9pZGxlX3VuaXQoKSB0byBnZXQgdGhlIHNj aGVkX3VuaXQgcG9pbnRlciBvZiB0aGUgaWRsZSB2Y3B1IG9mIGEKICBzcGVjaWZpYyBwaHlzaWNh bCBjcHUKClNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4KLS0t CiB4ZW4vY29tbW9uL3NjaGVkX2NyZWRpdC5jICB8ICAzICstLQogeGVuL2NvbW1vbi9zY2hlZHVs ZS5jICAgICAgfCAxOSArKysrKysrKy0tLS0tLS0tCiB4ZW4vaW5jbHVkZS94ZW4vc2NoZWQtaWYu aCB8IDU2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0KIDMg ZmlsZXMgY2hhbmdlZCwgNjIgaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEveGVuL2NvbW1vbi9zY2hlZF9jcmVkaXQuYyBiL3hlbi9jb21tb24vc2NoZWRfY3JlZGl0 LmMKaW5kZXggZmZhYzJmNGJiYi4uM2YwMDI3NzFkYSAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9z Y2hlZF9jcmVkaXQuYworKysgYi94ZW4vY29tbW9uL3NjaGVkX2NyZWRpdC5jCkBAIC0xNjY1LDgg KzE2NjUsNyBAQCBjc2NoZWRfcnVucV9zdGVhbChpbnQgcGVlcl9jcHUsIGludCBjcHUsIGludCBw cmksIGludCBiYWxhbmNlX3N0ZXApCiAgICAgICAgICAgICBTQ0hFRF9TVEFUX0NSQU5LKG1pZ3Jh dGVfcXVldWVkKTsKICAgICAgICAgICAgIFdBUk5fT04odmMtPmlzX3VyZ2VudCk7CiAgICAgICAg ICAgICBydW5xX3JlbW92ZShzcGVlcik7Ci0gICAgICAgICAgICB2Yy0+cHJvY2Vzc29yID0gY3B1 OwotICAgICAgICAgICAgdmMtPnNjaGVkX3VuaXQtPnJlcyA9IGdldF9zY2hlZF9yZXMoY3B1KTsK KyAgICAgICAgICAgIHNjaGVkX3NldF9yZXModmMtPnNjaGVkX3VuaXQsIGdldF9zY2hlZF9yZXMo Y3B1KSk7CiAgICAgICAgICAgICAvKgogICAgICAgICAgICAgICogc3BlZXIgd2lsbCBzdGFydCBl eGVjdXRpbmcgZGlyZWN0bHkgb24gY3B1LCB3aXRob3V0IGhhdmluZyB0bwogICAgICAgICAgICAg ICogZ28gdGhyb3VnaCBydW5xX2luc2VydCgpLiBTbyB3ZSBtdXN0IHVwZGF0ZSB0aGUgcnVubmFi bGUgY291bnQKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vc2NoZWR1bGUuYyBiL3hlbi9jb21tb24v c2NoZWR1bGUuYwppbmRleCAyMTJjMWU2MzdmLi43OGQ5MTA4OTU2IDEwMDY0NAotLS0gYS94ZW4v Y29tbW9uL3NjaGVkdWxlLmMKKysrIGIveGVuL2NvbW1vbi9zY2hlZHVsZS5jCkBAIC0zMTcsMTIg KzMxNywxMSBAQCBpbnQgc2NoZWRfaW5pdF92Y3B1KHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBp bnQgcHJvY2Vzc29yKQogICAgIHN0cnVjdCBkb21haW4gKmQgPSB2LT5kb21haW47CiAgICAgc3Ry dWN0IHNjaGVkX3VuaXQgKnVuaXQ7CiAKLSAgICB2LT5wcm9jZXNzb3IgPSBwcm9jZXNzb3I7Ci0K ICAgICBpZiAoICh1bml0ID0gc2NoZWRfYWxsb2NfdW5pdCh2KSkgPT0gTlVMTCApCiAgICAgICAg IHJldHVybiAxOwogCi0gICAgdW5pdC0+cmVzID0gZ2V0X3NjaGVkX3Jlcyhwcm9jZXNzb3IpOwor ICAgIHNjaGVkX3NldF9yZXModW5pdCwgZ2V0X3NjaGVkX3Jlcyhwcm9jZXNzb3IpKTsKKwogICAg IC8qIEluaXRpYWxpc2UgdGhlIHBlci12Y3B1IHRpbWVycy4gKi8KICAgICBpbml0X3RpbWVyKCZ2 LT5wZXJpb2RpY190aW1lciwgdmNwdV9wZXJpb2RpY190aW1lcl9mbiwKICAgICAgICAgICAgICAg IHYsIHYtPnByb2Nlc3Nvcik7CkBAIC00MzYsOCArNDM1LDcgQEAgaW50IHNjaGVkX21vdmVfZG9t YWluKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCBjcHVwb29sICpjKQogCiAgICAgICAgIHNjaGVk X3NldF9hZmZpbml0eSh2LCAmY3B1bWFza19hbGwsICZjcHVtYXNrX2FsbCk7CiAKLSAgICAgICAg di0+cHJvY2Vzc29yID0gbmV3X3A7Ci0gICAgICAgIHYtPnNjaGVkX3VuaXQtPnJlcyA9IGdldF9z Y2hlZF9yZXMobmV3X3ApOworICAgICAgICBzY2hlZF9zZXRfcmVzKHYtPnNjaGVkX3VuaXQsIGdl dF9zY2hlZF9yZXMobmV3X3ApKTsKICAgICAgICAgLyoKICAgICAgICAgICogV2l0aCB2LT5wcm9j ZXNzb3IgbW9kaWZpZWQgd2UgbXVzdCBub3QKICAgICAgICAgICogLSBtYWtlIGFueSBmdXJ0aGVy IGNoYW5nZXMgYXNzdW1pbmcgd2UgaG9sZCB0aGUgc2NoZWR1bGVyIGxvY2ssCkBAIC03NzUsOCAr NzczLDkgQEAgdm9pZCByZXN0b3JlX3ZjcHVfYWZmaW5pdHkoc3RydWN0IGRvbWFpbiAqZCkKICAg ICAgICAgc3BpbmxvY2tfdCAqbG9jazsKICAgICAgICAgdW5zaWduZWQgaW50IG9sZF9jcHUgPSB2 LT5wcm9jZXNzb3I7CiAgICAgICAgIHN0cnVjdCBzY2hlZF91bml0ICp1bml0ID0gdi0+c2NoZWRf dW5pdDsKKyAgICAgICAgc3RydWN0IHNjaGVkX3Jlc291cmNlICpyZXM7CiAKLSAgICAgICAgQVNT RVJUKCF2Y3B1X3J1bm5hYmxlKHYpKTsKKyAgICAgICAgQVNTRVJUKCF1bml0X3J1bm5hYmxlKHVu aXQpKTsKIAogICAgICAgICAvKgogICAgICAgICAgKiBSZS1hc3NpZ24gdGhlIGluaXRpYWwgcHJv Y2Vzc29yIGFzIGFmdGVyIHJlc3VtZSB3ZSBoYXZlIG5vCkBAIC04MDcsMTIgKzgwNiwxMiBAQCB2 b2lkIHJlc3RvcmVfdmNwdV9hZmZpbml0eShzdHJ1Y3QgZG9tYWluICpkKQogICAgICAgICAgICAg fQogICAgICAgICB9CiAKLSAgICAgICAgdi0+cHJvY2Vzc29yID0gY3B1bWFza19hbnkoY3B1bWFz a19zY3JhdGNoX2NwdShjcHUpKTsKLSAgICAgICAgdW5pdC0+cmVzID0gZ2V0X3NjaGVkX3Jlcyh2 LT5wcm9jZXNzb3IpOworICAgICAgICByZXMgPSBnZXRfc2NoZWRfcmVzKGNwdW1hc2tfYW55KGNw dW1hc2tfc2NyYXRjaF9jcHUoY3B1KSkpOworICAgICAgICBzY2hlZF9zZXRfcmVzKHVuaXQsIHJl cyk7CiAKICAgICAgICAgbG9jayA9IHVuaXRfc2NoZWR1bGVfbG9ja19pcnEodW5pdCk7Ci0gICAg ICAgIHVuaXQtPnJlcyA9IHNjaGVkX3BpY2tfcmVzb3VyY2UodmNwdV9zY2hlZHVsZXIodiksIHVu aXQpOwotICAgICAgICB2LT5wcm9jZXNzb3IgPSB1bml0LT5yZXMtPnByb2Nlc3NvcjsKKyAgICAg ICAgcmVzID0gc2NoZWRfcGlja19yZXNvdXJjZSh2Y3B1X3NjaGVkdWxlcih2KSwgdW5pdCk7Cisg ICAgICAgIHNjaGVkX3NldF9yZXModW5pdCwgcmVzKTsKICAgICAgICAgc3Bpbl91bmxvY2tfaXJx KGxvY2spOwogCiAgICAgICAgIGlmICggb2xkX2NwdSAhPSB2LT5wcm9jZXNzb3IgKQpkaWZmIC0t Z2l0IGEveGVuL2luY2x1ZGUveGVuL3NjaGVkLWlmLmggYi94ZW4vaW5jbHVkZS94ZW4vc2NoZWQt aWYuaAppbmRleCAxN2MwMWFiYzI1Li5kYTlhYTA0MzcwIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVk ZS94ZW4vc2NoZWQtaWYuaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vc2NoZWQtaWYuaApAQCAtNTks NiArNTksNTcgQEAgc3RhdGljIGlubGluZSB2b2lkIHNldF9zY2hlZF9yZXModW5zaWduZWQgaW50 IGNwdSwgc3RydWN0IHNjaGVkX3Jlc291cmNlICpyZXMpCiAgICAgcGVyX2NwdShzY2hlZF9yZXMs IGNwdSkgPSByZXM7CiB9CiAKK3N0YXRpYyBpbmxpbmUgYm9vbCBpc19pZGxlX3VuaXQoY29uc3Qg c3RydWN0IHNjaGVkX3VuaXQgKnVuaXQpCit7CisgICAgcmV0dXJuIGlzX2lkbGVfdmNwdSh1bml0 LT52Y3B1KTsKK30KKworc3RhdGljIGlubGluZSBib29sIHVuaXRfcnVubmFibGUoY29uc3Qgc3Ry dWN0IHNjaGVkX3VuaXQgKnVuaXQpCit7CisgICAgcmV0dXJuIHZjcHVfcnVubmFibGUodW5pdC0+ dmNwdSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBzY2hlZF9zZXRfcmVzKHN0cnVjdCBzY2hl ZF91bml0ICp1bml0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHNj aGVkX3Jlc291cmNlICpyZXMpCit7CisgICAgdW5pdC0+dmNwdS0+cHJvY2Vzc29yID0gcmVzLT5w cm9jZXNzb3I7CisgICAgdW5pdC0+cmVzID0gcmVzOworfQorCitzdGF0aWMgaW5saW5lIHVuc2ln bmVkIGludCBzY2hlZF91bml0X2NwdShzdHJ1Y3Qgc2NoZWRfdW5pdCAqdW5pdCkKK3sKKyAgICBy ZXR1cm4gdW5pdC0+cmVzLT5wcm9jZXNzb3I7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBzY2hl ZF9zZXRfcGF1c2VfZmxhZ3Moc3RydWN0IHNjaGVkX3VuaXQgKnVuaXQsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBiaXQpCit7CisgICAgX19z ZXRfYml0KGJpdCwgJnVuaXQtPnZjcHUtPnBhdXNlX2ZsYWdzKTsKK30KKworc3RhdGljIGlubGlu ZSB2b2lkIHNjaGVkX2NsZWFyX3BhdXNlX2ZsYWdzKHN0cnVjdCBzY2hlZF91bml0ICp1bml0LAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBi aXQpCit7CisgICAgX19jbGVhcl9iaXQoYml0LCAmdW5pdC0+dmNwdS0+cGF1c2VfZmxhZ3MpOwor fQorCitzdGF0aWMgaW5saW5lIHZvaWQgc2NoZWRfc2V0X3BhdXNlX2ZsYWdzX2F0b21pYyhzdHJ1 Y3Qgc2NoZWRfdW5pdCAqdW5pdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHVuc2lnbmVkIGludCBiaXQpCit7CisgICAgc2V0X2JpdChiaXQsICZ1bml0 LT52Y3B1LT5wYXVzZV9mbGFncyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBzY2hlZF9jbGVh cl9wYXVzZV9mbGFnc19hdG9taWMoc3RydWN0IHNjaGVkX3VuaXQgKnVuaXQsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBiaXQp Cit7CisgICAgY2xlYXJfYml0KGJpdCwgJnVuaXQtPnZjcHUtPnBhdXNlX2ZsYWdzKTsKK30KKwor c3RhdGljIGlubGluZSBzdHJ1Y3Qgc2NoZWRfdW5pdCAqc2NoZWRfaWRsZV91bml0KHVuc2lnbmVk IGludCBjcHUpCit7CisgICAgcmV0dXJuIGlkbGVfdmNwdVtjcHVdLT5zY2hlZF91bml0OworfQor CiAvKgogICogU2NyYXRjaCBzcGFjZSwgZm9yIGF2b2lkaW5nIGhhdmluZyB0b28gbWFueSBjcHVt YXNrX3Qgb24gdGhlIHN0YWNrLgogICogV2l0aGluIGVhY2ggc2NoZWR1bGVyLCB3aGVuIHVzaW5n IHRoZSBzY3JhdGNoIG1hc2sgb2Ygb25lIHBDUFU6CkBAIC0zNDUsMTAgKzM5Niw3IEBAIHN0YXRp YyBpbmxpbmUgdm9pZCBzY2hlZF9taWdyYXRlKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKnMsCiAg ICAgaWYgKCBzLT5taWdyYXRlICkKICAgICAgICAgcy0+bWlncmF0ZShzLCB1bml0LCBjcHUpOwog ICAgIGVsc2UKLSAgICB7Ci0gICAgICAgIHVuaXQtPnZjcHUtPnByb2Nlc3NvciA9IGNwdTsKLSAg ICAgICAgdW5pdC0+cmVzID0gZ2V0X3NjaGVkX3JlcyhjcHUpOwotICAgIH0KKyAgICAgICAgc2No ZWRfc2V0X3Jlcyh1bml0LCBnZXRfc2NoZWRfcmVzKGNwdSkpOwogfQogCiBzdGF0aWMgaW5saW5l IHN0cnVjdCBzY2hlZF9yZXNvdXJjZSAqc2NoZWRfcGlja19yZXNvdXJjZSgKLS0gCjIuMTYuNAoK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZl bCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlz dHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=