From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: [PATCH v4 10/34] vmap: Add vmalloc_cb and vfree_cb Date: Tue, 15 Mar 2016 13:56:32 -0400 Message-ID: <1458064616-23101-11-git-send-email-konrad.wilk@oracle.com> References: <1458064616-23101-1-git-send-email-konrad.wilk@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1aftGf-00019o-UH for xen-devel@lists.xenproject.org; Tue, 15 Mar 2016 18:00:30 +0000 In-Reply-To: <1458064616-23101-1-git-send-email-konrad.wilk@oracle.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, ross.lagerwall@citrix.com, konrad@kernel.org, andrew.cooper3@citrix.com, mpohlack@amazon.de, sasha.levin@oracle.com Cc: Keir Fraser , Tim Deegan , Ian Jackson , Jan Beulich , Konrad Rzeszutek Wilk List-Id: xen-devel@lists.xenproject.org Rm9yIHRob3NlIHVzZXJzIHdobyB3YW50IHRvIHN1cHBseSB0aGVpciBvd24gdm1hcCBjYWxsYmFj ay4KVG8gYmUgY2FsbGVkIF9hZnRlcl8gdGhlIHBhZ2VzIGhhdmUgYmVlbiBhbGxvY2F0ZWQgYW5k CnRoZSB2bWFwIEFQSSBpcyByZWFkeSB0byBoYW5kIG91dCB2aXJ0dWFsIGFkZHJlc3Nlcy4KCklu c3RlYWQgb2YgdXNpbmcgdGhlIHZtYXAgb25lcyBpdCBjYW4gY2FsbCB0aGUgY2FsbGJhY2sKd2hp Y2ggd2lsbCBiZSByZXNwb25zaWJsZSBmb3IgZ2VuZXJhdGluZyB0aGUgdmlydHVhbAphZGRyZXNz LgoKVGhpcyBhbGxvd3MgdXNlcnMgKHN1Y2ggYXMgeFNwbGljZSkgdG8gcHJvdmlkZSB0aGVpciBv d24KbWVjaGFuaXNtIHRvIHNldCB0aGUgcGFnZSBmbGFncy4KVGhlIHVzZXJzIChzdWNoIGFzIHBh dGNoIHRpdGxlZCAieHNwbGljZTogSW1wbGVtZW50IHBheWxvYWQKbG9hZGluZyIpIGNhbiB3cmFw IHRoZSBjYWxscyB0byBfX3ZtYXAgdG8gYWNjb21wbGlzaCB0aGlzLgoKV2UgYWxzbyBwcm92aWRl IGEgbWVjaGFuaXNtIGZvciB0aGUgY2FsbGVlciB0byBzcXVpcnJlbAp0aGUgTUZOIGFycmF5IGlu IGNhc2UgdGhleSB3YW50IHRvIG1vZGlmeSB0aGUgdmlydHVhbAphZGRyZXNzZXMgZWFzaWx5LgoK V2UgYWxzbyBwcm92aWRlIHRoZSBmcmVlLWluZyBjb2RlIHBhdGggLSB0byB1c2UgdGhlIHZ1bm1h cF9jYgp0byB0YWtlIGNhcmUgb2YgdGVhcmluZyBkb3duIHRoZSB2aXJ0dWFsIGFkZHJlc3Nlcy4K ClNpZ25lZC1vZmYtYnk6IEtvbnJhZCBSemVzenV0ZWsgV2lsayA8a29ucmFkLndpbGtAb3JhY2xl LmNvbT4KCi0tLQpDYzogSWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+CkNj OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkNjOiBLZWlyIEZyYXNlciA8a2VpckB4 ZW4ub3JnPgpDYzogVGltIERlZWdhbiA8dGltQHhlbi5vcmc+Ci0tLQotLS0KIHhlbi9jb21tb24v dm1hcC5jICAgICAgfCAzNSArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLQogeGVu L2luY2x1ZGUveGVuL3ZtYXAuaCB8IDE0ICsrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQs IDQyIGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2NvbW1v bi92bWFwLmMgYi94ZW4vY29tbW9uL3ZtYXAuYwppbmRleCAxZjFkYTFiLi5kMWYxOGZiIDEwMDY0 NAotLS0gYS94ZW4vY29tbW9uL3ZtYXAuYworKysgYi94ZW4vY29tbW9uL3ZtYXAuYwpAQCAtMjE2 LDcgKzIxNiw3IEBAIHZvaWQgdnVubWFwKGNvbnN0IHZvaWQgKnZhKQogICAgIHZtX2ZyZWUodmEp OwogfQogCi12b2lkICp2bWFsbG9jKHNpemVfdCBzaXplKQordm9pZCAqdm1hbGxvY19jYihzaXpl X3Qgc2l6ZSwgdm1hcF9jYl90IHZtYXBfY2IsIG1mbl90ICoqbWZuX2FycmF5KQogewogICAgIG1m bl90ICptZm47CiAgICAgc2l6ZV90IHBhZ2VzLCBpOwpAQCAtMjM4LDExICsyMzgsMTUgQEAgdm9p ZCAqdm1hbGxvYyhzaXplX3Qgc2l6ZSkKICAgICAgICAgbWZuW2ldID0gX21mbihwYWdlX3RvX21m bihwZykpOwogICAgIH0KIAotICAgIHZhID0gdm1hcChtZm4sIHBhZ2VzKTsKKyAgICB2YSA9IHZt YXBfY2IgPyAodm1hcF9jYikobWZuLCBwYWdlcykgOiB2bWFwKG1mbiwgcGFnZXMpOwogICAgIGlm ICggdmEgPT0gTlVMTCApCiAgICAgICAgIGdvdG8gZXJyb3I7CiAKLSAgICB4ZnJlZShtZm4pOwor ICAgIGlmICggbWZuX2FycmF5ICkKKyAgICAgICAgKm1mbl9hcnJheSA9IG1mbjsKKyAgICBlbHNl CisgICAgICAgIHhmcmVlKG1mbik7CisKICAgICByZXR1cm4gdmE7CiAKICBlcnJvcjoKQEAgLTI1 Miw2ICsyNTYsMTEgQEAgdm9pZCAqdm1hbGxvYyhzaXplX3Qgc2l6ZSkKICAgICByZXR1cm4gTlVM TDsKIH0KIAordm9pZCAqdm1hbGxvYyhzaXplX3Qgc2l6ZSkKK3sKKyAgICByZXR1cm4gdm1hbGxv Y19jYihzaXplLCBOVUxMLCBOVUxMKTsKK30KKwogdm9pZCAqdnphbGxvYyhzaXplX3Qgc2l6ZSkK IHsKICAgICB2b2lkICpwID0gdm1hbGxvYyhzaXplKTsKQEAgLTI2Niw3ICsyNzUsNyBAQCB2b2lk ICp2emFsbG9jKHNpemVfdCBzaXplKQogICAgIHJldHVybiBwOwogfQogCi12b2lkIHZmcmVlKHZv aWQgKnZhKQordm9pZCB2ZnJlZV9jYih2b2lkICp2YSwgdW5zaWduZWQgaW50IG5yX3BhZ2VzLCB2 ZnJlZV9jYl90IHZmcmVlX2NiX2ZuYykKIHsKICAgICB1bnNpZ25lZCBpbnQgaSwgcGFnZXM7CiAg ICAgc3RydWN0IHBhZ2VfaW5mbyAqcGc7CkBAIC0yNzUsOCArMjg0LDEyIEBAIHZvaWQgdmZyZWUo dm9pZCAqdmEpCiAgICAgaWYgKCAhdmEgKQogICAgICAgICByZXR1cm47CiAKLSAgICBwYWdlcyA9 IHZtX3NpemUodmEpOwotICAgIEFTU0VSVChwYWdlcyk7CisgICAgaWYgKCAhdmZyZWVfY2JfZm5j ICkKKyAgICB7CisgICAgICAgIHBhZ2VzID0gdm1fc2l6ZSh2YSk7CisgICAgICAgIEFTU0VSVChw YWdlcyk7CisgICAgfSBlbHNlCisgICAgICAgIHBhZ2VzID0gbnJfcGFnZXM7CiAKICAgICBmb3Ig KCBpID0gMDsgaSA8IHBhZ2VzOyBpKysgKQogICAgIHsKQEAgLTI4NSw5ICsyOTgsMTcgQEAgdm9p ZCB2ZnJlZSh2b2lkICp2YSkKICAgICAgICAgQVNTRVJUKHBhZ2UpOwogICAgICAgICBwYWdlX2xp c3RfYWRkKHBhZ2UsICZwZ19saXN0KTsKICAgICB9Ci0gICAgdnVubWFwKHZhKTsKKyAgICBpZiAo ICF2ZnJlZV9jYl9mbmMgKQorICAgICAgICB2dW5tYXAodmEpOworICAgIGVsc2UKKyAgICAgICAg dmZyZWVfY2JfZm5jKHZhLCBucl9wYWdlcyk7CiAKICAgICB3aGlsZSAoIChwZyA9IHBhZ2VfbGlz dF9yZW1vdmVfaGVhZCgmcGdfbGlzdCkpICE9IE5VTEwgKQogICAgICAgICBmcmVlX2RvbWhlYXBf cGFnZShwZyk7CiB9CisKK3ZvaWQgdmZyZWUodm9pZCAqdmEpCit7CisgICAgdmZyZWVfY2IodmEs IDAsIE5VTEwpOworfQogI2VuZGlmCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vdm1hcC5o IGIveGVuL2luY2x1ZGUveGVuL3ZtYXAuaAppbmRleCA1NjcxYWM4Li4wNTRlYjI1IDEwMDY0NAot LS0gYS94ZW4vaW5jbHVkZS94ZW4vdm1hcC5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi92bWFwLmgK QEAgLTEyLDkgKzEyLDIzIEBAIHZvaWQgKl9fdm1hcChjb25zdCBtZm5fdCAqbWZuLCB1bnNpZ25l ZCBpbnQgZ3JhbnVsYXJpdHksCiB2b2lkICp2bWFwKGNvbnN0IG1mbl90ICptZm4sIHVuc2lnbmVk IGludCBucik7CiB2b2lkIHZ1bm1hcChjb25zdCB2b2lkICopOwogdm9pZCAqdm1hbGxvYyhzaXpl X3Qgc2l6ZSk7CisKKy8qCisgKiBDYWxsYmFjayBmb3Igdm1hbGxvY19jYiB0byB1c2Ugd2hlbiB2 bWFwLWluZy4KKyAqLwordHlwZWRlZiB2b2lkICooKnZtYXBfY2JfdCkoY29uc3QgbWZuX3QgKm1m biwgdW5zaWduZWQgaW50IHBhZ2VzKTsKK3ZvaWQgKnZtYWxsb2NfY2Ioc2l6ZV90IHNpemUsIHZt YXBfY2JfdCB2bWFwX2NiLCBtZm5fdCAqKik7CisKIHZvaWQgKnZ6YWxsb2Moc2l6ZV90IHNpemUp Owogdm9pZCB2ZnJlZSh2b2lkICp2YSk7CiAKKy8qCisgKiBDYWxsYmFjayBmb3IgdmZyZWUgdG8g dXNlIGFuIGVxdWl2YWxlbnQgb2Ygdm1hcF9jYl90CisgKiB3aGVuIHRlYXJpbmcgZG93bi4KKyAq LwordHlwZWRlZiB2b2lkICgqdmZyZWVfY2JfdCkodm9pZCAqdmEsIHVuc2lnbmVkIGludCBwYWdl cyk7Cit2b2lkIHZmcmVlX2NiKHZvaWQgKnZhLCB1bnNpZ25lZCBpbnQgcGFnZXMsIHZmcmVlX2Ni X3QgdmZyZWVfY2JfZm5jKTsKKwogdm9pZCBfX2lvbWVtICppb3JlbWFwKHBhZGRyX3QsIHNpemVf dCk7CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBpb3VubWFwKHZvaWQgX19pb21lbSAqdmEpCi0tIAoy LjUuMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhl bi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3Rz Lnhlbi5vcmcveGVuLWRldmVsCg==