From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rusty Russell Subject: Re: [PATCH] btree: Add custom allocator interface. Date: Mon, 08 Feb 2016 11:15:32 +1030 Message-ID: <87wpqgm3mb.fsf@rustcorp.com.au> References: <1454803839-632-1-git-send-email-stuartl@longlandclan.id.au> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from ozlabs.org (ozlabs.org [103.22.144.67]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 3AF4F1A0190 for ; Mon, 8 Feb 2016 12:52:05 +1100 (AEDT) In-Reply-To: <1454803839-632-1-git-send-email-stuartl@longlandclan.id.au> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ccan-bounces+gclcc-ccan=m.gmane.org@lists.ozlabs.org Sender: "ccan" To: stuartl@longlandclan.id.au, ccan@lists.ozlabs.org Cc: Stuart Longland List-Id: ccan@lists.ozlabs.org c3R1YXJ0bEBsb25nbGFuZGNsYW4uaWQuYXUgd3JpdGVzOgo+IEZyb206IFN0dWFydCBMb25nbGFu ZCA8bWVAdms0bXNsLmlkLmF1Pgo+Cj4gVGhpcyBwcm92aWRlcyBhIHdheSBmb3IgYnRyZWUgdG8g YmUgdXNlZCB3aXRoIGV4dGVybmFsIGFsbG9jYXRvcgo+IGxpYnJhcmllcyBzdWNoIGFzIHRoZSB0 YWwgb3IgdGFsbG9jIG1vZHVsZXMuCgpTdXJlLiAgSW4gbXkgbGlicmFyaWVzIEkgZ2VuZXJhbGx5 IHVzZSBhIGdsb2JhbCBhbGxvY2F0b3Igb3ZlcnJpZGU7Cml0J3Mgbm90IHRocmVhZC1zYWZlLCBi dXQgbXVjaCBlYXNpZXIgdG8gdXNlIGluIHByYWN0aWNlLgoKU2luY2UgSSBkb24ndCB1c2UgYnRy ZWUsIEknbSBhZ25vc3RpYyBhYm91dCBpdCB0aG91Z2ghCgpNaW5vciBuaXRzIGJlbG93OgoKPiAt LS0KPiAgY2Nhbi9idHJlZS9idHJlZS5jIHwgMTk0ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gIGNjYW4vYnRyZWUvYnRyZWUuaCB8ICAyOSAr KysrKy0tLQo+ICAyIGZpbGVzIGNoYW5nZWQsIDEzNiBpbnNlcnRpb25zKCspLCA4NyBkZWxldGlv bnMoLSkKPgo+IGRpZmYgLS1naXQgYS9jY2FuL2J0cmVlL2J0cmVlLmMgYi9jY2FuL2J0cmVlL2J0 cmVlLmMKPiBpbmRleCA2MzZlZGJjLi41YmIyNDM1IDEwMDY0NAo+IC0tLSBhL2NjYW4vYnRyZWUv YnRyZWUuYwo+ICsrKyBiL2NjYW4vYnRyZWUvYnRyZWUuYwo+IEBAIC0yOSwxMiArMjksMTUgQEAK PiAgI2RlZmluZSBNQVggKEJUUkVFX0lURU1fTUFYKQo+ICAjZGVmaW5lIE1JTiAoQlRSRUVfSVRF TV9NQVggPj4gMSkKPiAgCj4gLXN0YXRpYyBzdHJ1Y3QgYnRyZWVfbm9kZSAqbm9kZV9hbGxvYyhp bnQgaW50ZXJuYWwpOwo+ICtzdGF0aWMgc3RydWN0IGJ0cmVlX25vZGUgKm5vZGVfYWxsb2MoY29u c3Qgc3RydWN0IGJ0cmVlX2FsbG9jYXRvciogYWxsb2MsIGludCBpbnRlcm5hbCk7Cj4gIHN0YXRp YyB2b2lkIG5vZGVfZGVsZXRlKHN0cnVjdCBidHJlZV9ub2RlICpub2RlLCBzdHJ1Y3QgYnRyZWUg KmJ0cmVlKTsKPiArc3RhdGljIHZvaWQgbm9kZV9mcmVlKHN0cnVjdCBidHJlZV9ub2RlICpub2Rl KTsKPiAgCj4gIHN0YXRpYyB2b2lkIGJyYW5jaF9iZWdpbihidHJlZV9pdGVyYXRvciBpdGVyKTsK PiAgc3RhdGljIHZvaWQgYnJhbmNoX2VuZChidHJlZV9pdGVyYXRvciBpdGVyKTsKPiAgc3RhdGlj IHZvaWQgYmVnaW5fZW5kX2xyKGJ0cmVlX2l0ZXJhdG9yIGl0ZXIsIHN0cnVjdCBidHJlZV9ub2Rl ICpub2RlLCBpbnQgbHIpOwo+ICtzdGF0aWMgdm9pZCogZGVmYXVsdF9tYWxsb2MoY29uc3Qgc3Ry dWN0IGJ0cmVlX2FsbG9jYXRvciogYWxsb2MsIHNpemVfdCBzaXplKTsKPiArc3RhdGljIHZvaWQg ZGVmYXVsdF9mcmVlKGNvbnN0IHN0cnVjdCBidHJlZV9hbGxvY2F0b3IqIGFsbG9jLCB2b2lkKiBw dHIpOwoKWW91IGRvbid0IG5lZWQgdG8gcHJlLWRlY2xhcmUgdGhlc2UsIHNlZSBiZWxvdy4KCj4g IC8qCj4gICAqIElmIGl0ZXItPm5vZGUgaGFzIHBhcmVudCwgcmV0dXJucyAxIGFuZCBhc2NlbmRz IHRoZSBpdGVyYXRvciBzdWNoIHRoYXQKPiBAQCAtNjUsMTEgKzY4LDE5IEBAIHN0YXRpYyBpbnQg bm9kZV93YWxrX2ZvcndhcmQoY29uc3Qgc3RydWN0IGJ0cmVlX25vZGUgKm5vZGUsCj4gIAo+ICBz dHJ1Y3QgYnRyZWUgKmJ0cmVlX25ldyhidHJlZV9zZWFyY2hfdCBzZWFyY2gpCj4gIHsKPiAtCXN0 cnVjdCBidHJlZSAqYnRyZWUgPSBjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBidHJlZSkpOwo+IC0J c3RydWN0IGJ0cmVlX25vZGUgKm5vZGUgPSBub2RlX2FsbG9jKDApOwo+ICsJcmV0dXJuIGJ0cmVl X25ld193aXRoX2FsbG9jKHNlYXJjaCwgJkJUUkVFX0RFRkFVTFRfQUxMT0NBVE9SKTsKPiArfQo+ ICsKPiArc3RydWN0IGJ0cmVlICpidHJlZV9uZXdfd2l0aF9hbGxvYyhidHJlZV9zZWFyY2hfdCBz ZWFyY2gsCj4gKwkJY29uc3Qgc3RydWN0IGJ0cmVlX2FsbG9jYXRvciAqYWxsb2MpCj4gK3sKPiAr CXN0cnVjdCBidHJlZSAqYnRyZWUgPSAoKihhbGxvYy0+bWFsbG9jKSkoYWxsb2MsIHNpemVvZihz dHJ1Y3QgYnRyZWUpKTsKCllvdSBjYW4gY2FsbCBhIGZ1bmN0aW9uIHBvaW50ZXIsIHNvIGFsbG9j LT5tYWxsb2MoYWxsb2MsIHNpemVvZihzdHJ1Y3QgYnRyZWUpKTsKc2hvdWxkIHdvcmsuICAKCj4g KwlzdHJ1Y3QgYnRyZWVfbm9kZSAqbm9kZSA9IG5vZGVfYWxsb2MoYWxsb2MsIDApOwo+ICAJCW5v ZGUtPnBhcmVudCA9IE5VTEw7Cj4gIAkJbm9kZS0+Y291bnQgPSAwOwo+ICAJCW5vZGUtPmRlcHRo ID0gMDsKPiArCW1lbXNldChidHJlZSwgMCwgc2l6ZW9mKHN0cnVjdCBidHJlZSkpOwo+ICsJYnRy ZWUtPmFsbG9jID0gYWxsb2M7Cj4gIAlidHJlZS0+cm9vdCA9IG5vZGU7Cj4gIAlidHJlZS0+c2Vh cmNoID0gc2VhcmNoOwo+ICAJYnRyZWUtPm11bHRpID0gZmFsc2U7Cj4gQEAgLTc5LDE2ICs5MCwx NiBAQCBzdHJ1Y3QgYnRyZWUgKmJ0cmVlX25ldyhidHJlZV9zZWFyY2hfdCBzZWFyY2gpCj4gIHZv aWQgYnRyZWVfZGVsZXRlKHN0cnVjdCBidHJlZSAqYnRyZWUpCj4gIHsKPiAgCW5vZGVfZGVsZXRl KGJ0cmVlLT5yb290LCBidHJlZSk7Cj4gLQlmcmVlKGJ0cmVlKTsKPiArCSgqKGJ0cmVlLT5hbGxv Yy0+ZnJlZSkpKGJ0cmVlLT5hbGxvYywgYnRyZWUpOwo+ICB9CgpEaXR0by4KCj4gIGJvb2wgYnRy ZWVfaW5zZXJ0KHN0cnVjdCBidHJlZSAqYnRyZWUsIGNvbnN0IHZvaWQgKml0ZW0pCj4gIHsKPiAg CWJ0cmVlX2l0ZXJhdG9yIGl0ZXI7Cj4gLQkKPiArCj4gIAlpZiAoYnRyZWVfZmluZF9sYXN0KGJ0 cmVlLCBpdGVtLCBpdGVyKSAmJiAhYnRyZWUtPm11bHRpKQo+ICAJCXJldHVybiBmYWxzZTsKPiAt CQo+ICsKCkxvdHMgb2Ygd2hpdGVzcGFjZSBjbGVhbnVwcy4gIE5vdCBhIHByb2JsZW0sIGJ1dCBw cmVmZXIgYSBzZXBhcmF0ZSBwYXRjaApmb3IgY2xhcml0eS4KCj4gKwo+ICsvKiBEZWZhdWx0IGFs bG9jYXRvciBpbXBsZW1lbnRhdGlvbiAqLwo+ICtjb25zdCBzdHJ1Y3QgYnRyZWVfYWxsb2NhdG9y IEJUUkVFX0RFRkFVTFRfQUxMT0NBVE9SID0gewo+ICsJLm1hbGxvYyA9IGRlZmF1bHRfbWFsbG9j LAo+ICsJLmZyZWUgPSBkZWZhdWx0X2ZyZWUsCj4gK307Cj4gKwo+ICtzdGF0aWMgdm9pZCogZGVm YXVsdF9tYWxsb2MoY29uc3Qgc3RydWN0IGJ0cmVlX2FsbG9jYXRvciogYWxsb2MsIHNpemVfdCBz aXplKQo+ICt7Cj4gKwlyZXR1cm4gbWFsbG9jKHNpemUpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9p ZCBkZWZhdWx0X2ZyZWUoY29uc3Qgc3RydWN0IGJ0cmVlX2FsbG9jYXRvciogYWxsb2MsIHZvaWQq IHB0cikKPiArewo+ICsJZnJlZShwdHIpOwo+ICt9CgpQdXQgZGVmYXVsdF9tYWxsb2MgYW5kIGRl ZmF1bHRfZnJlZSBhYm92ZSB0aGUgQlRSRUVfREVGQVVMVF9BTExPQ0FUT1IKZGVmaW5pdGlvbiwg YW5kIHlvdSBkb24ndCBuZWVkIHRvIHByZS1kZWNsYXJlIHRoZW0uCgpUaGFua3MsClJ1c3R5Lgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpjY2FuIG1haWxp bmcgbGlzdApjY2FuQGxpc3RzLm96bGFicy5vcmcKaHR0cHM6Ly9saXN0cy5vemxhYnMub3JnL2xp c3RpbmZvL2NjYW4K