From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dario Faggioli Subject: Re: [PATCH v2 09/10] libxl: allow to set the ratelimit value online for Credit2 Date: Fri, 30 Sep 2016 14:37:04 +0200 Message-ID: <1475239024.5315.87.camel@citrix.com> References: <147520253247.22544.10673844222866363947.stgit@Solace.fritz.box> <147520406186.22544.1059342691539063899.stgit@Solace.fritz.box> <22510.16049.351726.440830@mariner.uk.xensource.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============5689523974997958420==" Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bpx41-0001s9-Ai for xen-devel@lists.xenproject.org; Fri, 30 Sep 2016 12:37:17 +0000 In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: George Dunlap , Ian Jackson Cc: George Dunlap , xen-devel@lists.xenproject.org, Wei Liu List-Id: xen-devel@lists.xenproject.org --===============5689523974997958420== Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="=-H1OVWLFjkmGIjwyoinuV" --=-H1OVWLFjkmGIjwyoinuV Content-Type: multipart/mixed; boundary="=-zRfezCgIejfviblQayxN" --=-zRfezCgIejfviblQayxN Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, 2016-09-30 at 11:33 +0100, George Dunlap wrote: > On 30/09/16 11:30, Ian Jackson wrote: > >=20 > > Dario Faggioli writes ("[PATCH v2 09/10] libxl: allow to set the > > ratelimit value online for Credit2"): > > >=20 > > > This is the remaining part of the plumbing (the libxl > > > one) necessary to be able to change the value of the > > > ratelimit_us parameter online, for Credit2 (like it is > > > already for Credit1). > >=20 > > Thanks.=C2=A0=C2=A0I have some coding style nits, all but one of which = are > > utterly trivial.=C2=A0=C2=A0If it hadn't been for the `rc=3D0' one I wo= uld have > > acked this patch as-is. > >=20 Ok, thanks for looking this quickly. :-) > > > +int libxl_sched_credit2_params_set(libxl_ctx *ctx, uint32_t > > > poolid, > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0libxl_= sched_credit2_params > > > *scinfo) > > > +{ > > > +=C2=A0=C2=A0=C2=A0=C2=A0struct xen_sysctl_credit2_schedule sparam; > > > +=C2=A0=C2=A0=C2=A0=C2=A0int r, rc; > > > +=C2=A0=C2=A0=C2=A0=C2=A0GC_INIT(ctx); > > > + > > > +=C2=A0=C2=A0=C2=A0=C2=A0rc =3D sched_ratelimit_check(gc, scinfo->rat= elimit_us); > > > +=C2=A0=C2=A0=C2=A0=C2=A0if (rc) { > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0goto out; > > > +=C2=A0=C2=A0=C2=A0=C2=A0} > >=20 > > When you respin this, I think IWBNI you could change this to > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0if (rc) > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0goto out; > > or > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0if (rc) goto out; > > both of which are encouraged by the coding style, and are more > > common > > inside libxl. > >=20 Right! > > An earlier hunk in this patch does not adjust from a similar > > construct > > where the { } are becoming newly unnecessary.=C2=A0=C2=A0You may want t= o > > adjust > > that too, but I won't object if you don't feel like it. > >=20 Sure. > > > +=C2=A0=C2=A0=C2=A0=C2=A0sparam.ratelimit_us =3D scinfo->ratelimit_us= ; > > > + > > > +=C2=A0=C2=A0=C2=A0=C2=A0r =3D xc_sched_credit2_params_set(ctx->xch, = poolid, &sparam); > > > +=C2=A0=C2=A0=C2=A0=C2=A0if ( r < 0 ) { > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0^=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0^ > > Coding style: libxl does not use the spaces just inside the ( ). > >=20 Bah, how did this got here! :-/ > > >=20 > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0LOGE(ERROR, "Setting= Credit2 scheduler parameters"); > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0rc =3D ERROR_FAIL; > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0goto out; > > > +=C2=A0=C2=A0=C2=A0=C2=A0} > > > + > > > +=C2=A0=C2=A0=C2=A0=C2=A0scinfo->ratelimit_us =3D sparam.ratelimit_us= ; > > > + > > > + out: > > > +=C2=A0=C2=A0=C2=A0=C2=A0GC_FREE; > > > +=C2=A0=C2=A0=C2=A0=C2=A0return rc; > >=20 > > This should have an explicit assignment rc=3D0 before the out > > label.=C2=A0=C2=A0As > > it is, it will happen to be 0 anyway, so that's a stylistic fix. >=20 > If I'm happy with it as-is, and I fix these up before I check them > in, > can I put your Ack on it?=C2=A0=C2=A0 > So, just FTR, it doesn't just "happen to be 0 anyway", that was on purpose. :-) I.e., I think the function is small and simple enough for me to take advantage of the knowledge that, when we get to the out: label, we've necessarily called sched_ratelimit_check(), and saved the return code in 'rc', and that such return code is either 0, or the proper error value we want to return. That being said, it's no big deal, and I'm fine whatever the code ends up looking. > Or would you rather have Dario re-send it to > make sure the changes get implemented correctly? >=20 Again, I'm fine either way. For your convenience, I'm attaching here two variants of this patch. Both have the coding style fixes suggested. One (the one with '-rc' in the name), includes the 'rc =3D 0', the other doesn't. Feel free to pickup whichever you find best/more convenient/etc, or feel free to ignore them, if they're not useful. I'm fine in any case. :-) Thanks and Regards, Dario --=20 <> (Raistlin Majere) ----------------------------------------------------------------- Dario Faggioli, Ph.D, http://about.me/dario.faggioli Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK) --=-zRfezCgIejfviblQayxN Content-Disposition: attachment; filename="libxl-allow-disabling-ratelimit-online.patch" Content-Type: text/x-patch; name="libxl-allow-disabling-ratelimit-online.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbTogRGFyaW8gRmFnZ2lvbGkgPGRhcmlvLmZhZ2dpb2xpQGNpdHJpeC5jb20+CgpsaWJ4bDog YWxsb3cgdG8gc2V0IHRoZSByYXRlbGltaXQgdmFsdWUgb25saW5lIGZvciBDcmVkaXQyCgpUaGlz IGlzIHRoZSByZW1haW5pbmcgcGFydCBvZiB0aGUgcGx1bWJpbmcgKHRoZSBsaWJ4bApvbmUpIG5l Y2Vzc2FyeSB0byBiZSBhYmxlIHRvIGNoYW5nZSB0aGUgdmFsdWUgb2YgdGhlCnJhdGVsaW1pdF91 cyBwYXJhbWV0ZXIgb25saW5lLCBmb3IgQ3JlZGl0MiAobGlrZSBpdCBpcwphbHJlYWR5IGZvciBD cmVkaXQxKS4KCk5vdGUgdGhhdCwgc28gZmFyLCB3ZSB3ZXJlIHJlamVjdGluZyAoZm9yIENyZWRp dDEpIGEKbmV3IHZhbHVlIG9mIHplcm8sIGRlc3BpdGUgaXQgaXMgYSBwcmV0dHkgbmljZSB3YXkg dG8KYXNrIGZvciB0aGUgcmF0ZSBsaW1pdGluZyB0byBiZSBkaXNhYmxlZCwgYW5kIHRoZQpoeXBl cnZpc29yIGlzIGFscmVhZHkgY2FwYWJsZSBvZiBkZWFsaW5nIHdpdGggaXQgaW4KdGhhdCB3YXku CgpUaGVyZWZvcmUsIHdlIGNoYW5nZSB0aGluZ3Mgc28gdGhhdCBpdCBpcyBwb3NzaWJsZSB0bwpk byBzbywgYm90aCBmb3IgQ3JlZGl0MSBhbmQgQ3JlZGl0MgoKU2lnbmVkLW9mZi1ieTogRGFyaW8g RmFnZ2lvbGkgPGRhcmlvLmZhZ2dpb2xpQGNpdHJpeC5jb20+Ci0tLQpDYzogSWFuIEphY2tzb24g PGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+CkNjOiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXgu Y29tPgpDYzogR2VvcmdlIER1bmxhcCA8Z2VvcmdlLmR1bmxhcEBldS5jaXRyaXguY29tPgotLS0K Q2hhbmdlcyBmcm9tIHYyOgogKiBjb2Rpbmcgc3R5bGUsIHJlcG9ydGVkIGR1cmluZyByZXZpZXcu CgpDaGFuZ2VzIGZyb20gdjE6CiAqIGFkZGVkIHRoZSBhcHByb3ByaWF0ZSBMSUJYTF9IQVZFXzxm b28+LCBhcyByZXF1ZXN0ZWQgZHVyaW5nIHJldmlldy4KICogY29kaW5nIHN0eWxlIGZpeGVzIHB1 dCBpbiBwcmV2aW91cyBwYXRjaCwgYXMgcmVxdWVzdGVkIGR1cmluZyByZXZpZXcuCgpkaWZmIC0t Z2l0IGEvdG9vbHMvbGlieGwvbGlieGwuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsLmMKaW5kZXggZDI1 NTJmOS4uNTdjMDUyYyAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGwuYworKysgYi90b29s cy9saWJ4bC9saWJ4bC5jCkBAIC01MjU2LDYgKzUyNTYsMTkgQEAgc3RhdGljIGludCBzY2hlZF9j cmVkaXRfZG9tYWluX3NldChsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCwKICAgICByZXR1 cm4gMDsKIH0KIAorc3RhdGljIGludCBzY2hlZF9yYXRlbGltaXRfY2hlY2sobGlieGxfX2djICpn YywgaW50IHJhdGVsaW1pdCkKK3sKKyAgICBpZiAocmF0ZWxpbWl0ICE9IDAgJiYKKyAgICAgICAg KHJhdGVsaW1pdCA8ICBYRU5fU1lTQ1RMX1NDSEVEX1JBVEVMSU1JVF9NSU4gfHwKKyAgICAgICAg IHJhdGVsaW1pdCA+IFhFTl9TWVNDVExfU0NIRURfUkFURUxJTUlUX01BWCkpIHsKKyAgICAgICAg TE9HKEVSUk9SLCAiUmF0ZWxpbWl0IG91dCBvZiByYW5nZSwgdmFsaWQgcmFuZ2UgaXMgZnJvbSAl ZCB0byAlZCIsCisgICAgICAgICAgICBYRU5fU1lTQ1RMX1NDSEVEX1JBVEVMSU1JVF9NSU4sIFhF Tl9TWVNDVExfU0NIRURfUkFURUxJTUlUX01BWCk7CisgICAgICAgIHJldHVybiBFUlJPUl9JTlZB TDsKKyAgICB9CisKKyAgICByZXR1cm4gMDsKK30KKwogaW50IGxpYnhsX3NjaGVkX2NyZWRpdF9w YXJhbXNfZ2V0KGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBwb29saWQsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgbGlieGxfc2NoZWRfY3JlZGl0X3BhcmFtcyAqc2NpbmZvKQog ewpAQCAtNTI5MywxMyArNTMwNiw5IEBAIGludCBsaWJ4bF9zY2hlZF9jcmVkaXRfcGFyYW1zX3Nl dChsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgcG9vbGlkLAogICAgICAgICByYyA9IEVSUk9SX0lO VkFMOwogICAgICAgICBnb3RvIG91dDsKICAgICB9Ci0gICAgaWYgKHNjaW5mby0+cmF0ZWxpbWl0 X3VzIDwgIFhFTl9TWVNDVExfU0NIRURfUkFURUxJTUlUX01JTgotICAgICAgICB8fCBzY2luZm8t PnJhdGVsaW1pdF91cyA+IFhFTl9TWVNDVExfU0NIRURfUkFURUxJTUlUX01BWCkgewotICAgICAg ICBMT0coRVJST1IsICJSYXRlbGltaXQgb3V0IG9mIHJhbmdlLCB2YWxpZCByYW5nZSBpcyBmcm9t ICVkIHRvICVkIiwKLSAgICAgICAgICAgIFhFTl9TWVNDVExfU0NIRURfUkFURUxJTUlUX01JTiwg WEVOX1NZU0NUTF9TQ0hFRF9SQVRFTElNSVRfTUFYKTsKLSAgICAgICAgcmMgPSBFUlJPUl9JTlZB TDsKLSAgICAgICAgZ290byBvdXQ7Ci0gICAgfQorICAgIHJjID0gc2NoZWRfcmF0ZWxpbWl0X2No ZWNrKGdjLCBzY2luZm8tPnJhdGVsaW1pdF91cyk7CisgICAgaWYgKHJjKSBnb3RvIG91dDsKKwog ICAgIGlmIChzY2luZm8tPnJhdGVsaW1pdF91cyA+IHNjaW5mby0+dHNsaWNlX21zKjEwMDApIHsK ICAgICAgICAgTE9HKEVSUk9SLCAiUmF0ZWxpbWl0IGNhbm5vdCBiZSBncmVhdGVyIHRoYW4gdGlt ZXNsaWNlIik7CiAgICAgICAgIHJjID0gRVJST1JfSU5WQUw7CkBAIC01MzE5LDEyICs1MzI4LDYw IEBAIGludCBsaWJ4bF9zY2hlZF9jcmVkaXRfcGFyYW1zX3NldChsaWJ4bF9jdHggKmN0eCwgdWlu dDMyX3QgcG9vbGlkLAogICAgIHNjaW5mby0+dHNsaWNlX21zID0gc3BhcmFtLnRzbGljZV9tczsK ICAgICBzY2luZm8tPnJhdGVsaW1pdF91cyA9IHNwYXJhbS5yYXRlbGltaXRfdXM7CiAKKyBvdXQ6 CisgICAgR0NfRlJFRTsKKyAgICByZXR1cm4gcmM7Cit9CisKK2ludCBsaWJ4bF9zY2hlZF9jcmVk aXQyX3BhcmFtc19nZXQobGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IHBvb2xpZCwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfc2NoZWRfY3JlZGl0Ml9wYXJhbXMgKnNj aW5mbykKK3sKKyAgICBzdHJ1Y3QgeGVuX3N5c2N0bF9jcmVkaXQyX3NjaGVkdWxlIHNwYXJhbTsK KyAgICBpbnQgciwgcmM7CisgICAgR0NfSU5JVChjdHgpOworCisgICAgciA9IHhjX3NjaGVkX2Ny ZWRpdDJfcGFyYW1zX2dldChjdHgtPnhjaCwgcG9vbGlkLCAmc3BhcmFtKTsKKyAgICBpZiAociA8 IDApIHsKKyAgICAgICAgTE9HRShFUlJPUiwgImdldHRpbmcgQ3JlZGl0MiBzY2hlZHVsZXIgcGFy YW1ldGVycyIpOworICAgICAgICByYyA9IEVSUk9SX0ZBSUw7CisgICAgICAgIGdvdG8gb3V0Owor ICAgIH0KKworICAgIHNjaW5mby0+cmF0ZWxpbWl0X3VzID0gc3BhcmFtLnJhdGVsaW1pdF91czsK KwogICAgIHJjID0gMDsKICBvdXQ6CiAgICAgR0NfRlJFRTsKICAgICByZXR1cm4gcmM7CiB9CiAK KworaW50IGxpYnhsX3NjaGVkX2NyZWRpdDJfcGFyYW1zX3NldChsaWJ4bF9jdHggKmN0eCwgdWlu dDMyX3QgcG9vbGlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9z Y2hlZF9jcmVkaXQyX3BhcmFtcyAqc2NpbmZvKQoreworICAgIHN0cnVjdCB4ZW5fc3lzY3RsX2Ny ZWRpdDJfc2NoZWR1bGUgc3BhcmFtOworICAgIGludCByLCByYzsKKyAgICBHQ19JTklUKGN0eCk7 CisKKyAgICByYyA9IHNjaGVkX3JhdGVsaW1pdF9jaGVjayhnYywgc2NpbmZvLT5yYXRlbGltaXRf dXMpOworICAgIGlmIChyYykgZ290byBvdXQ7CisKKyAgICBzcGFyYW0ucmF0ZWxpbWl0X3VzID0g c2NpbmZvLT5yYXRlbGltaXRfdXM7CisKKyAgICByID0geGNfc2NoZWRfY3JlZGl0Ml9wYXJhbXNf c2V0KGN0eC0+eGNoLCBwb29saWQsICZzcGFyYW0pOworICAgIGlmIChyIDwgMCkgeworICAgICAg ICBMT0dFKEVSUk9SLCAiU2V0dGluZyBDcmVkaXQyIHNjaGVkdWxlciBwYXJhbWV0ZXJzIik7Cisg ICAgICAgIHJjID0gRVJST1JfRkFJTDsKKyAgICAgICAgZ290byBvdXQ7CisgICAgfQorCisgICAg c2NpbmZvLT5yYXRlbGltaXRfdXMgPSBzcGFyYW0ucmF0ZWxpbWl0X3VzOworCisgb3V0OgorICAg IEdDX0ZSRUU7CisgICAgcmV0dXJuIHJjOworfQorCiBzdGF0aWMgaW50IHNjaGVkX2NyZWRpdDJf ZG9tYWluX2dldChsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2RvbWFpbl9zY2hlZF9wYXJhbXMgKnNjaW5mbykK IHsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsLmggYi90b29scy9saWJ4bC9saWJ4bC5o CmluZGV4IDdjZmE1NDAuLjk2OWEwODkgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsLmgK KysrIGIvdG9vbHMvbGlieGwvbGlieGwuaApAQCAtMjgxLDYgKzI4MSwxMyBAQAogI2RlZmluZSBM SUJYTF9IQVZFX1FFTVVfTU9OSVRPUl9DT01NQU5EIDEKIAogLyoKKyAqIExJQlhMX0hBVkVfU0NI RURfQ1JFRElUMl9QQVJBTVMgaW5kaWNhdGVzIHRoZSBleGlzdGFuY2Ugb2YgYQorICogbGlieGxf c2NoZWRfY3JlZGl0Ml9wYXJhbXMgc3RydWN0dXJlLCBjb250YWluaW5nIENyZWRpdDIgc2NoZWR1 bGVyCisgKiB3aWRlIHBhcmFtZXRlcnMgKGkuZS4sIHRoZSByYXRlbGltaXRpbmcgdmFsdWUpLgor ICovCisjZGVmaW5lIExJQlhMX0hBVkVfU0NIRURfQ1JFRElUMl9QQVJBTVMgMQorCisvKgogICog bGlieGwgQUJJIGNvbXBhdGliaWxpdHkKICAqCiAgKiBUaGUgb25seSBndWFyYW50ZWUgd2hpY2gg bGlieGwgbWFrZXMgcmVnYXJkaW5nIEFCSSBjb21wYXRpYmlsaXR5CkBAIC0xOTkyLDYgKzE5OTks MTAgQEAgaW50IGxpYnhsX3NjaGVkX2NyZWRpdF9wYXJhbXNfZ2V0KGxpYnhsX2N0eCAqY3R4LCB1 aW50MzJfdCBwb29saWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxf c2NoZWRfY3JlZGl0X3BhcmFtcyAqc2NpbmZvKTsKIGludCBsaWJ4bF9zY2hlZF9jcmVkaXRfcGFy YW1zX3NldChsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgcG9vbGlkLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGxpYnhsX3NjaGVkX2NyZWRpdF9wYXJhbXMgKnNjaW5mbyk7Citp bnQgbGlieGxfc2NoZWRfY3JlZGl0Ml9wYXJhbXNfZ2V0KGxpYnhsX2N0eCAqY3R4LCB1aW50MzJf dCBwb29saWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX3NjaGVk X2NyZWRpdDJfcGFyYW1zICpzY2luZm8pOworaW50IGxpYnhsX3NjaGVkX2NyZWRpdDJfcGFyYW1z X3NldChsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgcG9vbGlkLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBsaWJ4bF9zY2hlZF9jcmVkaXQyX3BhcmFtcyAqc2NpbmZvKTsKIAog LyogU2NoZWR1bGVyIFBlci1kb21haW4gcGFyYW1ldGVycyAqLwogCmRpZmYgLS1naXQgYS90b29s cy9saWJ4bC9saWJ4bF90eXBlcy5pZGwgYi90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwKaW5k ZXggYTAyNDQ2Zi4uYTMyYzc1MSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfdHlwZXMu aWRsCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbApAQCAtODM4LDYgKzgzOCwxMCBA QCBsaWJ4bF9zY2hlZF9jcmVkaXRfcGFyYW1zID0gU3RydWN0KCJzY2hlZF9jcmVkaXRfcGFyYW1z IiwgWwogICAgICgicmF0ZWxpbWl0X3VzIiwgaW50ZWdlciksCiAgICAgXSwgZGlzcG9zZV9mbj1O b25lKQogCitsaWJ4bF9zY2hlZF9jcmVkaXQyX3BhcmFtcyA9IFN0cnVjdCgic2NoZWRfY3JlZGl0 Ml9wYXJhbXMiLCBbCisgICAgKCJyYXRlbGltaXRfdXMiLCBpbnRlZ2VyKSwKKyAgICBdLCBkaXNw b3NlX2ZuPU5vbmUpCisKIGxpYnhsX2RvbWFpbl9yZW11c19pbmZvID0gU3RydWN0KCJkb21haW5f cmVtdXNfaW5mbyIsWwogICAgICgiaW50ZXJ2YWwiLCAgICAgaW50ZWdlciksCiAgICAgKCJhbGxv d191bnNhZmUiLCBsaWJ4bF9kZWZib29sKSwK --=-zRfezCgIejfviblQayxN Content-Disposition: attachment; filename="libxl-allow-disabling-ratelimit-online_rc.patch" Content-Type: text/x-patch; name="libxl-allow-disabling-ratelimit-online_rc.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbTogRGFyaW8gRmFnZ2lvbGkgPGRhcmlvLmZhZ2dpb2xpQGNpdHJpeC5jb20+CgpsaWJ4bDog YWxsb3cgdG8gc2V0IHRoZSByYXRlbGltaXQgdmFsdWUgb25saW5lIGZvciBDcmVkaXQyCgpUaGlz IGlzIHRoZSByZW1haW5pbmcgcGFydCBvZiB0aGUgcGx1bWJpbmcgKHRoZSBsaWJ4bApvbmUpIG5l Y2Vzc2FyeSB0byBiZSBhYmxlIHRvIGNoYW5nZSB0aGUgdmFsdWUgb2YgdGhlCnJhdGVsaW1pdF91 cyBwYXJhbWV0ZXIgb25saW5lLCBmb3IgQ3JlZGl0MiAobGlrZSBpdCBpcwphbHJlYWR5IGZvciBD cmVkaXQxKS4KCk5vdGUgdGhhdCwgc28gZmFyLCB3ZSB3ZXJlIHJlamVjdGluZyAoZm9yIENyZWRp dDEpIGEKbmV3IHZhbHVlIG9mIHplcm8sIGRlc3BpdGUgaXQgaXMgYSBwcmV0dHkgbmljZSB3YXkg dG8KYXNrIGZvciB0aGUgcmF0ZSBsaW1pdGluZyB0byBiZSBkaXNhYmxlZCwgYW5kIHRoZQpoeXBl cnZpc29yIGlzIGFscmVhZHkgY2FwYWJsZSBvZiBkZWFsaW5nIHdpdGggaXQgaW4KdGhhdCB3YXku CgpUaGVyZWZvcmUsIHdlIGNoYW5nZSB0aGluZ3Mgc28gdGhhdCBpdCBpcyBwb3NzaWJsZSB0bwpk byBzbywgYm90aCBmb3IgQ3JlZGl0MSBhbmQgQ3JlZGl0MgoKU2lnbmVkLW9mZi1ieTogRGFyaW8g RmFnZ2lvbGkgPGRhcmlvLmZhZ2dpb2xpQGNpdHJpeC5jb20+Ci0tLQpDYzogSWFuIEphY2tzb24g PGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+CkNjOiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXgu Y29tPgpDYzogR2VvcmdlIER1bmxhcCA8Z2VvcmdlLmR1bmxhcEBldS5jaXRyaXguY29tPgotLS0K Q2hhbmdlcyBmcm9tIHYyOgogKiBjb2Rpbmcgc3R5bGUsIHJlcG9ydGVkIGR1cmluZyByZXZpZXc7 CiAqIGV4cGxpY2l0bHkgc2V0IHJjIHRvIDAgb24gc3VjY2VzZnVsIHBhdGgsIGFzIHN1Z2dlc3Rl ZCBkdXJpbmcgcmV2aWV3LgoKQ2hhbmdlcyBmcm9tIHYxOgogKiBhZGRlZCB0aGUgYXBwcm9wcmlh dGUgTElCWExfSEFWRV88Zm9vPiwgYXMgcmVxdWVzdGVkIGR1cmluZyByZXZpZXcuCiAqIGNvZGlu ZyBzdHlsZSBmaXhlcyBwdXQgaW4gcHJldmlvdXMgcGF0Y2gsIGFzIHJlcXVlc3RlZCBkdXJpbmcg cmV2aWV3LgoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsLmMgYi90b29scy9saWJ4bC9s aWJ4bC5jCmluZGV4IGQyNTUyZjkuLmEzYjVlNmQgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xp YnhsLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGwuYwpAQCAtNTI1Niw2ICs1MjU2LDE5IEBAIHN0 YXRpYyBpbnQgc2NoZWRfY3JlZGl0X2RvbWFpbl9zZXQobGlieGxfX2djICpnYywgdWludDMyX3Qg ZG9taWQsCiAgICAgcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQgc2NoZWRfcmF0ZWxpbWl0X2No ZWNrKGxpYnhsX19nYyAqZ2MsIGludCByYXRlbGltaXQpCit7CisgICAgaWYgKHJhdGVsaW1pdCAh PSAwICYmCisgICAgICAgIChyYXRlbGltaXQgPCAgWEVOX1NZU0NUTF9TQ0hFRF9SQVRFTElNSVRf TUlOIHx8CisgICAgICAgICByYXRlbGltaXQgPiBYRU5fU1lTQ1RMX1NDSEVEX1JBVEVMSU1JVF9N QVgpKSB7CisgICAgICAgIExPRyhFUlJPUiwgIlJhdGVsaW1pdCBvdXQgb2YgcmFuZ2UsIHZhbGlk IHJhbmdlIGlzIGZyb20gJWQgdG8gJWQiLAorICAgICAgICAgICAgWEVOX1NZU0NUTF9TQ0hFRF9S QVRFTElNSVRfTUlOLCBYRU5fU1lTQ1RMX1NDSEVEX1JBVEVMSU1JVF9NQVgpOworICAgICAgICBy ZXR1cm4gRVJST1JfSU5WQUw7CisgICAgfQorCisgICAgcmV0dXJuIDA7Cit9CisKIGludCBsaWJ4 bF9zY2hlZF9jcmVkaXRfcGFyYW1zX2dldChsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgcG9vbGlk LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX3NjaGVkX2NyZWRpdF9w YXJhbXMgKnNjaW5mbykKIHsKQEAgLTUyOTMsMTMgKzUzMDYsOSBAQCBpbnQgbGlieGxfc2NoZWRf Y3JlZGl0X3BhcmFtc19zZXQobGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IHBvb2xpZCwKICAgICAg ICAgcmMgPSBFUlJPUl9JTlZBTDsKICAgICAgICAgZ290byBvdXQ7CiAgICAgfQotICAgIGlmIChz Y2luZm8tPnJhdGVsaW1pdF91cyA8ICBYRU5fU1lTQ1RMX1NDSEVEX1JBVEVMSU1JVF9NSU4KLSAg ICAgICAgfHwgc2NpbmZvLT5yYXRlbGltaXRfdXMgPiBYRU5fU1lTQ1RMX1NDSEVEX1JBVEVMSU1J VF9NQVgpIHsKLSAgICAgICAgTE9HKEVSUk9SLCAiUmF0ZWxpbWl0IG91dCBvZiByYW5nZSwgdmFs aWQgcmFuZ2UgaXMgZnJvbSAlZCB0byAlZCIsCi0gICAgICAgICAgICBYRU5fU1lTQ1RMX1NDSEVE X1JBVEVMSU1JVF9NSU4sIFhFTl9TWVNDVExfU0NIRURfUkFURUxJTUlUX01BWCk7Ci0gICAgICAg IHJjID0gRVJST1JfSU5WQUw7Ci0gICAgICAgIGdvdG8gb3V0OwotICAgIH0KKyAgICByYyA9IHNj aGVkX3JhdGVsaW1pdF9jaGVjayhnYywgc2NpbmZvLT5yYXRlbGltaXRfdXMpOworICAgIGlmIChy YykgZ290byBvdXQ7CisKICAgICBpZiAoc2NpbmZvLT5yYXRlbGltaXRfdXMgPiBzY2luZm8tPnRz bGljZV9tcyoxMDAwKSB7CiAgICAgICAgIExPRyhFUlJPUiwgIlJhdGVsaW1pdCBjYW5ub3QgYmUg Z3JlYXRlciB0aGFuIHRpbWVzbGljZSIpOwogICAgICAgICByYyA9IEVSUk9SX0lOVkFMOwpAQCAt NTMyNSw2ICs1MzM0LDU2IEBAIGludCBsaWJ4bF9zY2hlZF9jcmVkaXRfcGFyYW1zX3NldChsaWJ4 bF9jdHggKmN0eCwgdWludDMyX3QgcG9vbGlkLAogICAgIHJldHVybiByYzsKIH0KIAoraW50IGxp YnhsX3NjaGVkX2NyZWRpdDJfcGFyYW1zX2dldChsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgcG9v bGlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9zY2hlZF9jcmVk aXQyX3BhcmFtcyAqc2NpbmZvKQoreworICAgIHN0cnVjdCB4ZW5fc3lzY3RsX2NyZWRpdDJfc2No ZWR1bGUgc3BhcmFtOworICAgIGludCByLCByYzsKKyAgICBHQ19JTklUKGN0eCk7CisKKyAgICBy ID0geGNfc2NoZWRfY3JlZGl0Ml9wYXJhbXNfZ2V0KGN0eC0+eGNoLCBwb29saWQsICZzcGFyYW0p OworICAgIGlmIChyIDwgMCkgeworICAgICAgICBMT0dFKEVSUk9SLCAiZ2V0dGluZyBDcmVkaXQy IHNjaGVkdWxlciBwYXJhbWV0ZXJzIik7CisgICAgICAgIHJjID0gRVJST1JfRkFJTDsKKyAgICAg ICAgZ290byBvdXQ7CisgICAgfQorCisgICAgc2NpbmZvLT5yYXRlbGltaXRfdXMgPSBzcGFyYW0u cmF0ZWxpbWl0X3VzOworCisgICAgcmMgPSAwOworIG91dDoKKyAgICBHQ19GUkVFOworICAgIHJl dHVybiByYzsKK30KKworCitpbnQgbGlieGxfc2NoZWRfY3JlZGl0Ml9wYXJhbXNfc2V0KGxpYnhs X2N0eCAqY3R4LCB1aW50MzJfdCBwb29saWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGxpYnhsX3NjaGVkX2NyZWRpdDJfcGFyYW1zICpzY2luZm8pCit7CisgICAgc3RydWN0 IHhlbl9zeXNjdGxfY3JlZGl0Ml9zY2hlZHVsZSBzcGFyYW07CisgICAgaW50IHIsIHJjOworICAg IEdDX0lOSVQoY3R4KTsKKworICAgIHJjID0gc2NoZWRfcmF0ZWxpbWl0X2NoZWNrKGdjLCBzY2lu Zm8tPnJhdGVsaW1pdF91cyk7CisgICAgaWYgKHJjKSBnb3RvIG91dDsKKworICAgIHNwYXJhbS5y YXRlbGltaXRfdXMgPSBzY2luZm8tPnJhdGVsaW1pdF91czsKKworICAgIHIgPSB4Y19zY2hlZF9j cmVkaXQyX3BhcmFtc19zZXQoY3R4LT54Y2gsIHBvb2xpZCwgJnNwYXJhbSk7CisgICAgaWYgKHIg PCAwKSB7CisgICAgICAgIExPR0UoRVJST1IsICJTZXR0aW5nIENyZWRpdDIgc2NoZWR1bGVyIHBh cmFtZXRlcnMiKTsKKyAgICAgICAgcmMgPSBFUlJPUl9GQUlMOworICAgICAgICBnb3RvIG91dDsK KyAgICB9CisKKyAgICBzY2luZm8tPnJhdGVsaW1pdF91cyA9IHNwYXJhbS5yYXRlbGltaXRfdXM7 CisKKyAgICByYyA9IDA7Cisgb3V0OgorICAgIEdDX0ZSRUU7CisgICAgcmV0dXJuIHJjOworfQor CiBzdGF0aWMgaW50IHNjaGVkX2NyZWRpdDJfZG9tYWluX2dldChsaWJ4bF9fZ2MgKmdjLCB1aW50 MzJfdCBkb21pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2Rv bWFpbl9zY2hlZF9wYXJhbXMgKnNjaW5mbykKIHsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xp YnhsLmggYi90b29scy9saWJ4bC9saWJ4bC5oCmluZGV4IDdjZmE1NDAuLjk2OWEwODkgMTAwNjQ0 Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsLmgKKysrIGIvdG9vbHMvbGlieGwvbGlieGwuaApAQCAt MjgxLDYgKzI4MSwxMyBAQAogI2RlZmluZSBMSUJYTF9IQVZFX1FFTVVfTU9OSVRPUl9DT01NQU5E IDEKIAogLyoKKyAqIExJQlhMX0hBVkVfU0NIRURfQ1JFRElUMl9QQVJBTVMgaW5kaWNhdGVzIHRo ZSBleGlzdGFuY2Ugb2YgYQorICogbGlieGxfc2NoZWRfY3JlZGl0Ml9wYXJhbXMgc3RydWN0dXJl LCBjb250YWluaW5nIENyZWRpdDIgc2NoZWR1bGVyCisgKiB3aWRlIHBhcmFtZXRlcnMgKGkuZS4s IHRoZSByYXRlbGltaXRpbmcgdmFsdWUpLgorICovCisjZGVmaW5lIExJQlhMX0hBVkVfU0NIRURf Q1JFRElUMl9QQVJBTVMgMQorCisvKgogICogbGlieGwgQUJJIGNvbXBhdGliaWxpdHkKICAqCiAg KiBUaGUgb25seSBndWFyYW50ZWUgd2hpY2ggbGlieGwgbWFrZXMgcmVnYXJkaW5nIEFCSSBjb21w YXRpYmlsaXR5CkBAIC0xOTkyLDYgKzE5OTksMTAgQEAgaW50IGxpYnhsX3NjaGVkX2NyZWRpdF9w YXJhbXNfZ2V0KGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBwb29saWQsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgbGlieGxfc2NoZWRfY3JlZGl0X3BhcmFtcyAqc2NpbmZvKTsK IGludCBsaWJ4bF9zY2hlZF9jcmVkaXRfcGFyYW1zX3NldChsaWJ4bF9jdHggKmN0eCwgdWludDMy X3QgcG9vbGlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX3NjaGVk X2NyZWRpdF9wYXJhbXMgKnNjaW5mbyk7CitpbnQgbGlieGxfc2NoZWRfY3JlZGl0Ml9wYXJhbXNf Z2V0KGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBwb29saWQsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGxpYnhsX3NjaGVkX2NyZWRpdDJfcGFyYW1zICpzY2luZm8pOworaW50 IGxpYnhsX3NjaGVkX2NyZWRpdDJfcGFyYW1zX3NldChsaWJ4bF9jdHggKmN0eCwgdWludDMyX3Qg cG9vbGlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9zY2hlZF9j cmVkaXQyX3BhcmFtcyAqc2NpbmZvKTsKIAogLyogU2NoZWR1bGVyIFBlci1kb21haW4gcGFyYW1l dGVycyAqLwogCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwgYi90b29s cy9saWJ4bC9saWJ4bF90eXBlcy5pZGwKaW5kZXggYTAyNDQ2Zi4uYTMyYzc1MSAxMDA2NDQKLS0t IGEvdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3R5 cGVzLmlkbApAQCAtODM4LDYgKzgzOCwxMCBAQCBsaWJ4bF9zY2hlZF9jcmVkaXRfcGFyYW1zID0g U3RydWN0KCJzY2hlZF9jcmVkaXRfcGFyYW1zIiwgWwogICAgICgicmF0ZWxpbWl0X3VzIiwgaW50 ZWdlciksCiAgICAgXSwgZGlzcG9zZV9mbj1Ob25lKQogCitsaWJ4bF9zY2hlZF9jcmVkaXQyX3Bh cmFtcyA9IFN0cnVjdCgic2NoZWRfY3JlZGl0Ml9wYXJhbXMiLCBbCisgICAgKCJyYXRlbGltaXRf dXMiLCBpbnRlZ2VyKSwKKyAgICBdLCBkaXNwb3NlX2ZuPU5vbmUpCisKIGxpYnhsX2RvbWFpbl9y ZW11c19pbmZvID0gU3RydWN0KCJkb21haW5fcmVtdXNfaW5mbyIsWwogICAgICgiaW50ZXJ2YWwi LCAgICAgaW50ZWdlciksCiAgICAgKCJhbGxvd191bnNhZmUiLCBsaWJ4bF9kZWZib29sKSwK --=-zRfezCgIejfviblQayxN-- --=-H1OVWLFjkmGIjwyoinuV Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAABCAAGBQJX7lxxAAoJEBZCeImluHPuL+4QANyDWp7qjsXqXTi//9oQZxz1 5O/IqUdfBP5d1pGSmg9VEPllWIQBxxJZLPGktu0CKKlZeFR6OZ0voHLY9mHkjmSm EQ+lAKYndQKWcINVBm/JQMFm/Jvm0zU9epCJHDaX9QuRr+IZZoHY9m94sW7M9c0h 72SycDlh8Cg0KBW4UO8bJ56FQxxdxZG08VRhZINR37R3j/pQUm79T/Iio6bKEZXO tEdkjqk21IbDFmNmNCZ+6C+cVRDsoX+Smi7E/J7GEQfXg5urJ+T9fVnyw03Paq/i SsNSvPhhjng/AlLAOMUkKxzqD33w+6Rm+iAAql213M5Va3jKpzxxs+SkY71CaH8d fc9YOSTbZUQqRotEXceQPIQSAcmCfh51T/w1PMRISc4X/SwhuJ+8K72ZAY/I/v24 XtDYO6qU2jhl7RJYyRIkJaJU1Yp2i3epV2sQMhJASUJdHP6gfkuzN1JNvpzgW39v mF5WR/oqckFYABLg8K/Jy5wwYbLTcVnKjcPn8nlSYjXP+tpaFjG4nxSeijAapafZ 6VccGnauw5xQ/SN8oAQADL2UjoLas1RbXlMDMLLT7piKbAy0KT7NT7FvPcdVFYjz 17PBCytuSEJbA5UEgIOB9PweuJgoMU6k4CTqjF4i2MWxw1J7T2yODl9bWU02j3gH iyzgr5gVo35SEKkjQjSy =vuKx -----END PGP SIGNATURE----- --=-H1OVWLFjkmGIjwyoinuV-- --===============5689523974997958420== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVs IG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5v cmcveGVuLWRldmVsCg== --===============5689523974997958420==--