From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shanker Donthineni Subject: Re: [PATCH V4 10/11] xen/arm: io: Use binary search for mmio handler lookup Date: Thu, 14 Jul 2016 21:35:52 -0500 Message-ID: <57884C08.3060104@codeaurora.org> References: <1468513081-12002-1-git-send-email-shankerd@codeaurora.org> <1468513081-12002-2-git-send-email-shankerd@codeaurora.org> <5787C1CA.6050003@arm.com> Reply-To: shankerd@codeaurora.org Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <5787C1CA.6050003@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Julien Grall , xen-devel , Stefano Stabellini Cc: Philip Elcan , Vikram Sethi List-Id: xen-devel@lists.xenproject.org SGkgSnVsaWVuLAoKT24gMDcvMTQvMjAxNiAxMTo0NiBBTSwgSnVsaWVuIEdyYWxsIHdyb3RlOgo+ IEhpIFNoYW5rZXIsCj4KPiBPbiAxNC8wNy8xNiAxNzoxOCwgU2hhbmtlciBEb250aGluZW5pIHdy b3RlOgo+PiBBcyB0aGUgbnVtYmVyIG9mIEkvTyBoYW5kbGVycyBpbmNyZWFzZSwgdGhlIG92ZXJo ZWFkIGFzc29jaWF0ZWQgd2l0aAo+PiBsaW5lYXIgbG9va3VwIGFsc28gaW5jcmVhc2VzLiBUaGUg c3lzdGVtIG1pZ2h0IGhhdmUgbWF4aW11bSBvZiAxNDQKPj4gKGFzc3VtaW5nIENPTkZJR19OUl9D UFVTPTEyOCkgbW1pbyBoYW5kbGVycy4gSW4gd29yc3QgY2FzZSBzY2VuYXJpbywKPj4gaXQgd291 bGQgcmVxdWlyZSAxNDQgaXRlcmF0aW9ucyBmb3IgZmluZGluZyBhIG1hdGNoaW5nIGhhbmRsZXIu IE5vdwo+PiBpdCBpcyB0aW1lIGZvciB1cyB0byBjaGFuZ2UgZnJvbSBsaW5lYXIgKGNvbXBsZXhp dHkgTyhuKSkgdG8gYSBiaW5hcnkKPj4gc2VhcmNoIChjb21wbGV4aXR5IE8obG9nIG4pIGZvciBy ZWR1Y2luZyBtbWlvIGhhbmRsZXIgbG9va3VwIG92ZXJoZWFkLgo+Pgo+PiBTaWduZWQtb2ZmLWJ5 OiBTaGFua2VyIERvbnRoaW5lbmkgPHNoYW5rZXJkQGNvZGVhdXJvcmEub3JnPgo+PiAtLS0KPj4g Q2hhbmdlcyBzaW5jZSB2MzoKPj4gICAgTW92ZWQgdGhlIGZ1bmN0aW9uIGJzZWFyY2goKSB0byBj b21tb24gZmlsZSB4ZW4vY29tbW9uL2JzZWFyY2guYy4KPj4KPj4gQ2hhbmdlcyBzaW5jZSB2MjoK Pj4gICAgQ29udmVydGVkIG1taW8gbG9va3VwIGNvZGUgdG8gYSBjcml0aWNhbCBzZWN0aW9uLgo+ PiAgICBDb3BpZWQgdGhlIGZ1bmN0aW9uIGJzcmVhY2goKSBmcm9tIExpbnV4IGtlcm5lbC4KPj4K Pj4gICB4ZW4vYXJjaC9hcm0vaW8uYyB8IDQyICsrKysrKysrKysrKysrKysrKysrKysrKystLS0t LS0tLS0tLS0tLS0tLQo+PiAgIDEgZmlsZSBjaGFuZ2VkLCAyNSBpbnNlcnRpb25zKCspLCAxNyBk ZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9pby5jIGIveGVuL2Fy Y2gvYXJtL2lvLmMKPj4gaW5kZXggNDAzMzBmMC4uMDQ3MWJhOCAxMDA2NDQKPj4gLS0tIGEveGVu L2FyY2gvYXJtL2lvLmMKPj4gKysrIGIveGVuL2FyY2gvYXJtL2lvLmMKPj4gQEAgLTIwLDYgKzIw LDggQEAKPj4gICAjaW5jbHVkZSA8eGVuL2xpYi5oPgo+PiAgICNpbmNsdWRlIDx4ZW4vc3Bpbmxv Y2suaD4KPj4gICAjaW5jbHVkZSA8eGVuL3NjaGVkLmg+Cj4+ICsjaW5jbHVkZSA8eGVuL3NvcnQu aD4KPj4gKyNpbmNsdWRlIDx4ZW4vYnNlYXJjaC5oPgo+PiAgICNpbmNsdWRlIDxhc20vY3VycmVu dC5oPgo+PiAgICNpbmNsdWRlIDxhc20vbW1pby5oPgo+Pgo+PiBAQCAtNzAsMjcgKzcyLDI5IEBA IHN0YXRpYyBpbnQgaGFuZGxlX3dyaXRlKGNvbnN0IHN0cnVjdCBtbWlvX2hhbmRsZXIgCj4+ICpo YW5kbGVyLCBzdHJ1Y3QgdmNwdSAqdiwKPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgaGFuZGxlci0+cHJpdik7Cj4+ICAgfQo+Pgo+PiAtc3RhdGljIGNvbnN0IHN0cnVjdCBtbWlv X2hhbmRsZXIgKmZpbmRfbW1pb19oYW5kbGVyKHN0cnVjdCBkb21haW4gKmQsCj4+IC0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZHJfdCBncGEp Cj4+ICtzdGF0aWMgaW50IGNtcF9tbWlvX2hhbmRsZXIoY29uc3Qgdm9pZCAqa2V5LCBjb25zdCB2 b2lkICplbGVtKQo+Cj4gV291bGQgaXQgYmUgd29ydGggdG8gbWVudGlvbiBpbiBhIGNvbW1lbnQg dGhhdCB3ZSBkb24ndCBzdXBwb3J0IAo+IG92ZXJsYXBwaW5nPwo+CgpTdXJlLCBJJ2xsIGRvLgoK Pj4gICB7Cj4+IC0gICAgY29uc3Qgc3RydWN0IG1taW9faGFuZGxlciAqaGFuZGxlcjsKPj4gLSAg ICB1bnNpZ25lZCBpbnQgaTsKPj4gLSAgICBzdHJ1Y3Qgdm1taW8gKnZtbWlvID0gJmQtPmFyY2gu dm1taW87Cj4+ICsgICAgY29uc3Qgc3RydWN0IG1taW9faGFuZGxlciAqaGFuZGxlcjAgPSBrZXk7 Cj4+ICsgICAgY29uc3Qgc3RydWN0IG1taW9faGFuZGxlciAqaGFuZGxlcjEgPSBlbGVtOwo+Pgo+ PiAtICAgIHJlYWRfbG9jaygmdm1taW8tPmxvY2spOwo+PiArICAgIGlmICggaGFuZGxlcjAtPmFk ZHIgPCBoYW5kbGVyMS0+YWRkciApCj4+ICsgICAgICAgIHJldHVybiAtMTsKPj4KPj4gLSAgICBm b3IgKCBpID0gMDsgaSA8IHZtbWlvLT5udW1fZW50cmllczsgaSsrICkKPj4gLSAgICB7Cj4+IC0g ICAgICAgIGhhbmRsZXIgPSAmdm1taW8tPmhhbmRsZXJzW2ldOwo+PiArICAgIGlmICggaGFuZGxl cjAtPmFkZHIgPiAoaGFuZGxlcjEtPmFkZHIgKyBoYW5kbGVyMS0+c2l6ZSkgKQo+PiArICAgICAg ICByZXR1cm4gMTsKPj4KPj4gLSAgICAgICAgaWYgKCAoZ3BhID49IGhhbmRsZXItPmFkZHIpICYm Cj4+IC0gICAgICAgICAgICAgKGdwYSA8IChoYW5kbGVyLT5hZGRyICsgaGFuZGxlci0+c2l6ZSkp ICkKPj4gLSAgICAgICAgICAgIGJyZWFrOwo+PiAtICAgIH0KPj4gKyAgICByZXR1cm4gMDsKPj4g K30KPj4KPj4gLSAgICBpZiAoIGkgPT0gdm1taW8tPm51bV9lbnRyaWVzICkKPj4gLSAgICAgICAg aGFuZGxlciA9IE5VTEw7Cj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IG1taW9faGFuZGxlciAqZmlu ZF9tbWlvX2hhbmRsZXIoc3RydWN0IHZjcHUgKnYsIAo+PiBwYWRkcl90IGdwYSkKPgo+IFdoeSBo YXZlIHlvdSBjaGFuZ2VkIHRoZSBwcm90b3R5cGUgb2YgZmluZF9tbWlvX2hhbmRsZXI/Cj4KCkFz IHN1Y2ggdGhlcmUgaXMgbm8gcmVhc29uIGZvciB0aGlzIGNoYW5nZSwgSSdsbCByZXZlcnQgdGhp cyBjaGFuZ2UgaW4gCm5leHQgcGF0Y2hzZXQuCj4+ICt7Cj4+ICsgICAgc3RydWN0IHZtbWlvICp2 bW1pbyA9ICZ2LT5kb21haW4tPmFyY2gudm1taW87Cj4+ICsgICAgc3RydWN0IG1taW9faGFuZGxl ciBrZXkgPSB7LmFkZHIgPSBncGF9Owo+Cj4gSSBrbm93IGl0IGlzIG5vdCBjdXJyZW50bHkgdGhl IGNhc2UsIGJ1dCBzaG91bGQgbm90IHdlIHRha2UgaW50byAKPiBhY2NvdW50IHRoZSBzaXplIG9m IHRoZSBhY2Nlc3M/Cj4KCkkgYWdyZWUgd2l0aCB5b3UsIHdlIGRlZmluaXRlbHkgbmVlZCB0byBj b25zaWRlciBzaXplIG9mIHRoZSBhY2Nlc3MgZm9yIAp0cmFwcy9lbXVsYXRpb24gZHJpdmVycyBz aW1pbGFyIHRvIHdoYXQgTGludXggS1ZNIGNvZGUgZG9lcyBjdXJyZW50bHkuIApEbyB5b3Uga25v dyB3aGljaCBlbXVsYXRpb24gZHJpdmVycyBhcmUgdXNpbmcgbm9uIGFsaWduZWQgYWNjZXNzZXM/ CgoKPj4gKyAgICBjb25zdCBzdHJ1Y3QgbW1pb19oYW5kbGVyICpoYW5kbGVyOwo+Pgo+PiArICAg IHJlYWRfbG9jaygmdm1taW8tPmxvY2spOwo+PiArICAgIGhhbmRsZXIgPSBic2VhcmNoKCZrZXks IHZtbWlvLT5oYW5kbGVycywgdm1taW8tPm51bV9lbnRyaWVzLAo+PiArICAgICAgICAgICAgICAg ICAgICAgIHNpemVvZigqaGFuZGxlciksIGNtcF9tbWlvX2hhbmRsZXIpOwo+PiAgICAgICByZWFk X3VubG9jaygmdm1taW8tPmxvY2spOwo+Pgo+PiAgICAgICByZXR1cm4gaGFuZGxlcjsKPj4gQEAg LTk5LDkgKzEwMyw5IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbW1pb19oYW5kbGVyIAo+PiAqZmlu ZF9tbWlvX2hhbmRsZXIoc3RydWN0IGRvbWFpbiAqZCwKPj4gICBpbnQgaGFuZGxlX21taW8obW1p b19pbmZvX3QgKmluZm8pCj4+ICAgewo+PiAgICAgICBzdHJ1Y3QgdmNwdSAqdiA9IGN1cnJlbnQ7 Cj4+IC0gICAgY29uc3Qgc3RydWN0IG1taW9faGFuZGxlciAqaGFuZGxlciA9IE5VTEw7Cj4+ICsg ICAgY29uc3Qgc3RydWN0IG1taW9faGFuZGxlciAqaGFuZGxlcjsKPgo+IFdoeSB0aGlzIGNoYW5n ZT8KPgoKTm8gbmVlZCB0byBpbml0aWFsaXplIHRoaXMgbG9jYWwgdmFyaWFibGUgYmVjYXVzZSB0 aGUgZm9sbG93aW5nIGxpbmUgCmFsd2F5cyBpbml0aWFsaXplcyBpdC4gSSdsbCByZXZlcnQgdGhp cyBjaGFuZ2UgYW55d2F5IHRvIGF2b2lkIGNvbmZ1c2lvbi4KCj4+Cj4+IC0gICAgaGFuZGxlciA9 IGZpbmRfbW1pb19oYW5kbGVyKHYtPmRvbWFpbiwgaW5mby0+Z3BhKTsKPj4gKyAgICBoYW5kbGVy ID0gZmluZF9tbWlvX2hhbmRsZXIodiwgaW5mby0+Z3BhKTsKPgo+IGRpdHRvLgo+Cj4+ICAgICAg IGlmICggIWhhbmRsZXIgKQo+PiAgICAgICAgICAgcmV0dXJuIDA7Cj4+Cj4+IEBAIC0xMzEsNiAr MTM1LDEwIEBAIHZvaWQgcmVnaXN0ZXJfbW1pb19oYW5kbGVyKHN0cnVjdCBkb21haW4gKmQsCj4+ Cj4+ICAgICAgIHZtbWlvLT5udW1fZW50cmllcysrOwo+Pgo+PiArICAgIC8qIFNvcnQgbW1pbyBo YW5kbGVycyBpbiBhc2NlbmRpbmcgb3JkZXIgYmFzZWQgb24gYmFzZSBhZGRyZXNzICovCj4+ICsg ICAgc29ydCh2bW1pby0+aGFuZGxlcnMsIHZtbWlvLT5udW1fZW50cmllcywgc2l6ZW9mKHN0cnVj dCAKPj4gbW1pb19oYW5kbGVyKSwKPj4gKyAgICAgICAgY21wX21taW9faGFuZGxlciwgTlVMTCk7 Cj4KPiBUaGUgaW5kZW50YXRpb24gbG9va3Mgd3JvbmcgaGVyZS4KPgoKSSBkb24ndCBxdWl0ZSB1 bmRlcnN0YW5kIHdoYXQgeW91IG1lYW4uIEl0IGhhcyA4IHNwYWNlcywgZG8gSSBuZWVkIG1vcmUg CnRoYW4gOCBzcGFjZXMgb3Igc29tZXRoaW5nIGVsc2U/Cj4+ICsKPj4gICAgICAgd3JpdGVfdW5s b2NrKCZ2bW1pby0+bG9jayk7Cj4+ICAgfQo+Pgo+Pgo+CgotLSAKU2hhbmtlciBEb250aGluZW5p ClF1YWxjb21tIERhdGFjZW50ZXIgVGVjaG5vbG9naWVzLCBJbmMuIGFzIGFuIGFmZmlsaWF0ZSBv ZiBRdWFsY29tbSBUZWNobm9sb2dpZXMsIEluYy4KUXVhbGNvbW0gVGVjaG5vbG9naWVzLCBJbmMu IGlzIGEgbWVtYmVyIG9mIHRoZSBDb2RlIEF1cm9yYSBGb3J1bSwgYSBMaW51eCBGb3VuZGF0aW9u IENvbGxhYm9yYXRpdmUgUHJvamVjdC4KCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54 ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK