From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrii Anisov Subject: [RFC 1/6] rangeset_new() refactoring Date: Thu, 16 Feb 2017 14:03:25 +0200 Message-ID: <1487246610-8298-2-git-send-email-andrii.anisov@gmail.com> References: <1487246610-8298-1-git-send-email-andrii.anisov@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 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 1ceKmg-0003Xr-1b for xen-devel@lists.xenproject.org; Thu, 16 Feb 2017 12:03:38 +0000 Received: by mail-wr0-f195.google.com with SMTP id c4so1792176wrd.1 for ; Thu, 16 Feb 2017 04:03:35 -0800 (PST) In-Reply-To: <1487246610-8298-1-git-send-email-andrii.anisov@gmail.com> 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: sstabellini@kernel.org, andrii_anisov@epam.com, George.Dunlap@eu.citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, tim@xen.org, paul.durrant@citrix.com, jbeulich@suse.com, wei.liu2@citrix.com List-Id: xen-devel@lists.xenproject.org RnJvbTogQW5kcmlpIEFuaXNvdiA8YW5kcmlpX2FuaXNvdkBlcGFtLmNvbT4KCnJhbmdlc2V0X25l dyBpcyBtYWRlIGRvbWFpbiBhZ25vc3RpYy4gVGhlIGRvbWFpbiBzcGVjaWZpYyBjb2RlCmlzIG1v dmVkIHRvIGNvbW1vbi9kb21haW4uYzpkb21haW5fcmFuZ2VzZXRfbmV3KCkuCgpJdCBpcyBzdGls bCBsZWZ0IGEgcmFuZ2VzZXRzIGxpc3QgZnVuY3Rpb25hbGl0eTogcmFuZ2VzZXRfbmV3KCkgaXMK cmV0dXJuaW5nIGl0cyBsaXN0IGhlYWQgaWYgcmVxdWVzdGVkLiBUaGlzIHdvdWxkIGJlIHJlY29u c2lkZXJlZApmdXJ0aGVyLgoKU2lnbmVkLW9mZi1ieTogQW5kcmlpIEFuaXNvdiA8YW5kcmlpX2Fu aXNvdkBlcGFtLmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvZG9tYWluLmMgICAgICB8ICAyICstCiB4 ZW4vYXJjaC94ODYvaHZtL2lvcmVxLmMgICB8ICA0ICsrLS0KIHhlbi9hcmNoL3g4Ni9tbS9wMm0u YyAgICAgIHwgIDQgKystLQogeGVuL2FyY2gveDg2L3NldHVwLmMgICAgICAgfCAgNCArKy0tCiB4 ZW4vY29tbW9uL2RvbWFpbi5jICAgICAgICB8IDIyICsrKysrKysrKysrKysrKysrKysrLS0KIHhl bi9jb21tb24vcmFuZ2VzZXQuYyAgICAgIHwgMTIgKysrKy0tLS0tLS0tCiB4ZW4vaW5jbHVkZS94 ZW4vZG9tYWluLmggICB8ICAzICsrKwogeGVuL2luY2x1ZGUveGVuL3Jhbmdlc2V0LmggfCAxOSAr KysrKysrKysrKy0tLS0tLS0tCiA4IGZpbGVzIGNoYW5nZWQsIDQ1IGluc2VydGlvbnMoKyksIDI1 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9kb21haW4uYyBiL3hlbi9h cmNoL3g4Ni9kb21haW4uYwppbmRleCBlYWU2NDNmLi45M2YxOGQ3IDEwMDY0NAotLS0gYS94ZW4v YXJjaC94ODYvZG9tYWluLmMKKysrIGIveGVuL2FyY2gveDg2L2RvbWFpbi5jCkBAIC02MzAsNyAr NjMwLDcgQEAgaW50IGFyY2hfZG9tYWluX2NyZWF0ZShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25l ZCBpbnQgZG9tY3JfZmxhZ3MsCiAgICAgICAgIGQtPmFyY2gueDg2X21vZGVsICA9IGJvb3RfY3B1 X2RhdGEueDg2X21vZGVsOwogCiAgICAgICAgIGQtPmFyY2guaW9wb3J0X2NhcHMgPSAKLSAgICAg ICAgICAgIHJhbmdlc2V0X25ldyhkLCAiSS9PIFBvcnRzIiwgUkFOR0VTRVRGX3ByZXR0eXByaW50 X2hleCk7CisgICAgICAgICAgICBkb21haW5fcmFuZ2VzZXRfbmV3KGQsICJJL08gUG9ydHMiLCBS QU5HRVNFVEZfcHJldHR5cHJpbnRfaGV4KTsKICAgICAgICAgcmMgPSAtRU5PTUVNOwogICAgICAg ICBpZiAoIGQtPmFyY2guaW9wb3J0X2NhcHMgPT0gTlVMTCApCiAgICAgICAgICAgICBnb3RvIGZh aWw7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL2lvcmVxLmMgYi94ZW4vYXJjaC94ODYv aHZtL2lvcmVxLmMKaW5kZXggODgwNzFhYi4uNmRmMTkxZCAxMDA2NDQKLS0tIGEveGVuL2FyY2gv eDg2L2h2bS9pb3JlcS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vaW9yZXEuYwpAQCAtNTIwLDgg KzUyMCw4IEBAIHN0YXRpYyBpbnQgaHZtX2lvcmVxX3NlcnZlcl9hbGxvY19yYW5nZXNldHMoc3Ry dWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnMsCiAgICAgICAgIGlmICggcmMgKQogICAgICAgICAgICAg Z290byBmYWlsOwogCi0gICAgICAgIHMtPnJhbmdlW2ldID0gcmFuZ2VzZXRfbmV3KHMtPmRvbWFp biwgbmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkFOR0VTRVRGX3By ZXR0eXByaW50X2hleCk7CisgICAgICAgIHMtPnJhbmdlW2ldID0gZG9tYWluX3Jhbmdlc2V0X25l dyhzLT5kb21haW4sIG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBSQU5HRVNFVEZfcHJldHR5cHJpbnRfaGV4KTsKIAogICAgICAgICB4ZnJlZShuYW1lKTsK IApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tL3AybS5jIGIveGVuL2FyY2gveDg2L21tL3Ay bS5jCmluZGV4IDZhNDUxODUuLjQ2MzAxYWQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9w Mm0uYworKysgYi94ZW4vYXJjaC94ODYvbW0vcDJtLmMKQEAgLTEyMiw4ICsxMjIsOCBAQCBzdGF0 aWMgaW50IHAybV9pbml0X2hvc3RwMm0oc3RydWN0IGRvbWFpbiAqZCkKIAogICAgIGlmICggcDJt ICkKICAgICB7Ci0gICAgICAgIHAybS0+bG9nZGlydHlfcmFuZ2VzID0gcmFuZ2VzZXRfbmV3KGQs ICJsb2ctZGlydHkiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBSQU5HRVNFVEZfcHJldHR5cHJpbnRfaGV4KTsKKyAgICAgICAgcDJtLT5sb2dkaXJ0eV9yYW5n ZXMgPSBkb21haW5fcmFuZ2VzZXRfbmV3KGQsICJsb2ctZGlydHkiLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkFOR0VTRVRGX3ByZXR0eXByaW50 X2hleCk7CiAgICAgICAgIGlmICggcDJtLT5sb2dkaXJ0eV9yYW5nZXMgKQogICAgICAgICB7CiAg ICAgICAgICAgICBkLT5hcmNoLnAybSA9IHAybTsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9z ZXR1cC5jIGIveGVuL2FyY2gveDg2L3NldHVwLmMKaW5kZXggYjEzMDY3MS4uNjlhOTYxYyAxMDA2 NDQKLS0tIGEveGVuL2FyY2gveDg2L3NldHVwLmMKKysrIGIveGVuL2FyY2gveDg2L3NldHVwLmMK QEAgLTE0MTksOCArMTQxOSw4IEBAIHZvaWQgX19pbml0IG5vcmV0dXJuIF9fc3RhcnRfeGVuKHVu c2lnbmVkIGxvbmcgbWJpX3ApCiAgICAgLyogTG93IG1hcHBpbmdzIHdlcmUgb25seSBuZWVkZWQg Zm9yIHNvbWUgQklPUyB0YWJsZSBwYXJzaW5nLiAqLwogICAgIHphcF9sb3dfbWFwcGluZ3MoKTsK IAotICAgIG1taW9fcm9fcmFuZ2VzID0gcmFuZ2VzZXRfbmV3KE5VTEwsICJyL28gbW1pbyByYW5n ZXMiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJBTkdFU0VURl9wcmV0dHlw cmludF9oZXgpOworICAgIG1taW9fcm9fcmFuZ2VzID0gcmFuZ2VzZXRfbmV3KCJyL28gbW1pbyBy YW5nZXMiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJBTkdFU0VURl9wcmV0 dHlwcmludF9oZXgsIE5VTEwpOwogCiAgICAgaW5pdF9hcGljX21hcHBpbmdzKCk7CiAKZGlmZiAt LWdpdCBhL3hlbi9jb21tb24vZG9tYWluLmMgYi94ZW4vY29tbW9uL2RvbWFpbi5jCmluZGV4IDNh YmFjYTkuLjFiOWJjM2MgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vZG9tYWluLmMKKysrIGIveGVu L2NvbW1vbi9kb21haW4uYwpAQCAtMzI5LDggKzMyOSw4IEBAIHN0cnVjdCBkb21haW4gKmRvbWFp bl9jcmVhdGUoZG9taWRfdCBkb21pZCwgdW5zaWduZWQgaW50IGRvbWNyX2ZsYWdzLAogICAgIHJh bmdlc2V0X2RvbWFpbl9pbml0aWFsaXNlKGQpOwogICAgIGluaXRfc3RhdHVzIHw9IElOSVRfcmFu Z2VzZXQ7CiAKLSAgICBkLT5pb21lbV9jYXBzID0gcmFuZ2VzZXRfbmV3KGQsICJJL08gTWVtb3J5 IiwgUkFOR0VTRVRGX3ByZXR0eXByaW50X2hleCk7Ci0gICAgZC0+aXJxX2NhcHMgICA9IHJhbmdl c2V0X25ldyhkLCAiSW50ZXJydXB0cyIsIDApOworICAgIGQtPmlvbWVtX2NhcHMgPSBkb21haW5f cmFuZ2VzZXRfbmV3KGQsICJJL08gTWVtb3J5IiwgUkFOR0VTRVRGX3ByZXR0eXByaW50X2hleCk7 CisgICAgZC0+aXJxX2NhcHMgICA9IGRvbWFpbl9yYW5nZXNldF9uZXcoZCwgIkludGVycnVwdHMi LCAwKTsKICAgICBpZiAoIChkLT5pb21lbV9jYXBzID09IE5VTEwpIHx8IChkLT5pcnFfY2FwcyA9 PSBOVUxMKSApCiAgICAgICAgIGdvdG8gZmFpbDsKIApAQCAtMTUzNyw2ICsxNTM3LDI0IEBAIGlu dCBjb250aW51ZV9oeXBlcmNhbGxfb25fY3B1KAogICAgIHJldHVybiAwOwogfQogCitzdHJ1Y3Qg cmFuZ2VzZXQgKmRvbWFpbl9yYW5nZXNldF9uZXcoc3RydWN0IGRvbWFpbiAqZCwgY2hhciAqbmFt ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgZmxh Z3MpCit7CisgICAgc3RydWN0IGxpc3RfaGVhZCAqaGVhZDsKKyAgICBzdHJ1Y3QgcmFuZ2VzZXQg KnIgPSByYW5nZXNldF9uZXcobmFtZSwgZmxhZ3MsICZoZWFkKTsKKworICAgIGlmICggZCAhPSBO VUxMICkKKyAgICB7CisgICAgICAgIHNwaW5fbG9jaygmZC0+cmFuZ2VzZXRzX2xvY2spOworICAg ICAgICBsaXN0X2FkZChoZWFkLCAmZC0+cmFuZ2VzZXRzKTsKKyAgICAgICAgc3Bpbl91bmxvY2so JmQtPnJhbmdlc2V0c19sb2NrKTsKKyAgICB9CisKKyAgICByZXR1cm4gcjsKK30KKworCisKIC8q CiAgKiBMb2NhbCB2YXJpYWJsZXM6CiAgKiBtb2RlOiBDCmRpZmYgLS1naXQgYS94ZW4vY29tbW9u L3Jhbmdlc2V0LmMgYi94ZW4vY29tbW9uL3Jhbmdlc2V0LmMKaW5kZXggNmM2MjkzYy4uNDc4ZDIz MiAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9yYW5nZXNldC5jCisrKyBiL3hlbi9jb21tb24vcmFu Z2VzZXQuYwpAQCAtMzIyLDggKzMyMiw4IEBAIGJvb2xfdCByYW5nZXNldF9pc19lbXB0eSgKICAg ICByZXR1cm4gKChyID09IE5VTEwpIHx8IGxpc3RfZW1wdHkoJnItPnJhbmdlX2xpc3QpKTsKIH0K IAotc3RydWN0IHJhbmdlc2V0ICpyYW5nZXNldF9uZXcoCi0gICAgc3RydWN0IGRvbWFpbiAqZCwg Y2hhciAqbmFtZSwgdW5zaWduZWQgaW50IGZsYWdzKQorc3RydWN0IHJhbmdlc2V0ICpyYW5nZXNl dF9uZXcoY2hhciAqbmFtZSwgdW5zaWduZWQgaW50IGZsYWdzLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc3RydWN0IGxpc3RfaGVhZCAqKmhlYWQpCiB7CiAgICAgc3RydWN0IHJhbmdl c2V0ICpyOwogCkBAIC0zNDcsMTIgKzM0Nyw4IEBAIHN0cnVjdCByYW5nZXNldCAqcmFuZ2VzZXRf bmV3KAogICAgICAgICBzbnByaW50ZihyLT5uYW1lLCBzaXplb2Yoci0+bmFtZSksICIobm8gbmFt ZSkiKTsKICAgICB9CiAKLSAgICBpZiAoIChyLT5kb21haW4gPSBkKSAhPSBOVUxMICkKLSAgICB7 Ci0gICAgICAgIHNwaW5fbG9jaygmZC0+cmFuZ2VzZXRzX2xvY2spOwotICAgICAgICBsaXN0X2Fk ZCgmci0+cmFuZ2VzZXRfbGlzdCwgJmQtPnJhbmdlc2V0cyk7Ci0gICAgICAgIHNwaW5fdW5sb2Nr KCZkLT5yYW5nZXNldHNfbG9jayk7Ci0gICAgfQorICAgIGlmIChoZWFkKQorICAgICAgICAqaGVh ZCA9ICZyLT5yYW5nZXNldF9saXN0OwogCiAgICAgcmV0dXJuIHI7CiB9CmRpZmYgLS1naXQgYS94 ZW4vaW5jbHVkZS94ZW4vZG9tYWluLmggYi94ZW4vaW5jbHVkZS94ZW4vZG9tYWluLmgKaW5kZXgg YmNlMGVhMS4uY2Q2MmU2ZSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUveGVuL2RvbWFpbi5oCisr KyBiL3hlbi9pbmNsdWRlL3hlbi9kb21haW4uaApAQCAtMTA4LDQgKzEwOCw3IEBAIHN0cnVjdCB2 bnVtYV9pbmZvIHsKIAogdm9pZCB2bnVtYV9kZXN0cm95KHN0cnVjdCB2bnVtYV9pbmZvICp2bnVt YSk7CiAKK3N0cnVjdCByYW5nZXNldCAqZG9tYWluX3Jhbmdlc2V0X25ldyhzdHJ1Y3QgZG9tYWlu ICpkLCBjaGFyICpuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu c2lnbmVkIGludCBmbGFncyk7CisKICNlbmRpZiAvKiBfX1hFTl9ET01BSU5fSF9fICovCmRpZmYg LS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vcmFuZ2VzZXQuaCBiL3hlbi9pbmNsdWRlL3hlbi9yYW5n ZXNldC5oCmluZGV4IGFhNjQwODIuLjM5NWJhNjIgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3hl bi9yYW5nZXNldC5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi9yYW5nZXNldC5oCkBAIC0xMyw2ICsx Myw3IEBACiAjaW5jbHVkZSA8eGVuL3R5cGVzLmg+CiAKIHN0cnVjdCBkb21haW47CitzdHJ1Y3Qg bGlzdF9oZWFkOwogc3RydWN0IHJhbmdlc2V0OwogCiAvKgpAQCAtMjgsMTUgKzI5LDE3IEBAIHZv aWQgcmFuZ2VzZXRfZG9tYWluX2Rlc3Ryb3koCiAgICAgc3RydWN0IGRvbWFpbiAqZCk7CiAKIC8q Ci0gKiBDcmVhdGUvZGVzdHJveSBhIHJhbmdlc2V0LiBPcHRpb25hbGx5IGF0dGFjaCB0byBzcGVj aWZpZWQgZG9tYWluIEBkIGZvcgotICogYXV0by1kZXN0cnVjdGlvbiB3aGVuIHRoZSBkb21haW4g ZGllcy4gQSBuYW1lIG1heSBiZSBzcGVjaWZpZWQsIGZvciB1c2UKLSAqIGluIGRlYnVnIHByZXR0 eS1wcmludGluZywgYW5kIHZhcmlvdXMgUkFOR0VTRVRGIGZsYWdzIChkZWZpbmVkIGJlbG93KS4K LSAqIAotICogSXQgaXMgaW52YWxpZCB0byBwZXJmb3JtIGFueSBvcGVyYXRpb24gb24gYSByYW5n ZXNldCBAciBhZnRlciBjYWxsaW5nCi0gKiByYW5nZXNldF9kZXN0cm95KHIpLgorICogQ3JlYXRl IGEgcmFuZ2VzZXQuIE9wdGlvbmFsbHkgYXR0YWNoIHRvIGEgc3BlY2lmaWVkIGxpc3QgQGhlYWQu CisgKiBBIG5hbWUgbWF5IGJlIHNwZWNpZmllZCwgZm9yIHVzZSBpbiBkZWJ1ZyBwcmV0dHktcHJp bnRpbmcsIGFuZCB2YXJpb3VzCisgKiBSQU5HRVNFVEYgZmxhZ3MgKGRlZmluZWQgYmVsb3cpLgor ICovCitzdHJ1Y3QgcmFuZ2VzZXQgKnJhbmdlc2V0X25ldyhjaGFyICpuYW1lLCB1bnNpZ25lZCBp bnQgZmxhZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbGlzdF9oZWFk ICoqaGVhZCk7CisKKy8qCisgKiBEZXN0cm95IGEgcmFuZ2VzZXQuIEl0IGlzIGludmFsaWQgdG8g cGVyZm9ybSBhbnkgb3BlcmF0aW9uIG9uIGEgcmFuZ2VzZXQgQHIKKyAqIGFmdGVyIGNhbGxpbmcg cmFuZ2VzZXRfZGVzdHJveShyKS4KICAqLwotc3RydWN0IHJhbmdlc2V0ICpyYW5nZXNldF9uZXco Ci0gICAgc3RydWN0IGRvbWFpbiAqZCwgY2hhciAqbmFtZSwgdW5zaWduZWQgaW50IGZsYWdzKTsK IHZvaWQgcmFuZ2VzZXRfZGVzdHJveSgKICAgICBzdHJ1Y3QgcmFuZ2VzZXQgKnIpOwogCi0tIAoy LjcuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhl bi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0 cy54ZW4ub3JnL3hlbi1kZXZlbAo=