From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dario Faggioli Subject: [PATCH v3 08/11] xen: sched: allow for choosing credit2 runqueues configuration at boot Date: Fri, 08 Apr 2016 03:24:21 +0200 Message-ID: <20160408012420.10762.61178.stgit@Solace.fritz.box> References: <20160408011204.10762.14241.stgit@Solace.fritz.box> 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 1aoL9t-00084Z-PJ for xen-devel@lists.xenproject.org; Fri, 08 Apr 2016 01:24:25 +0000 Received: by mail-wm0-f68.google.com with SMTP id a140so750877wma.2 for ; Thu, 07 Apr 2016 18:24:23 -0700 (PDT) In-Reply-To: <20160408011204.10762.14241.stgit@Solace.fritz.box> 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 Cc: George Dunlap , Juergen Gross , Uma Sharma List-Id: xen-devel@lists.xenproject.org SW4gZmFjdCwgY3JlZGl0MiB1c2VzIENQVSB0b3BvbG9neSB0byBkZWNpZGUgaG93IHRvIGFycmFu Z2UKaXRzIGludGVybmFsIHJ1bnF1ZXVlcy4gQmVmb3JlIHRoaXMgY2hhbmdlLCBvbmx5ICdvbmUg cnVucXVldWUKcGVyIHNvY2tldCcgd2FzIGFsbG93ZWQuIEhvd2V2ZXIsIGV4cGVyaW1lbnRzIGhh dmUgc2hvd24gdGhhdCwKZm9yIGluc3RhbmNlLCBoYXZpbmcgb25lIHJ1bnF1ZXVlIHBlciBwaHlz aWNhbCBjb3JlIGltcHJvdmVzCnBlcmZvcm1hbmNlLCBlc3BlY2lhbGx5IGluIGNhc2UgaHlwZXJ0 aHJlYWRpbmcgaXMgYXZhaWxhYmxlLgoKSW4gZ2VuZXJhbCwgaXQgbWFrZXMgc2Vuc2UgdG8gYWxs b3cgdXNlcnMgdG8gcGljayBvbmUgcnVucXVldWUKYXJyYW5nZW1lbnQgYXQgYm9vdCB0aW1lLCBz byB0aGF0OgogLSBtb3JlIGV4cGVyaW1lbnRzIGNhbiBiZSBlYXNpbHkgcGVyZm9ybWVkIHRvIGV2 ZW4gYmV0dGVyCiAgIGFzc2VzcyBhbmQgaW1wcm92ZSBwZXJmb3JtYW5jZTsKIC0gb25lIGNhbiBz ZWxlY3QgdGhlIGJlc3QgY29uZmlndXJhdGlvbiBmb3IgaGlzIHNwZWNpZmljCiAgIHVzZSBjYXNl IGFuZC9vciBoYXJkd2FyZS4KClRoaXMgcGF0Y2ggZW5hYmxlcyB0aGUgYWJvdmUuCgpOb3RlIHRo YXQsIGZvciBjb3JyZWN0bHkgYXJyYW5naW5nIHJ1bnF1ZXVlcyB0byBiZSBwZXItY29yZSwKanVz dCBjaGVja2luZyBjcHVfdG9fY29yZSgpIG9uIHRoZSBob3N0IENQVXMgaXMgbm90IGVub3VnaC4K SW4gZmFjdCwgY29yZXMgKGFuZCBoeXBlcnRocmVhZHMpIG9uIGRpZmZlcmVudCBzb2NrZXRzLCBj YW4KaGF2ZSB0aGUgc2FtZSBjb3JlIChhbmQgdGhyZWFkKSBJRHMhIFdlLCB0aGVyZWZvcmUsIG5l ZWQgdG8KY2hlY2sgd2hldGhlciB0aGUgZnVsbCB0b3BvbG9neSBvZiB0d28gQ1BVcyBtYXRjaGVz LCBmb3IKdGhlbSB0byBiZSBwdXQgaW4gdGhlIHNhbWUgcnVucXVldWUuCgpOb3RlIGFsc28gdGhh dCB0aGUgZGVmYXVsdCAoYWx0aG91Z2ggbm90IGZ1bmN0aW9uYWwpIGZvcgpjcmVkaXQyLCBzaW5j ZSBub3csIGhhcyBiZWVuIHBlci1zb2NrZXQgcnVucXVldWUuIFRoaXMgcGF0Y2gKbGVhdmVzIHRo aW5ncyB0aGF0IHdheSwgdG8gYXZvaWQgbWl4aW5nIHBvbGljeSBhbmQgdGVjaG5pY2FsCmNoYW5n ZXMuCgpGaW5hbGx5LCBpdCB3b3VsZCBiZSBhIG5pY2UgZmVhdHVyZSB0byBiZSBhYmxlIHRvIHNl bGVjdAphIHBhcnRpY3VsYXIgcnVucXVldWUgYXJyYW5nZW1lbnQsIGV2ZW4gd2hlbiBjcmVhdGlu ZyBhCkNyZWRpdDIgY3B1cG9vbC4gVGhpcyBpcyBsZWZ0IGFzIGZ1dHVyZSB3b3JrLgoKU2lnbmVk LW9mZi1ieTogRGFyaW8gRmFnZ2lvbGkgPGRhcmlvLmZhZ2dpb2xpQGNpdHJpeC5jb20+ClNpZ25l ZC1vZmYtYnk6IFVtYSBTaGFybWEgPHVtYS5zaGFybWE1MjNAZ21haWwuY29tPgotLS0KQ2M6IEdl b3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAZXUuY2l0cml4LmNvbT4KQ2M6IFVtYSBTaGFybWEg PHVtYS5zaGFybWE1MjNAZ21haWwuY29tPgpDYzogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2Uu Y29tPgotLS0KQ2hhbmdlcyBmcm9tIHYyOgogKiB2YWxpZCBzdHJpbmdzICBhcmUgbm93IGluIGFu IGFycmF5LCB0aGF0IHdlIHNjYW4gZHVyaW5nCiAgIHBhcmFtZXRlciBwYXJzaW5nLCBhcyBzdWdn ZXN0ZWQgZHVyaW5nIHJldmlldy4KCkNhaG5nZXMgZnJvbSB2MToKICogZml4IGJ1ZyBpbiBwYXJh bWV0ZXIgcGFyc2luZywgYW5kIHN0YXJ0IHVzaW5nIHN0cmNtcCgpCiAgIGZvciB0aGF0LCBhcyBy ZXF1ZXN0ZWQgZHVyaW5nIHJldmlldy4KLS0tCiBkb2NzL21pc2MveGVuLWNvbW1hbmQtbGluZS5t YXJrZG93biB8ICAgMTkgKysrKysrKysKIHhlbi9jb21tb24vc2NoZWRfY3JlZGl0Mi5jICAgICAg ICAgIHwgICA4MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQogMiBmaWxlcyBj aGFuZ2VkLCA5NyBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Rv Y3MvbWlzYy94ZW4tY29tbWFuZC1saW5lLm1hcmtkb3duIGIvZG9jcy9taXNjL3hlbi1jb21tYW5k LWxpbmUubWFya2Rvd24KaW5kZXggY2E3N2UzYi4uMDA0N2Y5NCAxMDA2NDQKLS0tIGEvZG9jcy9t aXNjL3hlbi1jb21tYW5kLWxpbmUubWFya2Rvd24KKysrIGIvZG9jcy9taXNjL3hlbi1jb21tYW5k LWxpbmUubWFya2Rvd24KQEAgLTQ2OSw2ICs0NjksMjUgQEAgY29tYmluYXRpb24gd2l0aCB0aGUg YGxvd19jcmFzaGluZm9gIGNvbW1hbmQgbGluZSBvcHRpb24uCiAjIyMgY3JlZGl0MlxfbG9hZFxf d2luZG93XF9zaGlmdAogPiBgPSA8aW50ZWdlcj5gCiAKKyMjIyBjcmVkaXQyXF9ydW5xdWV1ZQor PiBgPSBjb3JlIHwgc29ja2V0IHwgbm9kZSB8IGFsbGAKKworPiBEZWZhdWx0OiBgc29ja2V0YAor CitTcGVjaWZ5IGhvdyBob3N0IENQVXMgYXJlIGFycmFuZ2VkIGluIHJ1bnF1ZXVlcy4gUnVucXVl dWVzIGFyZSBrZXB0CitiYWxhbmNlZCB3aXRoIHJlc3BlY3QgdG8gdGhlIGxvYWQgZ2VuZXJhdGVk IGJ5IHRoZSB2Q1BVcyBydW5uaW5nIG9uCit0aGVtLiBTbWFsbGVyIHJ1bnF1ZXVlcyAoYXMgaW4g d2l0aCBgY29yZWApIG1lYW5zIG1vcmUgYWNjdXJhdGUgbG9hZAorYmFsYW5jaW5nIChmb3IgaW5z dGFuY2UsIGl0IHdpbGwgZGVhbCBiZXR0ZXIgd2l0aCBoeXBlcnRocmVhZGluZyksCitidXQgYWxz byBtb3JlIG92ZXJoZWFkLgorCitBdmFpbGFibGUgYWx0ZXJuYXRpdmVzLCB3aXRoIHRoZWlyIG1l YW5pbmcsIGFyZToKKyogYGNvcmVgOiBvbmUgcnVucXVldWUgcGVyIGVhY2ggcGh5c2ljYWwgY29y ZSBvZiB0aGUgaG9zdDsKKyogYHNvY2tldGA6IG9uZSBydW5xdWV1ZSBwZXIgZWFjaCBwaHlzaWNh bCBzb2NrZXQgKHdoaWNoIG9mdGVuLAorICAgICAgICAgICAgYnV0IG5vdCBhbHdheXMsIG1hdGNo ZXMgYSBOVU1BIG5vZGUpIG9mIHRoZSBob3N0OworKiBgbm9kZWA6IG9uZSBydW5xdWV1ZSBwZXIg ZWFjaCBOVU1BIG5vZGUgb2YgdGhlIGhvc3Q7CisqIGBhbGxgOiBqdXN0IG9uZSBydW5xdWV1ZSBz aGFyZWQgYnkgYWxsIHRoZSBsb2dpY2FsIHBDUFVzIG9mCisgICAgICAgICB0aGUgaG9zdAorCiAj IyMgZGJncAogPiBgPSBlaGNpWyA8aW50ZWdlcj4gfCBAcGNpPGJ1cz46PHNsb3Q+LjxmdW5jPiBd YAogCmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL3NjaGVkX2NyZWRpdDIuYyBiL3hlbi9jb21tb24v c2NoZWRfY3JlZGl0Mi5jCmluZGV4IGE2MWE0NWEuLmVlYjNmNTQgMTAwNjQ0Ci0tLSBhL3hlbi9j b21tb24vc2NoZWRfY3JlZGl0Mi5jCisrKyBiL3hlbi9jb21tb24vc2NoZWRfY3JlZGl0Mi5jCkBA IC04MSwxMCArODEsNiBAQAogICogQ3JlZGl0cyBhcmUgInJlc2V0IiB3aGVuIHRoZSBuZXh0IHZj cHUgaW4gdGhlIHJ1bnF1ZXVlIGlzIGxlc3MgdGhhbgogICogb3IgZXF1YWwgdG8gemVyby4gIEF0 IHRoYXQgcG9pbnQsIGV2ZXJ5b25lJ3MgY3JlZGl0cyBhcmUgImNsaXBwZWQiCiAgKiB0byBhIHNt YWxsIHZhbHVlLCBhbmQgYSBmaXhlZCBjcmVkaXQgaXMgYWRkZWQgdG8gZXZlcnlvbmUuCi0gKgot ICogVGhlIHBsYW4gaXMgZm9yIGFsbCBjb3JlcyB0aGF0IHNoYXJlIGFuIEwyIHdpbGwgc2hhcmUg dGhlIHNhbWUKLSAqIHJ1bnF1ZXVlLiAgQXQgdGhlIG1vbWVudCwgdGhlcmUgaXMgb25lIGdsb2Jh bCBydW5xdWV1ZSBmb3IgYWxsCi0gKiBjb3Jlcy4KICAqLwogCiAvKgpAQCAtMTkzLDYgKzE4OSw2 MyBAQCBzdGF0aWMgaW50IF9fcmVhZF9tb3N0bHkgb3B0X292ZXJsb2FkX2JhbGFuY2VfdG9sZXJh bmNlID0gLTM7CiBpbnRlZ2VyX3BhcmFtKCJjcmVkaXQyX2JhbGFuY2Vfb3ZlciIsIG9wdF9vdmVy bG9hZF9iYWxhbmNlX3RvbGVyYW5jZSk7CiAKIC8qCisgKiBSdW5xdWV1ZSBvcmdhbml6YXRpb24u CisgKgorICogVGhlIHZhcmlvdXMgY3B1cyBhcmUgdG8gYmUgYXNzaWduZWQgZWFjaCBvbmUgdG8g YSBydW5xdWV1ZSwgYW5kIHdlCisgKiB3YW50IHRoYXQgdG8gaGFwcGVuIGJhc2luZyBvbiB0b3Bv bG9neS4gQXQgdGhlIG1vbWVudCwgaXQgaXMgcG9zc2libGUKKyAqIHRvIGNob29zZSB0byBhcnJh bmdlIHJ1bnF1ZXVlcyB0byBiZToKKyAqCisgKiAtIHBlci1jb3JlOiBtZWFuaW5nIHRoYXQgdGhl cmUgd2lsbCBiZSBvbmUgcnVucXVldWUgcGVyIGVhY2ggcGh5c2ljYWwKKyAqICAgICAgICAgICAg IGNvcmUgb2YgdGhlIGhvc3QuIFRoaXMgd2lsbCBoYXBwZW4gaWYgdGhlIG9wdF9ydW5xdWV1ZQor ICogICAgICAgICAgICAgcGFyYW1ldGVyIGlzIHNldCB0byAnY29yZSc7CisgKgorICogLSBwZXIt bm9kZTogbWVhbmluZyB0aGF0IHRoZXJlIHdpbGwgYmUgb25lIHJ1bnF1ZXVlIHBlciBlYWNoIHBo eXNpY2FsCisgKiAgICAgICAgICAgICBOVU1BIG5vZGUgb2YgdGhlIGhvc3QuIFRoaXMgd2lsbCBo YXBwZW4gaWYgdGhlIG9wdF9ydW5xdWV1ZQorICogICAgICAgICAgICAgcGFyYW1ldGVyIGlzIHNl dCB0byAnbm9kZSc7CisgKgorICogLSBwZXItc29ja2V0OiBtZWFuaW5nIHRoYXQgdGhlcmUgd2ls bCBiZSBvbmUgcnVucXVldWUgcGVyIGVhY2ggcGh5c2ljYWwKKyAqICAgICAgICAgICAgICAgc29j a2V0IChBS0EgcGFja2FnZSwgd2hpY2ggb2Z0ZW4sIGJ1dCBub3QgYWx3YXlzLCBhbHNvCisgKiAg ICAgICAgICAgICAgIG1hdGNoZXMgYSBOVU1BIG5vZGUpIG9mIHRoZSBob3N0OyBUaGlzIHdpbGwg aGFwcGVuIGlmCisgKiAgICAgICAgICAgICAgIHRoZSBvcHRfcnVucXVldWUgcGFyYW1ldGVyIGlz IHNldCB0byAnc29ja2V0JzsKKyAqCisgKiAtIGdsb2JhbDogbWVhbmluZyB0aGF0IHRoZXJlIHdp bGwgYmUgb25seSBvbmUgcnVucXVldWUgdG8gd2hpY2ggYWxsIHRoZQorICogICAgICAgICAgIChs b2dpY2FsKSBwcm9jZXNzb3JzIG9mIHRoZSBob3N0IGJlbG9uZ3MuIFRoaXMgd2lsbCBoYXBwZW4g aWYKKyAqICAgICAgICAgICB0aGUgb3B0X3J1bnF1ZXVlIHBhcmFtZXRlciBpcyBzZXQgdG8gJ2Fs bCcuCisgKgorICogRGVwZW5kaW5nIG9uIHRoZSB2YWx1ZSBvZiBvcHRfcnVucXVldWUsIHRoZXJl Zm9yZSwgY3B1cyB0aGF0IGFyZSBwYXJ0IG9mCisgKiBlaXRoZXIgdGhlIHNhbWUgcGh5c2ljYWwg Y29yZSwgb3Igb2YgdGhlIHNhbWUgcGh5c2ljYWwgc29ja2V0LCB3aWxsIGJlCisgKiBwdXQgdG9n ZXRoZXIgdG8gZm9ybSBydW5xdWV1ZXMuCisgKi8KKyNkZWZpbmUgT1BUX1JVTlFVRVVFX0NPUkUg ICAwCisjZGVmaW5lIE9QVF9SVU5RVUVVRV9TT0NLRVQgMQorI2RlZmluZSBPUFRfUlVOUVVFVUVf Tk9ERSAgIDIKKyNkZWZpbmUgT1BUX1JVTlFVRVVFX0FMTCAgICAzCitzdGF0aWMgY29uc3QgY2hh ciAqY29uc3Qgb3B0X3J1bnF1ZXVlX3N0cltdID0geworICAgIFtPUFRfUlVOUVVFVUVfQ09SRV0g PSAiY29yZSIsCisgICAgW09QVF9SVU5RVUVVRV9TT0NLRVRdID0gInNvY2tldCIsCisgICAgW09Q VF9SVU5RVUVVRV9OT0RFXSA9ICJub2RlIiwKKyAgICBbT1BUX1JVTlFVRVVFX0FMTF0gPSAiYWxs IgorfTsKK3N0YXRpYyBpbnQgX19yZWFkX21vc3RseSBvcHRfcnVucXVldWUgPSBPUFRfUlVOUVVF VUVfU09DS0VUOworCitzdGF0aWMgdm9pZCBwYXJzZV9jcmVkaXQyX3J1bnF1ZXVlKGNvbnN0IGNo YXIgKnMpCit7CisgICAgdW5zaWduZWQgaW50IGk7CisKKyAgICBmb3IgKCBpID0gMDsgaSA8PSBP UFRfUlVOUVVFVUVfQUxMOyBpKysgKQorICAgIHsKKyAgICAgICAgaWYgKCAhc3RyY21wKHMsIG9w dF9ydW5xdWV1ZV9zdHJbaV0pICkKKyAgICAgICAgeworICAgICAgICAgICAgb3B0X3J1bnF1ZXVl ID0gaTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgIH0KKworICAgIHByaW50 aygiV0FSTklORywgdW5yZWNvZ25pemVkIHZhbHVlIG9mIGNyZWRpdDJfcnVucXVldWUgb3B0aW9u IVxuIik7Cit9CitjdXN0b21fcGFyYW0oImNyZWRpdDJfcnVucXVldWUiLCBwYXJzZV9jcmVkaXQy X3J1bnF1ZXVlKTsKKworLyoKICAqIFBlci1ydW5xdWV1ZSBkYXRhCiAgKi8KIHN0cnVjdCBjc2No ZWQyX3J1bnF1ZXVlX2RhdGEgewpAQCAtMTk3NCw2ICsyMDI3LDIyIEBAIHN0YXRpYyB2b2lkIGRl YWN0aXZhdGVfcnVucXVldWUoc3RydWN0IGNzY2hlZDJfcHJpdmF0ZSAqcHJ2LCBpbnQgcnFpKQog ICAgIGNwdW1hc2tfY2xlYXJfY3B1KHJxaSwgJnBydi0+YWN0aXZlX3F1ZXVlcyk7CiB9CiAKK3N0 YXRpYyBpbmxpbmUgYm9vbF90IHNhbWVfbm9kZSh1bnNpZ25lZCBpbnQgY3B1YSwgdW5zaWduZWQg aW50IGNwdWIpCit7CisgICAgcmV0dXJuIGNwdV90b19ub2RlKGNwdWEpID09IGNwdV90b19ub2Rl KGNwdWIpOworfQorCitzdGF0aWMgaW5saW5lIGJvb2xfdCBzYW1lX3NvY2tldCh1bnNpZ25lZCBp bnQgY3B1YSwgdW5zaWduZWQgaW50IGNwdWIpCit7CisgICAgcmV0dXJuIGNwdV90b19zb2NrZXQo Y3B1YSkgPT0gY3B1X3RvX3NvY2tldChjcHViKTsKK30KKworc3RhdGljIGlubGluZSBib29sX3Qg c2FtZV9jb3JlKHVuc2lnbmVkIGludCBjcHVhLCB1bnNpZ25lZCBpbnQgY3B1YikKK3sKKyAgICBy ZXR1cm4gc2FtZV9zb2NrZXQoY3B1YSwgY3B1YikgJiYKKyAgICAgICAgICAgY3B1X3RvX2NvcmUo Y3B1YSkgPT0gY3B1X3RvX2NvcmUoY3B1Yik7Cit9CisKIHN0YXRpYyB1bnNpZ25lZCBpbnQKIGNw dV90b19ydW5xdWV1ZShzdHJ1Y3QgY3NjaGVkMl9wcml2YXRlICpwcnYsIHVuc2lnbmVkIGludCBj cHUpCiB7CkBAIC0yMDA2LDcgKzIwNzUsMTAgQEAgY3B1X3RvX3J1bnF1ZXVlKHN0cnVjdCBjc2No ZWQyX3ByaXZhdGUgKnBydiwgdW5zaWduZWQgaW50IGNwdSkKICAgICAgICAgQlVHX09OKGNwdV90 b19zb2NrZXQoY3B1KSA9PSBYRU5fSU5WQUxJRF9TT0NLRVRfSUQgfHwKICAgICAgICAgICAgICAg IGNwdV90b19zb2NrZXQocGVlcl9jcHUpID09IFhFTl9JTlZBTElEX1NPQ0tFVF9JRCk7CiAKLSAg ICAgICAgaWYgKCBjcHVfdG9fc29ja2V0KGNwdW1hc2tfZmlyc3QoJnJxZC0+YWN0aXZlKSkgPT0g Y3B1X3RvX3NvY2tldChjcHUpICkKKyAgICAgICAgaWYgKCBvcHRfcnVucXVldWUgPT0gT1BUX1JV TlFVRVVFX0FMTCB8fAorICAgICAgICAgICAgIChvcHRfcnVucXVldWUgPT0gT1BUX1JVTlFVRVVF X0NPUkUgJiYgc2FtZV9jb3JlKHBlZXJfY3B1LCBjcHUpKSB8fAorICAgICAgICAgICAgIChvcHRf cnVucXVldWUgPT0gT1BUX1JVTlFVRVVFX1NPQ0tFVCAmJiBzYW1lX3NvY2tldChwZWVyX2NwdSwg Y3B1KSkgfHwKKyAgICAgICAgICAgICAob3B0X3J1bnF1ZXVlID09IE9QVF9SVU5RVUVVRV9OT0RF ICYmIHNhbWVfbm9kZShwZWVyX2NwdSwgY3B1KSkgKQogICAgICAgICAgICAgYnJlYWs7CiAgICAg fQogCkBAIC0yMTcwLDYgKzIyNDIsNyBAQCBjc2NoZWQyX2luaXQoc3RydWN0IHNjaGVkdWxlciAq b3BzKQogICAgIHByaW50aygiIGxvYWRfd2luZG93X3NoaWZ0OiAlZFxuIiwgb3B0X2xvYWRfd2lu ZG93X3NoaWZ0KTsKICAgICBwcmludGsoIiB1bmRlcmxvYWRfYmFsYW5jZV90b2xlcmFuY2U6ICVk XG4iLCBvcHRfdW5kZXJsb2FkX2JhbGFuY2VfdG9sZXJhbmNlKTsKICAgICBwcmludGsoIiBvdmVy bG9hZF9iYWxhbmNlX3RvbGVyYW5jZTogJWRcbiIsIG9wdF9vdmVybG9hZF9iYWxhbmNlX3RvbGVy YW5jZSk7CisgICAgcHJpbnRrKCIgcnVucXVldWVzIGFycmFuZ2VtZW50OiAlc1xuIiwgb3B0X3J1 bnF1ZXVlX3N0cltvcHRfcnVucXVldWVdKTsKIAogICAgIGlmICggb3B0X2xvYWRfd2luZG93X3No aWZ0IDwgTE9BREFWR19XSU5ET1dfU0hJRlRfTUlOICkKICAgICB7CgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApY ZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK