From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [PATCH V2 09/10] xen/arm: io: Use binary search for mmio handler lookup Date: Mon, 27 Jun 2016 16:27:51 +0100 Message-ID: <577145F7.4080900@arm.com> References: <1466963303-10850-1-git-send-email-shankerd@codeaurora.org> <1466963303-10850-10-git-send-email-shankerd@codeaurora.org> <57712AC9.8050302@arm.com> <57713D32.4050806@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <57713D32.4050806@codeaurora.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: shankerd@codeaurora.org, xen-devel , Stefano Stabellini Cc: Philip Elcan , Vikram Sethi List-Id: xen-devel@lists.xenproject.org SGkgU2hhbmtlciwKCk9uIDI3LzA2LzE2IDE1OjUwLCBTaGFua2VyIERvbnRoaW5lbmkgd3JvdGU6 Cj4gT24gMDYvMjcvMjAxNiAwODozMSBBTSwgSnVsaWVuIEdyYWxsIHdyb3RlOgo+PiBPbiAyNi8w Ni8xNiAxODo0OCwgU2hhbmtlciBEb250aGluZW5pIHdyb3RlOgo+Pj4gQXMgdGhlIG51bWJlciBv ZiBJL08gaGFuZGxlcnMgaW5jcmVhc2UsIHRoZSBvdmVyaGVhZCBhc3NvY2lhdGVkIHdpdGgKPj4+ IGxpbmVhciBsb29rdXAgYWxzbyBpbmNyZWFzZXMuIFRoZSBzeXN0ZW0gbWlnaHQgaGF2ZSBtYXhp bXVtIG9mIDE0NAo+Pj4gKGFzc3VtaW5nIENPTkZJR19OUl9DUFVTPTEyOCkgbW1pbyBoYW5kbGVy cy4gSW4gd29yc3QgY2FzZSBzY2VuYXJpbywKPj4+IGl0IHdvdWxkIHJlcXVpcmUgMTQ0IGl0ZXJh dGlvbnMgZm9yIGZpbmRpbmcgYSBtYXRjaGluZyBoYW5kbGVyLiBOb3cKPj4+IGl0IGlzIHRpbWUg Zm9yIHVzIHRvIGNoYW5nZSBmcm9tIGxpbmVhciAoY29tcGxleGl0eSBPKG4pKSB0byBhIGJpbmFy eQo+Pj4gc2VhcmNoIChjb21wbGV4aXR5IE8obG9nIG4pIGZvciByZWR1Y2luZyBtbWlvIGhhbmRs ZXIgbG9va3VwIG92ZXJoZWFkLgo+Pj4KPj4+IFNpZ25lZC1vZmYtYnk6IFNoYW5rZXIgRG9udGhp bmVuaSA8c2hhbmtlcmRAY29kZWF1cm9yYS5vcmc+Cj4+PiAtLS0KPj4+ICAgeGVuL2FyY2gvYXJt L2lvLmMgfCA1MAo+PiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0t LS0tLS0tLQo+Pj4gICAxIGZpbGUgY2hhbmdlZCwgMzkgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRp b25zKC0pCj4+Pgo+Pj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9pby5jIGIveGVuL2FyY2gv YXJtL2lvLmMKPj4+IGluZGV4IGE1YjJjMmQuLmFiZjQ5ZmIgMTAwNjQ0Cj4+PiAtLS0gYS94ZW4v YXJjaC9hcm0vaW8uYwo+Pj4gKysrIGIveGVuL2FyY2gvYXJtL2lvLmMKPj4+IEBAIC0yMCw2ICsy MCw3IEBACj4+PiAgICNpbmNsdWRlIDx4ZW4vbGliLmg+Cj4+PiAgICNpbmNsdWRlIDx4ZW4vc3Bp bmxvY2suaD4KPj4+ICAgI2luY2x1ZGUgPHhlbi9zY2hlZC5oPgo+Pj4gKyNpbmNsdWRlIDx4ZW4v c29ydC5oPgo+Pj4gICAjaW5jbHVkZSA8YXNtL2N1cnJlbnQuaD4KPj4+ICAgI2luY2x1ZGUgPGFz bS9tbWlvLmg+Cj4+Pgo+Pj4gQEAgLTcwLDIzICs3MSwzOCBAQCBzdGF0aWMgaW50IGhhbmRsZV93 cml0ZShjb25zdCBzdHJ1Y3QgbW1pb19oYW5kbGVyCj4+ICpoYW5kbGVyLCBzdHJ1Y3QgdmNwdSAq diwKPj4+IGhhbmRsZXItPnByaXYpOwo+Pj4gICB9Cj4+Pgo+Pj4gLWludCBoYW5kbGVfbW1pbyht bWlvX2luZm9fdCAqaW5mbykKPj4+ICtjb25zdCBzdHJ1Y3QgbW1pb19oYW5kbGVyICpmaW5kX21t aW9faGFuZGxlcihzdHJ1Y3QgdmNwdSAqdiwgcGFkZHJfdAo+PiBhZGRyKQo+Pj4gICB7Cj4+PiAt ICAgIHN0cnVjdCB2Y3B1ICp2ID0gY3VycmVudDsKPj4+IC0gICAgaW50IGk7Cj4+PiAtICAgIGNv bnN0IHN0cnVjdCBtbWlvX2hhbmRsZXIgKmhhbmRsZXIgPSBOVUxMOwo+Pj4gICAgICAgY29uc3Qg c3RydWN0IHZtbWlvICp2bW1pbyA9ICZ2LT5kb21haW4tPmFyY2gudm1taW87Cj4+PiArICAgIGNv bnN0IHN0cnVjdCBtbWlvX2hhbmRsZXIgKmhhbmRsZXIgPSB2bW1pby0+aGFuZGxlcnM7Cj4+PiAr ICAgIHVuc2lnbmVkIGludCBlaWR4ID0gdm1taW8tPm51bV9lbnRyaWVzOwo+Pj4gKyAgICB1bnNp Z25lZCBpbnQgbWlkeCA9IGVpZHggLyAyOwo+Pj4gKyAgICB1bnNpZ25lZCBpbnQgc2lkeCA9IDA7 Cj4+Pgo+Pj4gLSAgICBmb3IgKCBpID0gMDsgaSA8IHZtbWlvLT5udW1fZW50cmllczsgaSsrICkK Pj4+ICsgICAgLyogRG8gYmluYXJ5IHNlYXJjaCBmb3IgbWF0Y2hpbmcgbW1pbyBoYW5kbGVyICov Cj4+PiArICAgIHdoaWxlICggc2lkeCAhPSBtaWR4ICkKPj4+ICAgICAgIHsKPj4+IC0gICAgICAg IGhhbmRsZXIgPSAmdm1taW8tPmhhbmRsZXJzW2ldOwo+Pj4gLQo+Pj4gLSAgICAgICAgaWYgKCAo aW5mby0+Z3BhID49IGhhbmRsZXItPmFkZHIpICYmCj4+PiAtICAgICAgICAgICAgIChpbmZvLT5n cGEgPCAoaGFuZGxlci0+YWRkciArIGhhbmRsZXItPnNpemUpKSApCj4+PiAtICAgICAgICAgICAg YnJlYWs7Cj4+PiArICAgICAgICBpZiAoIGFkZHIgPCBoYW5kbGVyW21pZHhdLmFkZHIgKQo+Pj4g KyAgICAgICAgICAgIGVpZHggPSBtaWR4Owo+Pj4gKyAgICAgICAgZWxzZQo+Pj4gKyAgICAgICAg ICAgIHNpZHggPSBtaWR4Owo+Pj4gKyAgICAgICAgbWlkeCA9IHNpZHggKyAoZWlkeCAtIHNpZHgp IC8gMjsKPj4KPj4gVGhpcyBiaW5hcnkgc2VhcmNoIGNhbiBiZSBzaW1wbGlmaWVkLiBGb3IgaW5z dGFuY2UsIHdoeSBkbyB5b3Ugd2FudCB0bwo+PiBjb21wdXRlIG1pZHggYXQgdGhlIGVuZCByYXRo ZXIgdGhhbiBhdCB0aGUgYmVnaW5uaW5nLiBUaGlzIHdvdWxkIGF2b2lkCj4+IHRvIGhhdmUgInVu c2lnbmVkIGludCBtaWR4ID0gZWlkeCAvIDIiIGF0IHRoZSBiZWdpbm5pbmcuCj4+Cj4KPiBMZXQg bWUgdHJ5IHRvIHVzZSAiZG8gd2hpbGUoKSIgbG9vcCBsb2dpYyB0byBzaW1wbGlmeSB0aGUgYWJv dmUgY29kZSBsb2dpYy4KClBsZWFzZSBkb24ndCB0cnkgdG8gcmUtaW52ZW50IHlvdXIgb3duIGJp bmFyeSBzZWFyY2ggaW1wbGVtZW50YXRpb24gYW5kIAp1c2UgYSBrbm93biBvbmUgc3VjaCBhcyB0 aGUgb25lIGltcGxlbWVudGVkIGJ5IExpbnV4IChzZWUgYnNlYXJjaCkuCgo+Cj4+PiAgICAgICB9 Cj4+Pgo+Pj4gLSAgICBpZiAoIGkgPT0gdm1taW8tPm51bV9lbnRyaWVzICkKPj4+ICsgICAgaWYg KCAoYWRkciA+PSBoYW5kbGVyW3NpZHhdLmFkZHIpICYmCj4+PiArICAgICAgICAgKGFkZHIgPCAo aGFuZGxlcltzaWR4XS5hZGRyICsgaGFuZGxlcltzaWR4XS5zaXplKSkgKQo+Pj4gKyAgICAgICAg cmV0dXJuIGhhbmRsZXIgKyBzaWR4Owo+Pgo+PiBQbGVhc2UgdXNlIGEgdGVtcG9yYXJ5IHZhcmlh YmxlIGZvciBoYW5kbGVyW3NpZHhdLiBTbyBpdCB3aWxsIGJlCj4+IGVhc2llciB0byByZWFkIHRo ZSBjb2RlLgo+Pgo+Pj4gKwo+Pj4gKyAgICByZXR1cm4gTlVMTDsKPj4+ICt9Cj4+PiArCj4+PiAr aW50IGhhbmRsZV9tbWlvKG1taW9faW5mb190ICppbmZvKQo+Pj4gK3sKPj4+ICsgICAgY29uc3Qg c3RydWN0IG1taW9faGFuZGxlciAqaGFuZGxlcjsKPj4+ICsgICAgc3RydWN0IHZjcHUgKnYgPSBj dXJyZW50Owo+Pj4gKwo+Pj4gKyAgICBoYW5kbGVyID0gZmluZF9tbWlvX2hhbmRsZXIodiwgaW5m by0+Z3BhKTsKPj4KPj4gSSB3b3VsZCBoYXZlIGV4cGVjdGVkIHNvbWUgbG9ja2luZyBoZXJlLiBD b3VsZCB5b3UgZXhwbGFpbiB3aHkgaXQgaXMKPj4gc2FmZSB0byBsb29raW5nIGZpbmQgdGhlIGhh bmRsZXIgd2l0aCB5b3VyIHNvbHV0aW9uPwo+Pgo+PiBGb3Igd2hhdCBpcyB3b3J0aCwgdGhlcmUg d2FzIG5vIGxvY2tpbmcgYmVmb3JlIGJlY2F1c2UKPj4gcmVnaXN0ZXJfbW1pb19oYW5kbGVyIHdh cyBhbHdheXMgYWRkaW5nIHRoZSBoYW5kbGVyIGF0IHRoZSBlbmQgb2YgdGhlCj4+IGFycmF5LiBU aGlzIGlzIG5vdCB0cnVlIGFueW1vcmUgYmVjYXVzZSB5b3UgYXJlIHNvcnRpbmcgdGhlIGFycmF5 Lgo+Pgo+Cj4gVGhlIGZ1bmN0aW9uIHJlZ2lzdGVyX21taW9faGFuZGxlcigpIGlzIGNhbGxlZCBv bmx5IGR1cmluZyBkb20wL2RvbVUKPiBkb21haW4gYnVpbGQgY29kZSBwYXRoLiBXZSBkb24ndCBu ZWVkIGxvY2tpbmcgaGVyZSB1bnRpbCB1bmxlc3Mgc29tZQo+IGNvZGUgaW5zZXJ0aW5nIG1taW8g aGFuZGxlcnMgYXQgcnVudGltZS4KClRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIG9mIEkvTyBo YW5kbGVyIGlzIHRocmVhZC1zYWZlIGJlY2F1c2Ugb2YgdGhlIApzcGluX2xvY2sgYW5kIGxvY2st bGVzcy4gV2UgbWF5IGhhdmUgcGVvcGxlIGJ1aWxkaW5nIHByb2R1Y3Qgb24gdG9wIG9mIApYZW4g dXNpbmcgcmVnaXN0ZXJfbW1pb19oYW5kbGVyIHdoZW4gdGhlIGRvbWFpbiBpcyBydW5uaW5nLiBT byBJIHdpbGwgCm5hY2sgYW55IHBhdGNoIHRoYXQgY2F1c2UgYSByZWdyZXNzaW9uIG9uIHRoZSBi ZWhhdmlvci4KClJlZ2FyZHMsCgotLSAKSnVsaWVuIEdyYWxsCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1k ZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=