From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: Re: [PATCH 13/16] xen: sched: allow for choosing credit2 runqueues configuration at boot Date: Tue, 22 Mar 2016 08:46:14 +0100 Message-ID: <56F0F846.3020804@suse.com> References: <20160318185524.8117.74837.stgit@Solace.station> <20160318190538.8117.96025.stgit@Solace.station> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta14.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1aiH18-00065Q-7K for xen-devel@lists.xenproject.org; Tue, 22 Mar 2016 07:46:18 +0000 In-Reply-To: <20160318190538.8117.96025.stgit@Solace.station> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Dario Faggioli , xen-devel@lists.xenproject.org Cc: George Dunlap , Uma Sharma List-Id: xen-devel@lists.xenproject.org T24gMTgvMDMvMTYgMjA6MDUsIERhcmlvIEZhZ2dpb2xpIHdyb3RlOgo+IEluIGZhY3QsIGNyZWRp dDIgdXNlcyBDUFUgdG9wb2xvZ3kgdG8gZGVjaWRlIGhvdyB0byBhcnJhbmdlCj4gaXRzIGludGVy bmFsIHJ1bnF1ZXVlcy4gQmVmb3JlIHRoaXMgY2hhbmdlLCBvbmx5ICdvbmUgcnVucXVldWUKPiBw ZXIgc29ja2V0JyB3YXMgYWxsb3dlZC4gSG93ZXZlciwgZXhwZXJpbWVudHMgaGF2ZSBzaG93biB0 aGF0LAo+IGZvciBpbnN0YW5jZSwgaGF2aW5nIG9uZSBydW5xdWV1ZSBwZXIgcGh5c2ljYWwgY29y ZSBpbXByb3Zlcwo+IHBlcmZvcm1hbmNlLCBlc3BlY2lhbGx5IGluIGNhc2UgaHlwZXJ0aHJlYWRp bmcgaXMgYXZhaWxhYmxlLgo+IAo+IEluIGdlbmVyYWwsIGl0IG1ha2VzIHNlbnNlIHRvIGFsbG93 IHVzZXJzIHRvIHBpY2sgb25lIHJ1bnF1ZXVlCj4gYXJyYW5nZW1lbnQgYXQgYm9vdCB0aW1lLCBz byB0aGF0Ogo+ICAtIG1vcmUgZXhwZXJpbWVudHMgY2FuIGJlIGVhc2lseSBwZXJmb3JtZWQgdG8g ZXZlbiBiZXR0ZXIKPiAgICBhc3Nlc3MgYW5kIGltcHJvdmUgcGVyZm9ybWFuY2U7Cj4gIC0gb25l IGNhbiBzZWxlY3QgdGhlIGJlc3QgY29uZmlndXJhdGlvbiBmb3IgaGlzIHNwZWNpZmljCj4gICAg dXNlIGNhc2UgYW5kL29yIGhhcmR3YXJlLgo+IAo+IFRoaXMgcGF0Y2ggZW5hYmxlcyB0aGUgYWJv dmUuCj4gCj4gTm90ZSB0aGF0LCBmb3IgY29ycmVjdGx5IGFycmFuZ2luZyBydW5xdWV1ZXMgdG8g YmUgcGVyLWNvcmUsCj4ganVzdCBjaGVja2luZyBjcHVfdG9fY29yZSgpIG9uIHRoZSBob3N0IENQ VXMgaXMgbm90IGVub3VnaC4KPiBJbiBmYWN0LCBjb3JlcyAoYW5kIGh5cGVydGhyZWFkcykgb24g ZGlmZmVyZW50IHNvY2tldHMsIGNhbgo+IGhhdmUgdGhlIHNhbWUgY29yZSAoYW5kIHRocmVhZCkg SURzISBXZSwgdGhlcmVmb3JlLCBuZWVkIHRvCj4gY2hlY2sgd2hldGhlciB0aGUgZnVsbCB0b3Bv bG9neSBvZiB0d28gQ1BVcyBtYXRjaGVzLCBmb3IKPiB0aGVtIHRvIGJlIHB1dCBpbiB0aGUgc2Ft ZSBydW5xdWV1ZS4KPiAKPiBOb3RlIGFsc28gdGhhdCB0aGUgZGVmYXVsdCAoYWx0aG91Z2ggbm90 IGZ1bmN0aW9uYWwpIGZvcgo+IGNyZWRpdDIsIHNpbmNlIG5vdywgaGFzIGJlZW4gcGVyLXNvY2tl dCBydW5xdWV1ZS4gVGhpcyBwYXRjaAo+IGxlYXZlcyB0aGluZ3MgdGhhdCB3YXksIHRvIGF2b2lk IG1peGluZyBwb2xpY3kgYW5kIHRlY2huaWNhbAo+IGNoYW5nZXMuCj4gCj4gRmluYWxseSwgaXQg d291bGQgYmUgYSBuaWNlIGZlYXR1cmUgdG8gYmUgYWJsZSB0byBzZWxlY3QKPiBhIHBhcnRpY3Vs YXIgcnVucXVldWUgYXJyYW5nZW1lbnQsIGV2ZW4gd2hlbiBjcmVhdGluZyBhCj4gQ3JlZGl0MiBj cHVwb29sLiBUaGlzIGlzIGxlZnQgYXMgZnV0dXJlIHdvcmsuCj4gCj4gU2lnbmVkLW9mZi1ieTog RGFyaW8gRmFnZ2lvbGkgPGRhcmlvLmZhZ2dpb2xpQGNpdHJpeC5jb20+Cj4gU2lnbmVkLW9mZi1i eTogVW1hIFNoYXJtYSA8dW1hLnNoYXJtYTUyM0BnbWFpbC5jb20+Cj4gLS0tCj4gQ2M6IEdlb3Jn ZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAZXUuY2l0cml4LmNvbT4KPiBDYzogVW1hIFNoYXJtYSA8 dW1hLnNoYXJtYTUyM0BnbWFpbC5jb20+Cj4gQ2M6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNl LmNvbT4KPiAtLS0KPiBDYWhuZ2VzIGZyb20gdjE6Cj4gICogYWRkZWQgJ25vZGUnIGFuZCAnZ2xv YmFsJyBydW5xdWV1ZSBhcnJhbmdlbWVudHMsIGFzCj4gICAgc3VnZ2VzdGVkIGR1cmluZyByZXZp ZXc7Cj4gLS0tCj4gIGRvY3MvbWlzYy94ZW4tY29tbWFuZC1saW5lLm1hcmtkb3duIHwgICAxOSAr KysrKysrKysKPiAgeGVuL2NvbW1vbi9zY2hlZF9jcmVkaXQyLmMgICAgICAgICAgfCAgIDc2ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCj4gIDIgZmlsZXMgY2hhbmdlZCwgOTAg aW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZG9jcy9taXNj L3hlbi1jb21tYW5kLWxpbmUubWFya2Rvd24gYi9kb2NzL21pc2MveGVuLWNvbW1hbmQtbGluZS5t YXJrZG93bgo+IGluZGV4IGNhNzdlM2IuLjAwNDdmOTQgMTAwNjQ0Cj4gLS0tIGEvZG9jcy9taXNj L3hlbi1jb21tYW5kLWxpbmUubWFya2Rvd24KPiArKysgYi9kb2NzL21pc2MveGVuLWNvbW1hbmQt bGluZS5tYXJrZG93bgo+IEBAIC00NjksNiArNDY5LDI1IEBAIGNvbWJpbmF0aW9uIHdpdGggdGhl IGBsb3dfY3Jhc2hpbmZvYCBjb21tYW5kIGxpbmUgb3B0aW9uLgo+ICAjIyMgY3JlZGl0MlxfbG9h ZFxfd2luZG93XF9zaGlmdAo+ICA+IGA9IDxpbnRlZ2VyPmAKPiAgCj4gKyMjIyBjcmVkaXQyXF9y dW5xdWV1ZQo+ICs+IGA9IGNvcmUgfCBzb2NrZXQgfCBub2RlIHwgYWxsYAo+ICsKPiArPiBEZWZh dWx0OiBgc29ja2V0YAo+ICsKPiArU3BlY2lmeSBob3cgaG9zdCBDUFVzIGFyZSBhcnJhbmdlZCBp biBydW5xdWV1ZXMuIFJ1bnF1ZXVlcyBhcmUga2VwdAo+ICtiYWxhbmNlZCB3aXRoIHJlc3BlY3Qg dG8gdGhlIGxvYWQgZ2VuZXJhdGVkIGJ5IHRoZSB2Q1BVcyBydW5uaW5nIG9uCj4gK3RoZW0uIFNt YWxsZXIgcnVucXVldWVzIChhcyBpbiB3aXRoIGBjb3JlYCkgbWVhbnMgbW9yZSBhY2N1cmF0ZSBs b2FkCj4gK2JhbGFuY2luZyAoZm9yIGluc3RhbmNlLCBpdCB3aWxsIGRlYWwgYmV0dGVyIHdpdGgg aHlwZXJ0aHJlYWRpbmcpLAo+ICtidXQgYWxzbyBtb3JlIG92ZXJoZWFkLgo+ICsKPiArQXZhaWxh YmxlIGFsdGVybmF0aXZlcywgd2l0aCB0aGVpciBtZWFuaW5nLCBhcmU6Cj4gKyogYGNvcmVgOiBv bmUgcnVucXVldWUgcGVyIGVhY2ggcGh5c2ljYWwgY29yZSBvZiB0aGUgaG9zdDsKPiArKiBgc29j a2V0YDogb25lIHJ1bnF1ZXVlIHBlciBlYWNoIHBoeXNpY2FsIHNvY2tldCAod2hpY2ggb2Z0ZW4s Cj4gKyAgICAgICAgICAgIGJ1dCBub3QgYWx3YXlzLCBtYXRjaGVzIGEgTlVNQSBub2RlKSBvZiB0 aGUgaG9zdDsKPiArKiBgbm9kZWA6IG9uZSBydW5xdWV1ZSBwZXIgZWFjaCBOVU1BIG5vZGUgb2Yg dGhlIGhvc3Q7Cj4gKyogYGFsbGA6IGp1c3Qgb25lIHJ1bnF1ZXVlIHNoYXJlZCBieSBhbGwgdGhl IGxvZ2ljYWwgcENQVXMgb2YKPiArICAgICAgICAgdGhlIGhvc3QKPiArCj4gICMjIyBkYmdwCj4g ID4gYD0gZWhjaVsgPGludGVnZXI+IHwgQHBjaTxidXM+OjxzbG90Pi48ZnVuYz4gXWAKPiAgCj4g ZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vc2NoZWRfY3JlZGl0Mi5jIGIveGVuL2NvbW1vbi9zY2hl ZF9jcmVkaXQyLmMKPiBpbmRleCA0NTZiOWVhLi5jMjQyZGM0IDEwMDY0NAo+IC0tLSBhL3hlbi9j b21tb24vc2NoZWRfY3JlZGl0Mi5jCj4gKysrIGIveGVuL2NvbW1vbi9zY2hlZF9jcmVkaXQyLmMK PiBAQCAtODEsMTAgKzgxLDYgQEAKPiAgICogQ3JlZGl0cyBhcmUgInJlc2V0IiB3aGVuIHRoZSBu ZXh0IHZjcHUgaW4gdGhlIHJ1bnF1ZXVlIGlzIGxlc3MgdGhhbgo+ICAgKiBvciBlcXVhbCB0byB6 ZXJvLiAgQXQgdGhhdCBwb2ludCwgZXZlcnlvbmUncyBjcmVkaXRzIGFyZSAiY2xpcHBlZCIKPiAg ICogdG8gYSBzbWFsbCB2YWx1ZSwgYW5kIGEgZml4ZWQgY3JlZGl0IGlzIGFkZGVkIHRvIGV2ZXJ5 b25lLgo+IC0gKgo+IC0gKiBUaGUgcGxhbiBpcyBmb3IgYWxsIGNvcmVzIHRoYXQgc2hhcmUgYW4g TDIgd2lsbCBzaGFyZSB0aGUgc2FtZQo+IC0gKiBydW5xdWV1ZS4gIEF0IHRoZSBtb21lbnQsIHRo ZXJlIGlzIG9uZSBnbG9iYWwgcnVucXVldWUgZm9yIGFsbAo+IC0gKiBjb3Jlcy4KPiAgICovCj4g IAo+ICAvKgo+IEBAIC0xOTMsNiArMTg5LDU1IEBAIHN0YXRpYyBpbnQgX19yZWFkX21vc3RseSBv cHRfb3ZlcmxvYWRfYmFsYW5jZV90b2xlcmFuY2UgPSAtMzsKPiAgaW50ZWdlcl9wYXJhbSgiY3Jl ZGl0Ml9iYWxhbmNlX292ZXIiLCBvcHRfb3ZlcmxvYWRfYmFsYW5jZV90b2xlcmFuY2UpOwo+ICAK PiAgLyoKPiArICogUnVucXVldWUgb3JnYW5pemF0aW9uLgo+ICsgKgo+ICsgKiBUaGUgdmFyaW91 cyBjcHVzIGFyZSB0byBiZSBhc3NpZ25lZCBlYWNoIG9uZSB0byBhIHJ1bnF1ZXVlLCBhbmQgd2UK PiArICogd2FudCB0aGF0IHRvIGhhcHBlbiBiYXNpbmcgb24gdG9wb2xvZ3kuIEF0IHRoZSBtb21l bnQsIGl0IGlzIHBvc3NpYmxlCj4gKyAqIHRvIGNob29zZSB0byBhcnJhbmdlIHJ1bnF1ZXVlcyB0 byBiZToKPiArICoKPiArICogLSBwZXItY29yZTogbWVhbmluZyB0aGF0IHRoZXJlIHdpbGwgYmUg b25lIHJ1bnF1ZXVlIHBlciBlYWNoIHBoeXNpY2FsCj4gKyAqICAgICAgICAgICAgIGNvcmUgb2Yg dGhlIGhvc3QuIFRoaXMgd2lsbCBoYXBwZW4gaWYgdGhlIG9wdF9ydW5xdWV1ZQo+ICsgKiAgICAg ICAgICAgICBwYXJhbWV0ZXIgaXMgc2V0IHRvICdjb3JlJzsKPiArICoKPiArICogLSBwZXItbm9k ZTogbWVhbmluZyB0aGF0IHRoZXJlIHdpbGwgYmUgb25lIHJ1bnF1ZXVlIHBlciBlYWNoIHBoeXNp Y2FsCj4gKyAqICAgICAgICAgICAgIE5VTUEgbm9kZSBvZiB0aGUgaG9zdC4gVGhpcyB3aWxsIGhh cHBlbiBpZiB0aGUgb3B0X3J1bnF1ZXVlCj4gKyAqICAgICAgICAgICAgIHBhcmFtZXRlciBpcyBz ZXQgdG8gJ25vZGUnOwo+ICsgKgo+ICsgKiAtIHBlci1zb2NrZXQ6IG1lYW5pbmcgdGhhdCB0aGVy ZSB3aWxsIGJlIG9uZSBydW5xdWV1ZSBwZXIgZWFjaCBwaHlzaWNhbAo+ICsgKiAgICAgICAgICAg ICAgIHNvY2tldCAoQUtBIHBhY2thZ2UsIHdoaWNoIG9mdGVuLCBidXQgbm90IGFsd2F5cywgYWxz bwo+ICsgKiAgICAgICAgICAgICAgIG1hdGNoZXMgYSBOVU1BIG5vZGUpIG9mIHRoZSBob3N0OyBU aGlzIHdpbGwgaGFwcGVuIGlmCj4gKyAqICAgICAgICAgICAgICAgdGhlIG9wdF9ydW5xdWV1ZSBw YXJhbWV0ZXIgaXMgc2V0IHRvICdzb2NrZXQnOwo+ICsgKgo+ICsgKiAtIGdsb2JhbDogbWVhbmlu ZyB0aGF0IHRoZXJlIHdpbGwgYmUgb25seSBvbmUgcnVucXVldWUgdG8gd2hpY2ggYWxsIHRoZQo+ ICsgKiAgICAgICAgICAgKGxvZ2ljYWwpIHByb2Nlc3NvcnMgb2YgdGhlIGhvc3QgYmVsb25ncy4g VGhpcyB3aWxsIGhhcHBlbiBpZgo+ICsgKiAgICAgICAgICAgdGhlIG9wdF9ydW5xdWV1ZSBwYXJh bWV0ZXIgaXMgc2V0IHRvICdhbGwnLgo+ICsgKgo+ICsgKiBEZXBlbmRpbmcgb24gdGhlIHZhbHVl IG9mIG9wdF9ydW5xdWV1ZSwgdGhlcmVmb3JlLCBjcHVzIHRoYXQgYXJlIHBhcnQgb2YKPiArICog ZWl0aGVyIHRoZSBzYW1lIHBoeXNpY2FsIGNvcmUsIG9yIG9mIHRoZSBzYW1lIHBoeXNpY2FsIHNv Y2tldCwgd2lsbCBiZQo+ICsgKiBwdXQgdG9nZXRoZXIgdG8gZm9ybSBydW5xdWV1ZXMuCj4gKyAq Lwo+ICsjZGVmaW5lIE9QVF9SVU5RVUVVRV9DT1JFICAgMQo+ICsjZGVmaW5lIE9QVF9SVU5RVUVV RV9TT0NLRVQgMgo+ICsjZGVmaW5lIE9QVF9SVU5RVUVVRV9OT0RFICAgMwo+ICsjZGVmaW5lIE9Q VF9SVU5RVUVVRV9BTEwgICAgNAo+ICtzdGF0aWMgaW50IF9fcmVhZF9tb3N0bHkgb3B0X3J1bnF1 ZXVlID0gT1BUX1JVTlFVRVVFX1NPQ0tFVDsKPiArCj4gK3N0YXRpYyB2b2lkIHBhcnNlX2NyZWRp dDJfcnVucXVldWUoY29uc3QgY2hhciAqcykKPiArewo+ICsgICAgaWYgKCAhc3RybmNtcChzLCAi Y29yZSIsIDQpICYmICFzWzRdICkKPiArICAgICAgICBvcHRfcnVucXVldWUgPSBPUFRfUlVOUVVF VUVfQ09SRTsKPiArICAgIGVsc2UgaWYgKCAhc3RybmNtcChzLCAic29ja2V0IiwgNikgJiYgIXNb Nl0gKQo+ICsgICAgICAgIG9wdF9ydW5xdWV1ZSA9IE9QVF9SVU5RVUVVRV9TT0NLRVQ7Cj4gKyAg ICBlbHNlIGlmICggIXN0cm5jbXAocywgIm5vZGUiLCA0KSAmJiAhc1s0XSApCj4gKyAgICAgICAg b3B0X3J1bnF1ZXVlID0gT1BUX1JVTlFVRVVFX05PREU7Cj4gKyAgICBlbHNlIGlmICggIXN0cm5j bXAocywgImFsbCIsIDYpICYmICFzWzZdICkKClRoZSBsZW5ndGggaXMgd3JvbmcuIFNob3VsZCBi ZSAzIGluc3RlYWQgb2YgNiBoZXJlLgoKV2hpY2ggcG9zZXMgdGhlIHF1ZXN0aW9uOiB3aHkgZG9u J3QgeW91IHVzZSBzdHJjbXAoKSBoZXJlPyBJIGRvbid0IHNlZQphbnkgYWR2YW50YWdlIHVzaW5n IHN0cm5jbXAoKSBpbiB0aGlzIGNhc2UsIGVzcGVjaWFsbHkgYXMgeW91J3ZlIGp1c3QKcHJvdmVu IGl0IGlzIG1vcmUgZXJyb3IgcHJvbmUgaGVyZS4KCj4gKyAgICAgICAgb3B0X3J1bnF1ZXVlID0g T1BUX1JVTlFVRVVFX0FMTDsKPiArICAgIGVsc2UKPiArICAgICAgICBwcmludGsoIldBUk5JTkcs IHVucmVjb2duaXplZCB2YWx1ZSBvZiBjcmVkaXQyX3J1bnF1ZXVlIG9wdGlvbiFcbiIpOwo+ICt9 Cj4gK2N1c3RvbV9wYXJhbSgiY3JlZGl0Ml9ydW5xdWV1ZSIsIHBhcnNlX2NyZWRpdDJfcnVucXVl dWUpOwo+ICsKPiArLyoKPiAgICogUGVyLXJ1bnF1ZXVlIGRhdGEKPiAgICovCj4gIHN0cnVjdCBj c2NoZWQyX3J1bnF1ZXVlX2RhdGEgewo+IEBAIC0xOTcxLDYgKzIwMTYsMjIgQEAgc3RhdGljIHZv aWQgZGVhY3RpdmF0ZV9ydW5xdWV1ZShzdHJ1Y3QgY3NjaGVkMl9wcml2YXRlICpwcnYsIGludCBy cWkpCj4gICAgICBjcHVtYXNrX2NsZWFyX2NwdShycWksICZwcnYtPmFjdGl2ZV9xdWV1ZXMpOwo+ ICB9Cj4gIAo+ICtzdGF0aWMgaW5saW5lIGJvb2xfdCBzYW1lX25vZGUodW5zaWduZWQgaW50IGNw dWEsIHVuc2lnbmVkIGludCBjcHViKQo+ICt7Cj4gKyAgICByZXR1cm4gY3B1X3RvX25vZGUoY3B1 YSkgPT0gY3B1X3RvX25vZGUoY3B1Yik7Cj4gK30KPiArCj4gK3N0YXRpYyBpbmxpbmUgYm9vbF90 IHNhbWVfc29ja2V0KHVuc2lnbmVkIGludCBjcHVhLCB1bnNpZ25lZCBpbnQgY3B1YikKPiArewo+ ICsgICAgcmV0dXJuIGNwdV90b19zb2NrZXQoY3B1YSkgPT0gY3B1X3RvX3NvY2tldChjcHViKTsK PiArfQo+ICsKPiArc3RhdGljIGlubGluZSBib29sX3Qgc2FtZV9jb3JlKHVuc2lnbmVkIGludCBj cHVhLCB1bnNpZ25lZCBpbnQgY3B1YikKPiArewo+ICsgICAgcmV0dXJuIHNhbWVfc29ja2V0KGNw dWEsIGNwdWIpICYmCj4gKyAgICAgICAgICAgY3B1X3RvX2NvcmUoY3B1YSkgPT0gY3B1X3RvX2Nv cmUoY3B1Yik7Cj4gK30KPiArCj4gIHN0YXRpYyB1bnNpZ25lZCBpbnQKPiAgY3B1X3RvX3J1bnF1 ZXVlKHN0cnVjdCBjc2NoZWQyX3ByaXZhdGUgKnBydiwgdW5zaWduZWQgaW50IGNwdSkKPiAgewo+ IEBAIC0yMDAzLDcgKzIwNjQsMTAgQEAgY3B1X3RvX3J1bnF1ZXVlKHN0cnVjdCBjc2NoZWQyX3By aXZhdGUgKnBydiwgdW5zaWduZWQgaW50IGNwdSkKPiAgICAgICAgICBCVUdfT04oY3B1X3RvX3Nv Y2tldChjcHUpID09IFhFTl9JTlZBTElEX1NPQ0tFVF9JRCB8fAo+ICAgICAgICAgICAgICAgICBj cHVfdG9fc29ja2V0KHBlZXJfY3B1KSA9PSBYRU5fSU5WQUxJRF9TT0NLRVRfSUQpOwo+ICAKPiAt ICAgICAgICBpZiAoIGNwdV90b19zb2NrZXQoY3B1bWFza19maXJzdCgmcnFkLT5hY3RpdmUpKSA9 PSBjcHVfdG9fc29ja2V0KGNwdSkgKQo+ICsgICAgICAgIGlmICggb3B0X3J1bnF1ZXVlID09IE9Q VF9SVU5RVUVVRV9BTEwgfHwKPiArICAgICAgICAgICAgIChvcHRfcnVucXVldWUgPT0gT1BUX1JV TlFVRVVFX0NPUkUgJiYgc2FtZV9jb3JlKHBlZXJfY3B1LCBjcHUpKSB8fAo+ICsgICAgICAgICAg ICAgKG9wdF9ydW5xdWV1ZSA9PSBPUFRfUlVOUVVFVUVfU09DS0VUICYmIHNhbWVfc29ja2V0KHBl ZXJfY3B1LCBjcHUpKSB8fAo+ICsgICAgICAgICAgICAgKG9wdF9ydW5xdWV1ZSA9PSBPUFRfUlVO UVVFVUVfTk9ERSAmJiBzYW1lX25vZGUocGVlcl9jcHUsIGNwdSkpICkKPiAgICAgICAgICAgICAg YnJlYWs7Cj4gICAgICB9Cj4gIAo+IEBAIC0yMTU3LDYgKzIyMjEsOCBAQCBjc2NoZWQyX2luaXQo c3RydWN0IHNjaGVkdWxlciAqb3BzKQo+ICAgICAgcHJpbnRrKCIgbG9hZF93aW5kb3dfc2hpZnQ6 ICVkXG4iLCBvcHRfbG9hZF93aW5kb3dfc2hpZnQpOwo+ICAgICAgcHJpbnRrKCIgdW5kZXJsb2Fk X2JhbGFuY2VfdG9sZXJhbmNlOiAlZFxuIiwgb3B0X3VuZGVybG9hZF9iYWxhbmNlX3RvbGVyYW5j ZSk7Cj4gICAgICBwcmludGsoIiBvdmVybG9hZF9iYWxhbmNlX3RvbGVyYW5jZTogJWRcbiIsIG9w dF9vdmVybG9hZF9iYWxhbmNlX3RvbGVyYW5jZSk7Cj4gKyAgICBwcmludGsoIiBydW5xdWV1ZXMg YXJyYW5nZW1lbnQ6IHBlci0lc1xuIiwKPiArICAgICAgICAgICBvcHRfcnVucXVldWUgPT0gT1BU X1JVTlFVRVVFX0NPUkUgPyAiY29yZSIgOiAic29ja2V0Iik7Cgpub2RlPyBhbGw/Cgo+ICAKPiAg ICAgIGlmICggb3B0X2xvYWRfd2luZG93X3NoaWZ0IDwgTE9BREFWR19XSU5ET1dfU0hJRlRfTUlO ICkKPiAgICAgIHsKCkp1ZXJnZW4KCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4u b3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=