From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau =?iso-8859-1?Q?Monn=E9?= Subject: Re: [PATCH v4 08/12] x86/hvm/ioreq: maintain an array of ioreq servers rather than a list Date: Thu, 7 Sep 2017 15:41:23 +0100 Message-ID: <20170907144123.xglmekuyzky2dw7b@dhcp-3-128.uk.xensource.com> References: <20170905113716.3960-1-paul.durrant@citrix.com> <20170905113716.3960-9-paul.durrant@citrix.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 1dpy4Q-0001rP-NP for xen-devel@lists.xenproject.org; Thu, 07 Sep 2017 14:46:18 +0000 Content-Disposition: inline In-Reply-To: <20170905113716.3960-9-paul.durrant@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Paul Durrant Cc: xen-devel@lists.xenproject.org, Jan Beulich , Andrew Cooper List-Id: xen-devel@lists.xenproject.org T24gVHVlLCBTZXAgMDUsIDIwMTcgYXQgMTI6Mzc6MTJQTSArMDEwMCwgUGF1bCBEdXJyYW50IHdy b3RlOgo+IEEgc3Vic2VxdWVudCBwYXRjaCB3aWxsIHJlbW92ZSB0aGUgY3VycmVudCBpbXBsaWNp dCBsaW1pdGF0aW9uIG9uIGNyZWF0aW9uCj4gb2YgaW9yZXEgc2VydmVycyB3aGljaCBpcyBkdWUg dG8gdGhlIGFsbG9jYXRpb24gb2YgZ2ZucyBmb3IgdGhlIGlvcmVxCj4gc3RydWN0dXJlcyBhbmQg YnVmZmVyZWQgaW9yZXEgcmluZy4KPiAKPiBJdCB3aWxsIHRoZXJlZm9yZSBiZSBuZWNlc3Nhcnkg dG8gaW50cm9kdWNlIGFuIGV4cGxpY2l0IGxpbWl0IGFuZCwgc2luY2UKPiB0aGlzIGxpbWl0IHNo b3VsZCBiZSBzbWFsbCwgaXQgc2ltcGxpZmllcyB0aGUgY29kZSB0byBtYWludGFpbiBhbiBhcnJh eSBvZgo+IHRoYXQgc2l6ZSByYXRoZXIgdGhhbiB1c2luZyBhIGxpc3QuCj4gCj4gQWxzbywgYnkg cmVzZXJ2aW5nIGFuIGFycmF5IHNsb3QgZm9yIHRoZSBkZWZhdWx0IHNlcnZlciBhbmQgcG9wdWxh dGluZwo+IGFycmF5IHNsb3RzIGVhcmx5IGluIGNyZWF0ZSwgdGhlIG5lZWQgdG8gcGFzcyBhbiAn aXNfZGVmYXVsdCcgYm9vbGVhbgo+IHRvIHN1Yi1mdW5jdGlvbnMgY2FuIGJlIGF2b2lkZWQuCj4g Cj4gU2lnbmVkLW9mZi1ieTogUGF1bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRAY2l0cml4LmNvbT4K CkxHVE0sIGp1c3QgYSBjb3VwbGUgb2Ygbml0cGlja3MsIEkgdGhpbmsgdGhleSBjYW4gYmUgZml4 ZWQgdXBvbiBjb21taXQKaWYgZGVzaXJlZC4KClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOp IDxyb2dlci5wYXVAY2l0cml4LmNvbT4KCj4gLS0tCj4gQ2M6IEphbiBCZXVsaWNoIDxqYmV1bGlj aEBzdXNlLmNvbT4KPiBDYzogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv bT4KPiAKPiB2NDoKPiAgLSBJbnRyb2R1Y2VkIG1vcmUgaGVscGVyIG1hY3JvcyBhbmQgcmVsb2Nh dGVkIHRoZW0gdG8gdGhlIHRvcCBvZiB0aGUKPiAgICBjb2RlLgo+IAo+IHYzOgo+ICAtIE5ldyBw YXRjaCAocmVwbGFjaW5nICJtb3ZlIGlzX2RlZmF1bHQgaW50byBzdHJ1Y3QgaHZtX2lvcmVxX3Nl cnZlciIpIGluCj4gICAgcmVzcG9uc2UgdG8gcmV2aWV3IGNvbW1lbnRzLgo+IC0tLQo+ICB4ZW4v YXJjaC94ODYvaHZtL2lvcmVxLmMgICAgICAgICB8IDQ5MSArKysrKysrKysrKysrKysrKystLS0t LS0tLS0tLS0tLS0tLS0tLS0KPiAgeGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vZG9tYWluLmggfCAg MTEgKy0KPiAgMiBmaWxlcyBjaGFuZ2VkLCAyMzUgaW5zZXJ0aW9ucygrKSwgMjY3IGRlbGV0aW9u cygtKQo+IAo+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL2lvcmVxLmMgYi94ZW4vYXJj aC94ODYvaHZtL2lvcmVxLmMKPiBpbmRleCBmMmUwYjNmNzRhLi4yODc1NzJiZDFmIDEwMDY0NAo+ IC0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vaW9yZXEuYwo+ICsrKyBiL3hlbi9hcmNoL3g4Ni9odm0v aW9yZXEuYwo+IEBAIC0zMyw2ICszMywyMiBAQAo+ICAKPiAgI2luY2x1ZGUgPHB1YmxpYy9odm0v aW9yZXEuaD4KPiAgCj4gKyNkZWZpbmUgU0VUX0lPUkVRX1NFUlZFUihkLCBpZCwgcykgXAo+ICsg ICAgKGQpLT5hcmNoLmh2bV9kb21haW4uaW9yZXFfc2VydmVyLnNlcnZlcltpZF0gPSAocykKCkFy ZSB0aGUgcGFyZW50aGVzZXMgYXJvdW5kIHMgcmVxdWlyZWQ/Cgo+ICsKPiArI2RlZmluZSBHRVRf SU9SRVFfU0VSVkVSKGQsIGlkKSBcCj4gKyAgICAoKChpZCkgPCBNQVhfTlJfSU9SRVFfU0VSVkVS UykgPyBcCj4gKyAgICAgKGQpLT5hcmNoLmh2bV9kb21haW4uaW9yZXFfc2VydmVyLnNlcnZlcltp ZF0gOiBcCj4gKyAgICAgTlVMTCkKPiArCj4gKyNkZWZpbmUgRk9SX0VBQ0hfSU9SRVFfU0VSVkVS KGQsIGlkLCBzKSBcCj4gKyAgICBmb3IgKCAoaWQpID0gMCwgKHMpID0gR0VUX0lPUkVRX1NFUlZF UigoZCksIChpZCkpOyBcCj4gKyAgICAgICAgICAoaWQpIDwgTUFYX05SX0lPUkVRX1NFUlZFUlM7 IFwKPiArICAgICAgICAgIChpZCkrKywgKHMpID0gR0VUX0lPUkVRX1NFUlZFUigoZCksIChpZCkp ICkKClNhbWUgaGVyZSBhYm91dCB0aGUgcGFyZW50aGVzZXMgYXJvdW5kIHMsIGQgYW5kIGlkIGlu IHRoZQpHRVRfSU9SRVFfU0VSVkVSIGNhbGxzLiBJbiBmYWN0IHlvdSBjb3VsZCBjb21wYWN0IHRo ZSBhZnRlcnRob3VnaHQgYXM6CgpzID0gR0VUX0lPUkVRX1NFUlZFUihkLCArKyhpZCkpCgpCdXQg dGhhdCdzIGp1c3QgYSBuaXQuCgo+ICBpbnQgaHZtX2NyZWF0ZV9pb3JlcV9zZXJ2ZXIoc3RydWN0 IGRvbWFpbiAqZCwgZG9taWRfdCBkb21pZCwKPiBAQCAtNjg1LDUyICs2NzQsNjcgQEAgaW50IGh2 bV9jcmVhdGVfaW9yZXFfc2VydmVyKHN0cnVjdCBkb21haW4gKmQsIGRvbWlkX3QgZG9taWQsCj4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpb3NlcnZpZF90ICppZCkKPiAgewo+ICAgICAg c3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIgKnM7Cj4gKyAgICB1bnNpZ25lZCBpbnQgaTsKPiAgICAg IGludCByYzsKPiAgCj4gICAgICBpZiAoIGJ1ZmlvcmVxX2hhbmRsaW5nID4gSFZNX0lPUkVRU1JW X0JVRklPUkVRX0FUT01JQyApCj4gICAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4gIAo+IC0gICAg cmMgPSAtRU5PTUVNOwo+ICAgICAgcyA9IHh6YWxsb2Moc3RydWN0IGh2bV9pb3JlcV9zZXJ2ZXIp Owo+ICAgICAgaWYgKCAhcyApCj4gLSAgICAgICAgZ290byBmYWlsMTsKPiArICAgICAgICByZXR1 cm4gLUVOT01FTTsKPiAgCj4gICAgICBkb21haW5fcGF1c2UoZCk7Cj4gICAgICBzcGluX2xvY2tf cmVjdXJzaXZlKCZkLT5hcmNoLmh2bV9kb21haW4uaW9yZXFfc2VydmVyLmxvY2spOwo+ICAKPiAt ICAgIHJjID0gLUVFWElTVDsKPiAtICAgIGlmICggaXNfZGVmYXVsdCAmJiBkLT5hcmNoLmh2bV9k b21haW4uZGVmYXVsdF9pb3JlcV9zZXJ2ZXIgIT0gTlVMTCApCj4gLSAgICAgICAgZ290byBmYWls MjsKPiAtCj4gLSAgICByYyA9IGh2bV9pb3JlcV9zZXJ2ZXJfaW5pdChzLCBkLCBkb21pZCwgaXNf ZGVmYXVsdCwgYnVmaW9yZXFfaGFuZGxpbmcsCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBuZXh0X2lvc2VydmlkKGQpKTsKPiAtICAgIGlmICggcmMgKQo+IC0gICAgICAgIGdvdG8g ZmFpbDM7Cj4gLQo+IC0gICAgbGlzdF9hZGQoJnMtPmxpc3RfZW50cnksCj4gLSAgICAgICAgICAg ICAmZC0+YXJjaC5odm1fZG9tYWluLmlvcmVxX3NlcnZlci5saXN0KTsKPiAtCj4gICAgICBpZiAo IGlzX2RlZmF1bHQgKQo+ICAgICAgewo+IC0gICAgICAgIGQtPmFyY2guaHZtX2RvbWFpbi5kZWZh dWx0X2lvcmVxX3NlcnZlciA9IHM7Cj4gLSAgICAgICAgaHZtX2lvcmVxX3NlcnZlcl9lbmFibGUo cywgdHJ1ZSk7Cj4gKyAgICAgICAgaSA9IERFRkFVTFRfSU9TRVJWSUQ7Cj4gKwo+ICsgICAgICAg IHJjID0gLUVFWElTVDsKPiArICAgICAgICBpZiAoIEdFVF9JT1JFUV9TRVJWRVIoZCwgaSkgKQo+ ICsgICAgICAgICAgICBnb3RvIGZhaWw7Cj4gKyAgICB9Cj4gKyAgICBlbHNlCj4gKyAgICB7Cj4g KyAgICAgICAgZm9yICggaSA9IDA7IGkgPCBNQVhfTlJfSU9SRVFfU0VSVkVSUzsgaSsrICkKPiAr ICAgICAgICB7Cj4gKyAgICAgICAgICAgIGlmICggaSAhPSBERUZBVUxUX0lPU0VSVklEICYmCj4g KyAgICAgICAgICAgICAgICAgIUdFVF9JT1JFUV9TRVJWRVIoZCwgaSkgKQoKTm8gbmVlZCBmb3Ig dGhlIG5ld2xpbmUsIHRoZSBjb25kaXRpb24gZml0cyBpbiBhIHNpbmdsZSBsaW5lLgoKQW5kIHNp bmNlIHlvdSBoYXZlIHRoZSBtYWNyb3MsIHRoaXMgY291bGQgYWxzbyBiZSB3cml0dGVuIGluIHRl cm1zIG9mCkZPUl9FQUNIX0lPUkVRX1NFUlZFUi4gTm90IHJlYWxseSBzdXJlIGl0J3Mgd29ydGgg aXQgYW55d2F5LCB5b3Ugd291bGQKaGF2ZSB0byBpbnRyb2R1Y2UgYW5vdGhlciBzdHJ1Y3QgaHZt X2lvcmVxX3NlcnZlciBwb2ludGVyIGhlcmUuCgo+ICsgICAgICAgICAgICAgICAgYnJlYWs7Cj4g KyAgICAgICAgfQo+ICsKPiArICAgICAgICByYyA9IC1FTk9TUEM7Cj4gKyAgICAgICAgaWYgKCBp ID49IE1BWF9OUl9JT1JFUV9TRVJWRVJTICkKPiArICAgICAgICAgICAgZ290byBmYWlsOwo+ICAg ICAgfQo+ICAKPiArICAgIFNFVF9JT1JFUV9TRVJWRVIoZCwgaSwgcyk7Cj4gKwo+ICsgICAgcmMg PSBodm1faW9yZXFfc2VydmVyX2luaXQocywgZCwgZG9taWQsIGJ1ZmlvcmVxX2hhbmRsaW5nLCBp KTsKPiArICAgIGlmICggcmMgKQo+ICsgICAgICAgIGdvdG8gZmFpbDsKPiArCj4gKyAgICBpZiAo IElTX0RFRkFVTFQocykgKQo+ICsgICAgICAgIGh2bV9pb3JlcV9zZXJ2ZXJfZW5hYmxlKHMpOwo+ ICsKPiAgICAgIGlmICggaWQgKQo+IC0gICAgICAgICppZCA9IHMtPmlkOwo+ICsgICAgICAgICpp ZCA9IGk7Cj4gKwo+ICsgICAgZC0+YXJjaC5odm1fZG9tYWluLmlvcmVxX3NlcnZlci5jb3VudCsr Owo+ICAKPiAgICAgIHNwaW5fdW5sb2NrX3JlY3Vyc2l2ZSgmZC0+YXJjaC5odm1fZG9tYWluLmlv cmVxX3NlcnZlci5sb2NrKTsKPiAgICAgIGRvbWFpbl91bnBhdXNlKGQpOwo+ICAKPiAgICAgIHJl dHVybiAwOwo+ICAKPiAtIGZhaWwzOgo+IC0gZmFpbDI6Cj4gKyBmYWlsOgo+ICsgICAgU0VUX0lP UkVRX1NFUlZFUihkLCBpLCBOVUxMKTsKPiArCj4gICAgICBzcGluX3VubG9ja19yZWN1cnNpdmUo JmQtPmFyY2guaHZtX2RvbWFpbi5pb3JlcV9zZXJ2ZXIubG9jayk7Cj4gICAgICBkb21haW5fdW5w YXVzZShkKTsKPiAgCj4gICAgICB4ZnJlZShzKTsKPiAtIGZhaWwxOgo+ICAgICAgcmV0dXJuIHJj Owo+ICB9Cj4gIAo+IEBAIC03NDEsMzUgKzc0NSwzMCBAQCBpbnQgaHZtX2Rlc3Ryb3lfaW9yZXFf c2VydmVyKHN0cnVjdCBkb21haW4gKmQsIGlvc2VydmlkX3QgaWQpCj4gIAo+ICAgICAgc3Bpbl9s b2NrX3JlY3Vyc2l2ZSgmZC0+YXJjaC5odm1fZG9tYWluLmlvcmVxX3NlcnZlci5sb2NrKTsKPiAg Cj4gLSAgICByYyA9IC1FTk9FTlQ7Cj4gLSAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5ICggcywKPiAt ICAgICAgICAgICAgICAgICAgICAgICAgICAmZC0+YXJjaC5odm1fZG9tYWluLmlvcmVxX3NlcnZl ci5saXN0LAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RfZW50cnkgKQo+IC0gICAg ewo+IC0gICAgICAgIGlmICggcyA9PSBkLT5hcmNoLmh2bV9kb21haW4uZGVmYXVsdF9pb3JlcV9z ZXJ2ZXIgKQo+IC0gICAgICAgICAgICBjb250aW51ZTsKPiArICAgIHMgPSBHRVRfSU9SRVFfU0VS VkVSKGQsIGlkKTsKPiAgCj4gLSAgICAgICAgaWYgKCBzLT5pZCAhPSBpZCApCj4gLSAgICAgICAg ICAgIGNvbnRpbnVlOwo+IC0KPiAtICAgICAgICBkb21haW5fcGF1c2UoZCk7Cj4gKyAgICByYyA9 IC1FTk9FTlQ7Cj4gKyAgICBpZiAoICFzIHx8IElTX0RFRkFVTFQocykgKQo+ICsgICAgICAgIGdv dG8gb3V0OwoKSW4gdGhlICFzIGNhc2UgRU5PRU5UIGlzIGZpbmUsIGluIHRoZSBkZWZhdWx0IGNh c2UgaG93ZXZlciBFUEVSTSBtaWdodApiZSBiZXR0ZXI/IE9yIEVPUE5PVFNVUFA/IEFueXdheSwg anVzdCBhIG5pdC4KCj4gIAo+IC0gICAgICAgIHAybV9zZXRfaW9yZXFfc2VydmVyKGQsIDAsIHMp Owo+ICsgICAgZG9tYWluX3BhdXNlKGQpOwo+ICAKPiAtICAgICAgICBodm1faW9yZXFfc2VydmVy X2Rpc2FibGUocywgZmFsc2UpOwo+ICsgICAgcDJtX3NldF9pb3JlcV9zZXJ2ZXIoZCwgMCwgcyk7 Cj4gIAo+IC0gICAgICAgIGxpc3RfZGVsKCZzLT5saXN0X2VudHJ5KTsKPiArICAgIGh2bV9pb3Jl cV9zZXJ2ZXJfZGlzYWJsZShzKTsKPiArICAgIGh2bV9pb3JlcV9zZXJ2ZXJfZGVpbml0KHMpOwo+ ICAKPiAtICAgICAgICBodm1faW9yZXFfc2VydmVyX2RlaW5pdChzLCBmYWxzZSk7Cj4gKyAgICBk b21haW5fdW5wYXVzZShkKTsKPiAgCj4gLSAgICAgICAgZG9tYWluX3VucGF1c2UoZCk7Cj4gKyAg ICBBU1NFUlQoZC0+YXJjaC5odm1fZG9tYWluLmlvcmVxX3NlcnZlci5jb3VudCk7Cj4gKyAgICAt LWQtPmFyY2guaHZtX2RvbWFpbi5pb3JlcV9zZXJ2ZXIuY291bnQ7Cj4gIAo+IC0gICAgICAgIHhm cmVlKHMpOwo+ICsgICAgU0VUX0lPUkVRX1NFUlZFUihkLCBpZCwgTlVMTCk7Cj4gKyAgICB4ZnJl ZShzKTsKPiAgCj4gLSAgICAgICAgcmMgPSAwOwo+IC0gICAgICAgIGJyZWFrOwo+IC0gICAgfQo+ ICsgICAgcmMgPSAwOwo+ICAKPiArIG91dDoKPiAgICAgIHNwaW5fdW5sb2NrX3JlY3Vyc2l2ZSgm ZC0+YXJjaC5odm1fZG9tYWluLmlvcmVxX3NlcnZlci5sb2NrKTsKPiAgCj4gICAgICByZXR1cm4g cmM7Cj4gQEAgLTc4NSwyOSArNzg0LDIzIEBAIGludCBodm1fZ2V0X2lvcmVxX3NlcnZlcl9pbmZv KHN0cnVjdCBkb21haW4gKmQsIGlvc2VydmlkX3QgaWQsCj4gIAo+ICAgICAgc3Bpbl9sb2NrX3Jl Y3Vyc2l2ZSgmZC0+YXJjaC5odm1fZG9tYWluLmlvcmVxX3NlcnZlci5sb2NrKTsKPiAgCj4gLSAg ICByYyA9IC1FTk9FTlQ7Cj4gLSAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5ICggcywKPiAtICAgICAg ICAgICAgICAgICAgICAgICAgICAmZC0+YXJjaC5odm1fZG9tYWluLmlvcmVxX3NlcnZlci5saXN0 LAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RfZW50cnkgKQo+IC0gICAgewo+IC0g ICAgICAgIGlmICggcyA9PSBkLT5hcmNoLmh2bV9kb21haW4uZGVmYXVsdF9pb3JlcV9zZXJ2ZXIg KQo+IC0gICAgICAgICAgICBjb250aW51ZTsKPiAtCj4gLSAgICAgICAgaWYgKCBzLT5pZCAhPSBp ZCApCj4gLSAgICAgICAgICAgIGNvbnRpbnVlOwo+ICsgICAgcyA9IEdFVF9JT1JFUV9TRVJWRVIo ZCwgaWQpOwo+ICAKPiAtICAgICAgICAqaW9yZXFfZ2ZuID0gcy0+aW9yZXEuZ2ZuOwo+ICsgICAg cmMgPSAtRU5PRU5UOwo+ICsgICAgaWYgKCAhcyB8fCBJU19ERUZBVUxUKHMpICkKClNlZSBhYm92 ZSB0aGUgY29tbWVudCBhYm91dCB0aGUgRU5PRU5UL0VPUE5PVFNVUFAgdGhpbmcuCgpUaGFua3Ms IFJvZ2VyLgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K WGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xp c3RzLnhlbi5vcmcveGVuLWRldmVsCg==