From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: Re: [PATCH] xen/arm: io: Protect the handlers with a read-write lock Date: Mon, 11 Jul 2016 18:49:34 +0100 (BST) Message-ID: References: <1467131671-24612-1-git-send-email-julien.grall@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1467131671-24612-1-git-send-email-julien.grall@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Julien Grall Cc: sstabellini@kernel.org, wei.chen@linaro.org, shankerd@codeaurora.org, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org T24gVHVlLCAyOCBKdW4gMjAxNiwgSnVsaWVuIEdyYWxsIHdyb3RlOgo+IEN1cnJlbnRseSwgYWNj ZXNzaW5nIHRoZSBJL08gaGFuZGxlcnMgZG9lcyBub3QgcmVxdWlyZSB0byB0YWtlIGEgbG9jawo+ IGJlY2F1c2UgbmV3IGhhbmRsZXJzIGFyZSBhbHdheXMgYWRkZWQgYXQgdGhlIGVuZCBvZiB0aGUg YXJyYXkuIEluIGEKPiBmb2xsb3ctdXAgcGF0Y2gsIHRoaXMgYXJyYXkgd2lsbCBiZSBzb3J0IHRv IG9wdGltaXplIHRoZSBsb29rIHVwLgo+IAo+IEdpdmVuIHRoYXQgbW9zdCBvZiB0aGUgdGltZSB0 aGUgSS9PIGhhbmRsZXJzIHdpbGwgbm90IGJlIG1vZGlmeSwKPiB1c2luZyBhIHNwaW5sb2NrIHdp bGwgYWRkIGNvbnRlbnRpb24gd2hlbiBtdWx0aXBsZSB2Q1BVIGFyZSBhY2Nlc3NpbmcKPiB0aGUg ZW11bGF0ZWQgTU1JT3MuIFNvIHVzZSBhIHJlYWQtd3JpdGUgbG9jayB0byBwcm90ZWN0ZWQgdGhl IGhhbmRsZXJzLgo+IAo+IEZpbmFsbHksIHRha2UgdGhlIG9wcG9ydHVuaXR5IHRvIHJlLWluZGVu dCBjb3JyZWN0bHkgZG9tYWluX2lvX2luaXQuCj4gCj4gU2lnbmVkLW9mZi1ieTogSnVsaWVuIEdy YWxsIDxqdWxpZW4uZ3JhbGxAYXJtLmNvbT4KCkkgd291bGQgYXBwcmVjaWF0ZSBpZiB5b3UgY291 bGQgYXZvaWQgbWl4aW5nIGluZGVudGF0aW9uIGNoYW5nZXMgd2l0aApvdGhlciBjaGFuZ2VzIGlu IHRoZSBmdXR1cmUuCgpSZXZpZXdlZC1ieTogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGlu aUBrZXJuZWwub3JnPgoKSSdsbCBjb21taXQuCgoKPiAgeGVuL2FyY2gvYXJtL2lvLmMgICAgICAg ICAgfCA0NyArKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tCj4g IHhlbi9pbmNsdWRlL2FzbS1hcm0vbW1pby5oIHwgIDMgKystCj4gIDIgZmlsZXMgY2hhbmdlZCwg MzAgaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL3hlbi9h cmNoL2FybS9pby5jIGIveGVuL2FyY2gvYXJtL2lvLmMKPiBpbmRleCAwMTU2NzU1Li41YTk2ODM2 IDEwMDY0NAo+IC0tLSBhL3hlbi9hcmNoL2FybS9pby5jCj4gKysrIGIveGVuL2FyY2gvYXJtL2lv LmMKPiBAQCAtNzAsMjMgKzcwLDM5IEBAIHN0YXRpYyBpbnQgaGFuZGxlX3dyaXRlKGNvbnN0IHN0 cnVjdCBtbWlvX2hhbmRsZXIgKmhhbmRsZXIsIHN0cnVjdCB2Y3B1ICp2LAo+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgaGFuZGxlci0+cHJpdik7Cj4gIH0KPiAgCj4gLWludCBoYW5k bGVfbW1pbyhtbWlvX2luZm9fdCAqaW5mbykKPiArc3RhdGljIGNvbnN0IHN0cnVjdCBtbWlvX2hh bmRsZXIgKmZpbmRfbW1pb19oYW5kbGVyKHN0cnVjdCBkb21haW4gKmQsCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkcl90IGdwYSkKPiAg ewo+IC0gICAgc3RydWN0IHZjcHUgKnYgPSBjdXJyZW50Owo+IC0gICAgaW50IGk7Cj4gLSAgICBj b25zdCBzdHJ1Y3QgbW1pb19oYW5kbGVyICpoYW5kbGVyID0gTlVMTDsKPiAtICAgIGNvbnN0IHN0 cnVjdCB2bW1pbyAqdm1taW8gPSAmdi0+ZG9tYWluLT5hcmNoLnZtbWlvOwo+ICsgICAgY29uc3Qg c3RydWN0IG1taW9faGFuZGxlciAqaGFuZGxlcjsKPiArICAgIHVuc2lnbmVkIGludCBpOwo+ICsg ICAgc3RydWN0IHZtbWlvICp2bW1pbyA9ICZkLT5hcmNoLnZtbWlvOwo+ICsKPiArICAgIHJlYWRf bG9jaygmdm1taW8tPmxvY2spOwo+ICAKPiAgICAgIGZvciAoIGkgPSAwOyBpIDwgdm1taW8tPm51 bV9lbnRyaWVzOyBpKysgKQo+ICAgICAgewo+ICAgICAgICAgIGhhbmRsZXIgPSAmdm1taW8tPmhh bmRsZXJzW2ldOwo+ICAKPiAtICAgICAgICBpZiAoIChpbmZvLT5ncGEgPj0gaGFuZGxlci0+YWRk cikgJiYKPiAtICAgICAgICAgICAgIChpbmZvLT5ncGEgPCAoaGFuZGxlci0+YWRkciArIGhhbmRs ZXItPnNpemUpKSApCj4gKyAgICAgICAgaWYgKCAoZ3BhID49IGhhbmRsZXItPmFkZHIpICYmCj4g KyAgICAgICAgICAgICAoZ3BhIDwgKGhhbmRsZXItPmFkZHIgKyBoYW5kbGVyLT5zaXplKSkgKQo+ ICAgICAgICAgICAgICBicmVhazsKPiAgICAgIH0KPiAgCj4gICAgICBpZiAoIGkgPT0gdm1taW8t Pm51bV9lbnRyaWVzICkKPiArICAgICAgICBoYW5kbGVyID0gTlVMTDsKPiArCj4gKyAgICByZWFk X3VubG9jaygmdm1taW8tPmxvY2spOwo+ICsKPiArICAgIHJldHVybiBoYW5kbGVyOwo+ICt9Cj4g Kwo+ICtpbnQgaGFuZGxlX21taW8obW1pb19pbmZvX3QgKmluZm8pCj4gK3sKPiArICAgIHN0cnVj dCB2Y3B1ICp2ID0gY3VycmVudDsKPiArICAgIGNvbnN0IHN0cnVjdCBtbWlvX2hhbmRsZXIgKmhh bmRsZXIgPSBOVUxMOwo+ICsKPiArICAgIGhhbmRsZXIgPSBmaW5kX21taW9faGFuZGxlcih2LT5k b21haW4sIGluZm8tPmdwYSk7Cj4gKyAgICBpZiAoICFoYW5kbGVyICkKPiAgICAgICAgICByZXR1 cm4gMDsKPiAgCj4gICAgICBpZiAoIGluZm8tPmRhYnQud3JpdGUgKQo+IEBAIC0xMDQsNyArMTIw LDcgQEAgdm9pZCByZWdpc3Rlcl9tbWlvX2hhbmRsZXIoc3RydWN0IGRvbWFpbiAqZCwKPiAgCj4g ICAgICBCVUdfT04odm1taW8tPm51bV9lbnRyaWVzID49IE1BWF9JT19IQU5ETEVSKTsKPiAgCj4g LSAgICBzcGluX2xvY2soJnZtbWlvLT5sb2NrKTsKPiArICAgIHdyaXRlX2xvY2soJnZtbWlvLT5s b2NrKTsKPiAgCj4gICAgICBoYW5kbGVyID0gJnZtbWlvLT5oYW5kbGVyc1t2bW1pby0+bnVtX2Vu dHJpZXNdOwo+ICAKPiBAQCAtMTEzLDI0ICsxMjksMTcgQEAgdm9pZCByZWdpc3Rlcl9tbWlvX2hh bmRsZXIoc3RydWN0IGRvbWFpbiAqZCwKPiAgICAgIGhhbmRsZXItPnNpemUgPSBzaXplOwo+ICAg ICAgaGFuZGxlci0+cHJpdiA9IHByaXY7Cj4gIAo+IC0gICAgLyoKPiAtICAgICAqIGhhbmRsZV9t bWlvIGlzIG5vdCB1c2luZyB0aGUgbG9jayB0byBhdm9pZCBjb250ZW50aW9uLgo+IC0gICAgICog TWFrZSBzdXJlIHRoZSBvdGhlciBwcm9jZXNzb3JzIHNlZSB0aGUgbmV3IGhhbmRsZXIgYmVmb3Jl Cj4gLSAgICAgKiB1cGRhdGluZyB0aGUgbnVtYmVyIG9mIGVudHJpZXMKPiAtICAgICAqLwo+IC0g ICAgZHNiKGlzaCk7Cj4gLQo+ICAgICAgdm1taW8tPm51bV9lbnRyaWVzKys7Cj4gIAo+IC0gICAg c3Bpbl91bmxvY2soJnZtbWlvLT5sb2NrKTsKPiArICAgIHdyaXRlX3VubG9jaygmdm1taW8tPmxv Y2spOwo+ICB9Cj4gIAo+ICBpbnQgZG9tYWluX2lvX2luaXQoc3RydWN0IGRvbWFpbiAqZCkKPiAg ewo+IC0gICBzcGluX2xvY2tfaW5pdCgmZC0+YXJjaC52bW1pby5sb2NrKTsKPiAtICAgZC0+YXJj aC52bW1pby5udW1fZW50cmllcyA9IDA7Cj4gKyAgICByd2xvY2tfaW5pdCgmZC0+YXJjaC52bW1p by5sb2NrKTsKPiArICAgIGQtPmFyY2gudm1taW8ubnVtX2VudHJpZXMgPSAwOwo+ICAKPiAtICAg cmV0dXJuIDA7Cj4gKyAgICByZXR1cm4gMDsKPiAgfQo+ICAKPiAgLyoKPiBkaWZmIC0tZ2l0IGEv eGVuL2luY2x1ZGUvYXNtLWFybS9tbWlvLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL21taW8uaAo+ IGluZGV4IGRhMWNjMmUuLjMyZjEwZjIgMTAwNjQ0Cj4gLS0tIGEveGVuL2luY2x1ZGUvYXNtLWFy bS9tbWlvLmgKPiArKysgYi94ZW4vaW5jbHVkZS9hc20tYXJtL21taW8uaAo+IEBAIC0yMCw2ICsy MCw3IEBACj4gICNkZWZpbmUgX19BU01fQVJNX01NSU9fSF9fCj4gIAo+ICAjaW5jbHVkZSA8eGVu L2xpYi5oPgo+ICsjaW5jbHVkZSA8eGVuL3J3bG9jay5oPgo+ICAjaW5jbHVkZSA8YXNtL3Byb2Nl c3Nvci5oPgo+ICAjaW5jbHVkZSA8YXNtL3JlZ3MuaD4KPiAgCj4gQEAgLTUxLDcgKzUyLDcgQEAg c3RydWN0IG1taW9faGFuZGxlciB7Cj4gIAo+ICBzdHJ1Y3Qgdm1taW8gewo+ICAgICAgaW50IG51 bV9lbnRyaWVzOwo+IC0gICAgc3BpbmxvY2tfdCBsb2NrOwo+ICsgICAgcndsb2NrX3QgbG9jazsK PiAgICAgIHN0cnVjdCBtbWlvX2hhbmRsZXIgaGFuZGxlcnNbTUFYX0lPX0hBTkRMRVJdOwo+ICB9 Owo+ICAKPiAtLSAKPiAxLjkuMQo+IAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVu Lm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==