From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chao Gao Subject: Re: [PATCH 0/4] mitigate the per-pCPU blocking list may be too long Date: Tue, 2 May 2017 13:45:01 +0800 Message-ID: <20170502054459.GA13105@skl-2s3.sh.intel.com> References: <1493167967-74144-1-git-send-email-chao.gao@intel.com> <15f405cc-04aa-ac3d-8ae2-17f684b21d36@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <15f405cc-04aa-ac3d-8ae2-17f684b21d36@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: George Dunlap , Jan Beulich , Kevin Tian Cc: Wei Liu , George Dunlap , Andrew Cooper , Ian Jackson , xen-devel@lists.xen.org, Jun Nakajima List-Id: xen-devel@lists.xenproject.org T24gV2VkLCBBcHIgMjYsIDIwMTcgYXQgMDU6Mzk6NTdQTSArMDEwMCwgR2VvcmdlIER1bmxhcCB3 cm90ZToKPk9uIDI2LzA0LzE3IDAxOjUyLCBDaGFvIEdhbyB3cm90ZToKPj4gSSBjb21wYXJlZCB0 aGUgbWF4aW11bSBvZiAjZW50cnkgaW4gb25lIGxpc3QgYW5kICNldmVudCAoYWRkaW5nIGVudHJ5 IHRvCj4+IFBJIGJsb2NraW5nIGxpc3QpIHdpdGggYW5kIHdpdGhvdXQgdGhlIHRocmVlIGxhdHRl ciBwYXRjaGVzLiBIZXJlCj4+IGlzIHRoZSByZXN1bHQ6Cj4+IC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPj4gfCAgICAgICAgICAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgfAo+PiB8ICAg IEl0ZW1zICAgICAgfCAgIE1heGltdW0gb2YgI2VudHJ5ICB8ICAgICAgI2V2ZW50ICAgICAgICB8 Cj4+IHwgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAg ICAgICAgIHwKPj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQo+PiB8ICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICB8ICAgICAgICAgICAgICAgICAgICB8Cj4+IHxXLyB0aGUgcGF0Y2hlcyB8ICAgICAgICAgNiAg ICAgICAgICAgIHwgICAgICAgMjI3NDAgICAgICAgIHwKPj4gfCAgICAgICAgICAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgfAo+PiAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4+IHwgICAg ICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgIHwK Pj4gfFcvTyB0aGUgcGF0Y2hlc3wgICAgICAgIDEyOCAgICAgICAgICAgfCAgICAgICA0NjQ4MSAg ICAgICAgfAo+PiB8ICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8ICAgICAg ICAgICAgICAgICAgICB8Cj4+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPgo+QW55IGNoYW5jZSB5b3UgY291bGQgdHJhY2UgaG93 IGxvbmcgdGhlIGxpc3QgdHJhdmVyc2FsIHRvb2s/ICBJdCB3b3VsZAo+YmUgZ29vZCBmb3IgZnV0 dXJlIHJlZmVyZW5jZSB0byBoYXZlIGFuIGlkZWEgd2hhdCBraW5kcyBvZiB0aW1lc2NhbGVzCj53 ZSdyZSB0YWxraW5nIGFib3V0LgoKSGkuCgpJIG1hZGUgYSBzaW1wbGUgdGVzdCB0byBnZXQgdGhl IHRpbWUgY29uc3VtZWQgYnkgdGhlIGxpc3QgdHJhdmVyc2FsLgpBcHBseSBiZWxvdyBwYXRjaCBh bmQgY3JlYXRlIG9uZSBodm0gZ3Vlc3Qgd2l0aCAxMjggdmNwdXMgYW5kIGEgcGFzc3Rocm91Z2gg NDAgTklDLgpBbGwgZ3Vlc3QgdmNwdSBhcmUgcGlubmVkIHRvIG9uZSBwY3B1LiBjb2xsZWN0IGRh dGEgYnkKJ3hlbnRyYWNlIC1EIC1lIDB4ODIwMDAgLVQgMzAwIHRyYWNlLmJpbicgYW5kIGRlY29k ZSBkYXRhIGJ5CnhlbnRyYWNlX2Zvcm1hdC4gV2hlbiB0aGUgbGlzdCBsZW5ndGggaXMgYWJvdXQg MTI4LCB0aGUgdHJhdmVyc2FsIHRpbWUKaXMgaW4gdGhlIHJhbmdlIG9mIDE3NTAgY3ljbGVzIHRv IDM5MzMwIGN5Y2xlcy4gVGhlIHBoeXNpY2FsIGNwdSdzCmZyZXF1ZW5jZSBpcyAxNzk1Ljc4OE1I eiwgdGhlcmVmb3JlIHRoZSB0aW1lIGNvbnN1bWVkIGlzIGluIHRoZSByYW5nZSBvZiAxdXMKdG8g MjJ1cy4gSWYgMC41bXMgaXMgdGhlIHVwcGVyIGJvdW5kIHRoZSBzeXN0ZW0gY2FuIHRvbGVyYXRl LCBhdCBtb3N0CjI5MDAgdmNwdXMgY2FuIGJlIGFkZGVkIGludG8gdGhlIGxpc3QuCgpJIGhvcGUg dGhlcmUgaXMgbm8gZXJyb3IgaW4gdGhlIHRlc3QgYW5kIGFuYWx5c2lzLgoKVGhhbmtzCkNoYW8K Ci0tLTg8LS0tCkZyb20gNTA0ZmQzMmJjMDQyNjcwODEyZGFhZDQxZWZjZDk4MjQzNGI5OGNkNCBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogQ2hhbyBHYW8gPGNoYW8uZ2FvQGludGVsLmNv bT4KRGF0ZTogV2VkLCAyNiBBcHIgMjAxNyAwMzozOTowNiArMDgwMApTdWJqZWN0OiBbUEFUQ0hd IHhlbnRyYWNlOiB0cmFjZSBQSS1yZWxhdGVkIGV2ZW50cy4KClRoaXMgcGF0Y2ggYWRkcyBUUkNf SFZNX1ZUX0RfUElfQkxPQ0ssIFRSQ19IVk1fUElfV0FLRVVQX1NUQVJUIGFuZApUUkNfSFZNX1BJ X1dBS0VVUF9FTkQgdG8gdHJhY2sgUEktcmVsYXRlZCBldmVudHMuIFNwZWNpZmljYWxseSwKVFJD X0hWTV9WVF9EX1BJX0JMT0NLIHRyYWNrIGFkZGluZyBvbmUgZW50cnkgdG8gdGhlIHBlci1wY3B1 CmJsb2NraW5nIGxpc3QuIFRSQ19IVk1fUElfV0FLRVVQX3tTVEFSVCwgRU5EfSBtYXJrIHRoZSBz dGFydCBhbmQgZW5kCm9mIFBJIGJsb2NraW5nIGxpc3QgdHJhdmVyc2FsLiBBbHNvIGludHJvZHVj ZSBhICdjb3VudGVyJyB0byB0cmFjayB0aGUKbnVtYmVyIG9mIGVudHJpZXMgaW4gdGhlIGxpc3Qu CgpTaWduZWQtb2ZmLWJ5OiBDaGFvIEdhbyA8Y2hhby5nYW9AaW50ZWwuY29tPgotLS0KIHRvb2xz L3hlbnRyYWNlL2Zvcm1hdHMgICAgICAgICAgfCAgMyArKysKIHhlbi9hcmNoL3g4Ni9odm0vdm14 L3ZteC5jICAgICAgfCAxMyArKysrKysrKysrKystCiB4ZW4vaW5jbHVkZS9hc20teDg2L2h2bS90 cmFjZS5oIHwgIDMgKysrCiB4ZW4vaW5jbHVkZS9wdWJsaWMvdHJhY2UuaCAgICAgIHwgIDMgKysr CiA0IGZpbGVzIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYg LS1naXQgYS90b29scy94ZW50cmFjZS9mb3JtYXRzIGIvdG9vbHMveGVudHJhY2UvZm9ybWF0cwpp bmRleCA4YjMxNzgwLi4zNGVkOWU0IDEwMDY0NAotLS0gYS90b29scy94ZW50cmFjZS9mb3JtYXRz CisrKyBiL3Rvb2xzL3hlbnRyYWNlL2Zvcm1hdHMKQEAgLTEyNSw2ICsxMjUsOSBAQAogMHgwMDA4 MjAyMCAgQ1BVJShjcHUpZCAgJSh0c2MpZCAoKyUocmVsdHNjKThkKSAgSU5UUl9XSU5ET1cgWyB2 YWx1ZSA9IDB4JSgxKTA4eCBdCiAweDAwMDgyMDIxICBDUFUlKGNwdSlkICAlKHRzYylkICgrJShy ZWx0c2MpOGQpICBOUEYgICAgICAgICBbIGdwYSA9IDB4JSgyKTA4eCUoMSkwOHggbWZuID0gMHgl KDQpMDh4JSgzKTA4eCBxdWFsID0gMHglKDUpMDR4IHAybXQgPSAweCUoNikwNHggXQogMHgwMDA4 MjAyMyAgQ1BVJShjcHUpZCAgJSh0c2MpZCAoKyUocmVsdHNjKThkKSAgVFJBUCAgICAgICAgWyB2 ZWN0b3IgPSAweCUoMSkwMnggXQorMHgwMDA4MjAyNiAgQ1BVJShjcHUpZCAgJSh0c2MpZCAoKyUo cmVsdHNjKThkKSAgUElfQkxPQ0tfTElTVCAgWyBkb21pZCA9IDB4JSgxKTA0eCB2Y3B1ID0gMHgl KDIpMDR4LCBwY3B1ID0gMHglKDMpMDR4LCAjZW50cnkgPSAweCUoNCkwNHggXQorMHgwMDA4MjAy NyAgQ1BVJShjcHUpZCAgJSh0c2MpZCAoKyUocmVsdHNjKThkKSAgUElfV0FLRVVQX1NUQVJUIFsg bGlzdF9sZW4gPSAweCUoMSkwNHggXQorMHgwMDA4MjAyOCAgQ1BVJShjcHUpZCAgJSh0c2MpZCAo KyUocmVsdHNjKThkKSAgUElfV0FLRVVQX0VORAogCiAweDAwMTBmMDAxICBDUFUlKGNwdSlkICAl KHRzYylkICgrJShyZWx0c2MpOGQpICBwYWdlX2dyYW50X21hcCAgICAgIFsgZG9taWQgPSAlKDEp ZCBdCiAweDAwMTBmMDAyICBDUFUlKGNwdSlkICAlKHRzYylkICgrJShyZWx0c2MpOGQpICBwYWdl X2dyYW50X3VubWFwICAgIFsgZG9taWQgPSAlKDEpZCBdCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94 ODYvaHZtL3ZteC92bXguYyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jCmluZGV4IGM4ZWYx OGEuLjNhNjY0MGIgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jCisrKyBi L3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jCkBAIC04Miw2ICs4Miw3IEBAIHN0YXRpYyBpbnQg dm14X3ZtZnVuY19pbnRlcmNlcHQoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpOwogc3RydWN0 IHZteF9waV9ibG9ja2luZ192Y3B1IHsKICAgICBzdHJ1Y3QgbGlzdF9oZWFkICAgICBsaXN0Owog ICAgIHNwaW5sb2NrX3QgICAgICAgICAgIGxvY2s7CisgICAgYXRvbWljX3QgICAgICAgICAgICAg Y291bnRlcjsKIH07CiAKIC8qCkBAIC0xMTksNiArMTIwLDkgQEAgc3RhdGljIHZvaWQgdm14X3Zj cHVfYmxvY2soc3RydWN0IHZjcHUgKnYpCiAgICAgICovCiAgICAgQVNTRVJUKG9sZF9sb2NrID09 IE5VTEwpOwogCisgICAgYXRvbWljX2luYygmcGVyX2NwdSh2bXhfcGlfYmxvY2tpbmcsIHYtPnBy b2Nlc3NvcikuY291bnRlcik7CisgICAgSFZNVFJBQ0VfNEQoVlRfRF9QSV9CTE9DSywgdi0+ZG9t YWluLT5kb21haW5faWQsIHYtPnZjcHVfaWQsIHYtPnByb2Nlc3NvciwKKyAgICAgICAgICAgICAg ICBhdG9taWNfcmVhZCgmcGVyX2NwdSh2bXhfcGlfYmxvY2tpbmcsIHYtPnByb2Nlc3NvcikuY291 bnRlcikpOwogICAgIGxpc3RfYWRkX3RhaWwoJnYtPmFyY2guaHZtX3ZteC5waV9ibG9ja2luZy5s aXN0LAogICAgICAgICAgICAgICAgICAgJnBlcl9jcHUodm14X3BpX2Jsb2NraW5nLCB2LT5wcm9j ZXNzb3IpLmxpc3QpOwogICAgIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUocGlfYmxvY2tpbmdfbGlz dF9sb2NrLCBmbGFncyk7CkBAIC0xODYsNiArMTkwLDggQEAgc3RhdGljIHZvaWQgdm14X3BpX3Vu YmxvY2tfdmNwdShzdHJ1Y3QgdmNwdSAqdikKICAgICB7CiAgICAgICAgIEFTU0VSVCh2LT5hcmNo Lmh2bV92bXgucGlfYmxvY2tpbmcubG9jayA9PSBwaV9ibG9ja2luZ19saXN0X2xvY2spOwogICAg ICAgICBsaXN0X2RlbCgmdi0+YXJjaC5odm1fdm14LnBpX2Jsb2NraW5nLmxpc3QpOworICAgICAg ICBhdG9taWNfZGVjKCZjb250YWluZXJfb2YocGlfYmxvY2tpbmdfbGlzdF9sb2NrLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHZteF9waV9ibG9ja2luZ192Y3B1LCBs b2NrKS0+Y291bnRlcik7CiAgICAgICAgIHYtPmFyY2guaHZtX3ZteC5waV9ibG9ja2luZy5sb2Nr ID0gTlVMTDsKICAgICB9CiAKQEAgLTIzNCw2ICsyNDAsNyBAQCB2b2lkIHZteF9waV9kZXNjX2Zp eHVwKHVuc2lnbmVkIGludCBjcHUpCiAgICAgICAgIGlmICggcGlfdGVzdF9vbigmdm14LT5waV9k ZXNjKSApCiAgICAgICAgIHsKICAgICAgICAgICAgIGxpc3RfZGVsKCZ2bXgtPnBpX2Jsb2NraW5n Lmxpc3QpOworICAgICAgICAgICAgYXRvbWljX2RlYygmcGVyX2NwdSh2bXhfcGlfYmxvY2tpbmcs IGNwdSkuY291bnRlcik7CiAgICAgICAgICAgICB2bXgtPnBpX2Jsb2NraW5nLmxvY2sgPSBOVUxM OwogICAgICAgICAgICAgdmNwdV91bmJsb2NrKGNvbnRhaW5lcl9vZih2bXgsIHN0cnVjdCB2Y3B1 LCBhcmNoLmh2bV92bXgpKTsKICAgICAgICAgfQpAQCAtMjM2MCwxMyArMjM2NywxNSBAQCBzdGF0 aWMgdm9pZCBwaV93YWtldXBfaW50ZXJydXB0KHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQog ICAgIHN0cnVjdCBhcmNoX3ZteF9zdHJ1Y3QgKnZteCwgKnRtcDsKICAgICBzcGlubG9ja190ICps b2NrID0gJnBlcl9jcHUodm14X3BpX2Jsb2NraW5nLCBzbXBfcHJvY2Vzc29yX2lkKCkpLmxvY2s7 CiAgICAgc3RydWN0IGxpc3RfaGVhZCAqYmxvY2tlZF92Y3B1cyA9Ci0JCSZwZXJfY3B1KHZteF9w aV9ibG9ja2luZywgc21wX3Byb2Nlc3Nvcl9pZCgpKS5saXN0OworICAgICAgICAgICAgICAgJnBl cl9jcHUodm14X3BpX2Jsb2NraW5nLCBzbXBfcHJvY2Vzc29yX2lkKCkpLmxpc3Q7CiAKICAgICBh Y2tfQVBJQ19pcnEoKTsKICAgICB0aGlzX2NwdShpcnFfY291bnQpKys7CiAKICAgICBzcGluX2xv Y2sobG9jayk7CiAKKyAgICBUUkFDRV8xRChUUkNfSFZNX1BJX1dBS0VVUF9TVEFSVCwKKyAgICAg ICAgYXRvbWljX3JlYWQoJnBlcl9jcHUodm14X3BpX2Jsb2NraW5nLCBzbXBfcHJvY2Vzc29yX2lk KCkpLmNvdW50ZXIpKTsKICAgICAvKgogICAgICAqIFhYWDogVGhlIGxlbmd0aCBvZiB0aGUgbGlz dCBkZXBlbmRzIG9uIGhvdyBtYW55IHZDUFUgaXMgY3VycmVudAogICAgICAqIGJsb2NrZWQgb24g dGhpcyBzcGVjaWZpYyBwQ1BVLiBUaGlzIG1heSBodXJ0IHRoZSBpbnRlcnJ1cHQgbGF0ZW5jeQpA QCAtMjM3NywxMSArMjM4NiwxMyBAQCBzdGF0aWMgdm9pZCBwaV93YWtldXBfaW50ZXJydXB0KHN0 cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogICAgICAgICBpZiAoIHBpX3Rlc3Rfb24oJnZteC0+ cGlfZGVzYykgKQogICAgICAgICB7CiAgICAgICAgICAgICBsaXN0X2RlbCgmdm14LT5waV9ibG9j a2luZy5saXN0KTsKKyAgICAgICAgICAgIGF0b21pY19kZWMoJnBlcl9jcHUodm14X3BpX2Jsb2Nr aW5nLCBzbXBfcHJvY2Vzc29yX2lkKCkpLmNvdW50ZXIpOwogICAgICAgICAgICAgQVNTRVJUKHZt eC0+cGlfYmxvY2tpbmcubG9jayA9PSBsb2NrKTsKICAgICAgICAgICAgIHZteC0+cGlfYmxvY2tp bmcubG9jayA9IE5VTEw7CiAgICAgICAgICAgICB2Y3B1X3VuYmxvY2soY29udGFpbmVyX29mKHZt eCwgc3RydWN0IHZjcHUsIGFyY2guaHZtX3ZteCkpOwogICAgICAgICB9CiAgICAgfQorICAgIFRS QUNFXzBEKFRSQ19IVk1fUElfV0FLRVVQX0VORCk7CiAKICAgICBzcGluX3VubG9jayhsb2NrKTsK IH0KZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3RyYWNlLmggYi94ZW4vaW5j bHVkZS9hc20teDg2L2h2bS90cmFjZS5oCmluZGV4IGRlODAyYTYuLmFmZThiNzUgMTAwNjQ0Ci0t LSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3RyYWNlLmgKKysrIGIveGVuL2luY2x1ZGUvYXNt LXg4Ni9odm0vdHJhY2UuaApAQCAtNTQsNiArNTQsOSBAQAogI2RlZmluZSBET19UUkNfSFZNX1RS QVAgICAgICAgICAgICAgREVGQVVMVF9IVk1fTUlTQwogI2RlZmluZSBET19UUkNfSFZNX1RSQVBf REVCVUcgICAgICAgREVGQVVMVF9IVk1fTUlTQwogI2RlZmluZSBET19UUkNfSFZNX1ZMQVBJQyAg ICAgICAgICAgREVGQVVMVF9IVk1fTUlTQworI2RlZmluZSBET19UUkNfSFZNX1ZUX0RfUElfQkxP Q0sgICAgREVGQVVMVF9IVk1fTUlTQworI2RlZmluZSBET19UUkNfSFZNX1BJX1dBS0VVUF9TVEFS VCAgREVGQVVMVF9IVk1fTUlTQworI2RlZmluZSBET19UUkNfSFZNX1BJX1dBS0VVUF9FTkQgICAg REVGQVVMVF9IVk1fTUlTQwogCiAKICNkZWZpbmUgVFJDX1BBUl9MT05HKHBhcikgKChwYXIpJjB4 RkZGRkZGRkYpLCgocGFyKT4+MzIpCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9wdWJsaWMvdHJh Y2UuaCBiL3hlbi9pbmNsdWRlL3B1YmxpYy90cmFjZS5oCmluZGV4IDdmMmU4OTEuLmM1Yjk1ZWUg MTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy90cmFjZS5oCisrKyBiL3hlbi9pbmNsdWRl L3B1YmxpYy90cmFjZS5oCkBAIC0yMzQsNiArMjM0LDkgQEAKICNkZWZpbmUgVFJDX0hWTV9UUkFQ ICAgICAgICAgICAgIChUUkNfSFZNX0hBTkRMRVIgKyAweDIzKQogI2RlZmluZSBUUkNfSFZNX1RS QVBfREVCVUcgICAgICAgKFRSQ19IVk1fSEFORExFUiArIDB4MjQpCiAjZGVmaW5lIFRSQ19IVk1f VkxBUElDICAgICAgICAgICAoVFJDX0hWTV9IQU5ETEVSICsgMHgyNSkKKyNkZWZpbmUgVFJDX0hW TV9WVF9EX1BJX0JMT0NLICAgIChUUkNfSFZNX0hBTkRMRVIgKyAweDI2KQorI2RlZmluZSBUUkNf SFZNX1BJX1dBS0VVUF9TVEFSVCAgKFRSQ19IVk1fSEFORExFUiArIDB4MjcpCisjZGVmaW5lIFRS Q19IVk1fUElfV0FLRVVQX0VORCAgICAoVFJDX0hWTV9IQU5ETEVSICsgMHgyOCkKIAogI2RlZmlu ZSBUUkNfSFZNX0lPUE9SVF9XUklURSAgICAoVFJDX0hWTV9IQU5ETEVSICsgMHgyMTYpCiAjZGVm aW5lIFRSQ19IVk1fSU9NRU1fV1JJVEUgICAgIChUUkNfSFZNX0hBTkRMRVIgKyAweDIxNykKLS0g CjEuOC4zLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8v bGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK