From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: Re: [PATCH v5 3/3] xen/arm: vgic_migrate_irq: do not race against GIC_IRQ_GUEST_MIGRATING Date: Wed, 29 Mar 2017 16:47:59 -0700 (PDT) Message-ID: References: <1488406545-26164-1-git-send-email-sstabellini@kernel.org> <1488406545-26164-3-git-send-email-sstabellini@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ctNJu-0005ux-Rs for xen-devel@lists.xenproject.org; Wed, 29 Mar 2017 23:48:06 +0000 In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Julien Grall Cc: xen-devel@lists.xenproject.org, nd@arm.com, Stefano Stabellini List-Id: xen-devel@lists.xenproject.org T24gRnJpLCAzIE1hciAyMDE3LCBKdWxpZW4gR3JhbGwgd3JvdGU6Cj4gSGkgU3RlZmFubywKPiAK PiBPbiAwMS8wMy8xNyAyMjoxNSwgU3RlZmFubyBTdGFiZWxsaW5pIHdyb3RlOgo+ID4gQSBwb3Rl bnRpYWwgcmFjZSBjb25kaXRpb24gb2NjdXJzIHdoZW4gdmdpY19taWdyYXRlX2lycSBpcyBjYWxs ZWQgYQo+ID4gc2Vjb25kIHRpbWUsIHdoaWxlIEdJQ19JUlFfR1VFU1RfTUlHUkFUSU5HIGlzIGFs cmVhZHkgc2V0LiBJbiB0aGF0IGNhc2UsCj4gPiB2Z2ljX21pZ3JhdGVfaXJxIHRha2VzIGEgZGlm ZmVyZW50IHZnaWMgbG9jayBmcm9tIGdpY191cGRhdGVfb25lX2xyLgo+IAo+IEhtbW0sIHZnaWNf bWlncmF0ZV9pcnEgd2lsbCBiYWlsIG91dCBiZWZvcmUgYWNjZXNzaW5nIGluZmxpZ2h0IGxpc3Qg aWYKPiBHSUNfSVJRX0dVRVNUX01JR1JBVElORyBpcyBhbHJlYWR5IHNldDoKPiAKPiAvKiBtaWdy YXRpbmcgYWxyZWFkeSBpbiBwcm9ncmVzcywgbm8gbmVlZCB0byBkbyBhbnl0aGluZyAqLwo+IGlm ICggdGVzdF9iaXQoR0lDX0lSUV9HVUVTVF9NSUdSQVRJTkcsICZwLT5zdGF0dXMgKQo+ICAgcmV0 dXJuOwo+IAo+IEFuZCB0ZXN0X2JpdCBpcyBhdG9taWMuIFNvIEkgZG9uJ3QgdW5kZXJzdGFuZCB3 aGF0IGlzIHRoZSBjb3JydXB0aW9uIHByb2JsZW0KPiB5b3UgbWVudGlvbi4KClRoZSBzY2VuYXJp byBpcyBhIGJpdCBjb252b2x1dGVkOiBHSUNfSVJRX0dVRVNUX01JR1JBVElORyBpcyBhbHJlYWR5 IHNldAphbmQgdmdpY19taWdyYXRlX2lycSBpcyBjYWxsZWQgdG8gbW92ZSB0aGUgaXJxIGFnYWlu LCBldmVuIHRob3VnaCB0aGUKZmlyc3QgbWlncmF0aW9uIGlzIG5vdCBjb21wbGV0ZSB5ZXQuIFRo aXMgY291bGQgaGFwcGVuOgoKCiAgICAgIENQVSAwICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgQ1BVIDEKICBnaWNfdXBkYXRlX29uZV9scgogIHRlc3RfYW5kX2NsZWFyX2JpdCBN SUdSQVRJTkcKICByZWFkIHRhcmdldCAob2xkKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHdyaXRlIHRhcmdldCAobmV3KQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHZnaWNfbWlncmF0ZV9pcnEKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RfYml0IE1JR1JBVElORwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXJxX3NldF9hZmZpbml0eSAobmV3 KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuCiAg aXJxX3NldF9hZmZpbml0eSAob2xkKQoKCkFmdGVyIHRoaXMgcGF0Y2ggdGhpcyB3b3VsZCBoYXBw ZW46CgogICAgICBDUFUgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENQVSAx CiAgZ2ljX3VwZGF0ZV9vbmVfbHIKICB0ZXN0X2JpdCBNSUdSQVRJTkcKICByZWFkIHRhcmdldCAo b2xkKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRlIHRh cmdldCAobmV3KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZn aWNfbWlncmF0ZV9pcnEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHRlc3QgTUlHUkFUSU5HICYmIEdJQ19JUlFfR1VFU1RfVklTSUJMRSAoZmFsc2UpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YWl0IHVudGlsICFNSUdS QVRJTkcKICBpcnFfc2V0X2FmZmluaXR5IChvbGQpCiAgY2xlYXJfYml0IE1JR1JBVElORwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXJxX3NldF9hZmZpbml0 eSAobmV3KQoKCj4gPiB2Z2ljX21pZ3JhdGVfaXJxIHJ1bm5pbmcgY29uY3VycmVudGx5IHdpdGgg Z2ljX3VwZGF0ZV9vbmVfbHIgY291bGQgY2F1c2UKPiA+IGRhdGEgY29ycnVwdGlvbnMsIGFzIHRo ZXkgYm90aCBhY2Nlc3MgdGhlIGluZmxpZ2h0IGxpc3QuCj4gPiAKPiA+IFRoaXMgcGF0Y2ggZml4 ZXMgdGhpcyBwcm9ibGVtLiBJbiB2Z2ljX21pZ3JhdGVfaXJxIGFmdGVyIHNldHRpbmcgdGhlIG5l dwo+ID4gdmNwdSB0YXJnZXQsIGl0IGNoZWNrcyBib3RoIEdJQ19JUlFfR1VFU1RfTUlHUkFUSU5H IGFuZAo+ID4gR0lDX0lSUV9HVUVTVF9WSVNJQkxFLiBJZiB0aGV5IGFyZSBib3RoIHNldCB3ZSBj YW4ganVzdCByZXR1cm4gYmVjYXVzZQo+ID4gd2UgaGF2ZSBhbHJlYWR5IHNldCB0aGUgbmV3IHRh cmdldDogd2hlbiBnaWNfdXBkYXRlX29uZV9sciByZWFjaGVzCj4gPiB0aGUgR0lDX0lSUV9HVUVT VF9NSUdSQVRJTkcgdGVzdCwgaXQgd2lsbCBkbyB0aGUgcmlnaHQgdGhpbmcuCj4gPiAKPiA+IE90 aGVyd2lzZSwgaWYgR0lDX0lSUV9HVUVTVF9NSUdSQVRJTkcgaXMgc2V0IGJ1dCBHSUNfSVJRX0dV RVNUX1ZJU0lCTEUKPiA+IGlzIG5vdCwgZ2ljX3VwZGF0ZV9vbmVfbHIgaXMgcnVubmluZyBhdCB0 aGUgdmVyeSBzYW1lIHRpbWUgb24gYW5vdGhlcgo+ID4gcGNwdSwgc28gaXQganVzdCB3YWl0cyB1 bnRpbCBpdCBjb21wbGV0ZXMgKEdJQ19JUlFfR1VFU1RfTUlHUkFUSU5HIGlzCj4gPiBjbGVhcmVk KS4KPiA+IAo+ID4gU2lnbmVkLW9mZi1ieTogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGlu aUBrZXJuZWwub3JnPgo+ID4gLS0tCj4gPiAgeGVuL2FyY2gvYXJtL2dpYy5jICB8ICA1ICsrKyst Cj4gPiAgeGVuL2FyY2gvYXJtL3ZnaWMuYyB8IDE2ICsrKysrKysrKysrKysrLS0KPiA+ICAyIGZp bGVzIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCj4gPiAKPiA+IGRp ZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vZ2ljLmMgYi94ZW4vYXJjaC9hcm0vZ2ljLmMKPiA+IGlu ZGV4IDE2YmIxNTAuLmE4MDUzMDAgMTAwNjQ0Cj4gPiAtLS0gYS94ZW4vYXJjaC9hcm0vZ2ljLmMK PiA+ICsrKyBiL3hlbi9hcmNoL2FybS9naWMuYwo+ID4gQEAgLTUwOCwxMCArNTA4LDEzIEBAIHN0 YXRpYyB2b2lkIGdpY191cGRhdGVfb25lX2xyKHN0cnVjdCB2Y3B1ICp2LCBpbnQgaSkKPiA+ICAg ICAgICAgICAgICAgKiBuZXh0IHBjcHUsIGluZmxpZ2h0IGlzIGFscmVhZHkgY2xlYXJlZC4gTm8g Y29uY3VycmVudAo+ID4gICAgICAgICAgICAgICAqIGFjY2Vzc2VzIHRvIGluZmxpZ2h0LiAqLwo+ ID4gICAgICAgICAgICAgIHNtcF9tYigpOwo+ID4gLSAgICAgICAgICAgIGlmICggdGVzdF9hbmRf Y2xlYXJfYml0KEdJQ19JUlFfR1VFU1RfTUlHUkFUSU5HLCAmcC0+c3RhdHVzKSApCj4gPiArICAg ICAgICAgICAgaWYgKCB0ZXN0X2JpdChHSUNfSVJRX0dVRVNUX01JR1JBVElORywgJnAtPnN0YXR1 cykgKQo+ID4gICAgICAgICAgICAgIHsKPiA+ICAgICAgICAgICAgICAgICAgc3RydWN0IHZjcHUg KnZfdGFyZ2V0ID0gdmdpY19nZXRfdGFyZ2V0X3ZjcHUodiwgaXJxKTsKPiA+ICAgICAgICAgICAg ICAgICAgaXJxX3NldF9hZmZpbml0eShwLT5kZXNjLCBjcHVtYXNrX29mKHZfdGFyZ2V0LT5wcm9j ZXNzb3IpKTsKPiA+ICsgICAgICAgICAgICAgICAgLyogU2V0IHRoZSBuZXcgYWZmaW5pdHksIHRo ZW4gY2xlYXIgTUlHUkFUSU5HLiAqLwo+ID4gKyAgICAgICAgICAgICAgICBzbXBfbWIoKTsKPiA+ ICsgICAgICAgICAgICAgICAgY2xlYXJfYml0KEdJQ19JUlFfR1VFU1RfTUlHUkFUSU5HLCAmcC0+ c3RhdHVzKTsKPiA+ICAgICAgICAgICAgICB9Cj4gPiAgICAgICAgICB9Cj4gPiAgICAgIH0KPiA+ IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vdmdpYy5jIGIveGVuL2FyY2gvYXJtL3ZnaWMuYwo+ ID4gaW5kZXggYTMyM2U3ZS4uOTE0MWIzNCAxMDA2NDQKPiA+IC0tLSBhL3hlbi9hcmNoL2FybS92 Z2ljLmMKPiA+ICsrKyBiL3hlbi9hcmNoL2FybS92Z2ljLmMKPiA+IEBAIC0yNTIsMTMgKzI1Miwy NSBAQCB2b2lkIHZnaWNfbWlncmF0ZV9pcnEoc3RydWN0IHZjcHUgKm9sZCwgc3RydWN0IHZjcHUK PiA+ICpuZXcsCj4gPiAgICAgIHNwaW5fbG9ja19pcnFzYXZlKCZvbGQtPmFyY2gudmdpYy5sb2Nr LCBmbGFncyk7Cj4gPiAgICAgIHdyaXRlX2F0b21pYyh0X3ZjcHUsIG5ldy0+dmNwdV9pZCk7Cj4g PiAKPiA+IC0gICAgLyogbWlncmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MsIG5vIG5lZWQgdG8g ZG8gYW55dGhpbmcgKi8KPiA+IC0gICAgaWYgKCB0ZXN0X2JpdChHSUNfSVJRX0dVRVNUX01JR1JB VElORywgJnAtPnN0YXR1cykgKQo+ID4gKyAgICAvKiBTZXQgdGhlIG5ldyB0YXJnZXQsIHRoZW4g Y2hlY2sgTUlHUkFUSU5HIGFuZCBWSVNJQkxFLCBpdCBwYWlycwo+ID4gKyAgICAgKiB3aXRoIHRo ZSBiYXJyaWVyIGluIGdpY191cGRhdGVfb25lX2xyLiAqLwo+ID4gKyAgICBzbXBfbWIoKTsKPiA+ ICsKPiA+ICsgICAgLyogbm8gbmVlZCB0byBkbyBhbnl0aGluZywgZ2ljX3VwZGF0ZV9vbmVfbHIg d2lsbCB0YWtlIGNhcmUgb2YgaXQgKi8KPiA+ICsgICAgaWYgKCB0ZXN0X2JpdChHSUNfSVJRX0dV RVNUX01JR1JBVElORywgJnAtPnN0YXR1cykgJiYKPiA+ICsgICAgICAgICB0ZXN0X2JpdChHSUNf SVJRX0dVRVNUX1ZJU0lCTEUsICZwLT5zdGF0dXMpICkKPiA+ICAgICAgewo+ID4gICAgICAgICAg c3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmb2xkLT5hcmNoLnZnaWMubG9jaywgZmxhZ3MpOwo+ID4g ICAgICAgICAgcmV0dXJuOwo+ID4gICAgICB9Cj4gPiAKPiA+ICsgICAgLyogZ2ljX3VwZGF0ZV9v bmVfbHIgaXMgY3VycmVudGx5IHJ1bm5pbmcsIHdhaXQgdW50aWwgaXRzIGNvbXBsZXRpb24gKi8K PiA+ICsgICAgd2hpbGUgKCB0ZXN0X2JpdChHSUNfSVJRX0dVRVNUX01JR1JBVElORywgJnAtPnN0 YXR1cykgKQo+ID4gKyAgICB7Cj4gPiArICAgICAgICBjcHVfcmVsYXgoKTsKPiA+ICsgICAgICAg IHNtcF9ybWIoKTsKPiA+ICsgICAgfQo+ID4gKwo+ID4gICAgICBpZiAoIGxpc3RfZW1wdHkoJnAt PmluZmxpZ2h0KSApCj4gPiAgICAgIHsKPiA+ICAgICAgICAgIGlycV9zZXRfYWZmaW5pdHkocC0+ ZGVzYywgY3B1bWFza19vZihuZXctPnByb2Nlc3NvcikpOwo+ID4gCj4gCj4gQ2hlZXJzLAo+IAo+ IC0tIAo+IEp1bGllbiBHcmFsbAo+IAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVu Lm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==