From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Subject: Re: [PATCH v10 03/32] ARM: vGIC: move irq_to_pending() calls under the VGIC VCPU lock Date: Tue, 6 Jun 2017 18:24:51 +0100 Message-ID: References: <20170526173540.10066-1-andre.przywara@arm.com> <20170526173540.10066-4-andre.przywara@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dIIDk-0001Mg-Ux for xen-devel@lists.xenproject.org; Tue, 06 Jun 2017 17:24:45 +0000 In-Reply-To: Content-Language: en-GB List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Julien Grall , Stefano Stabellini Cc: xen-devel@lists.xenproject.org, Vijaya Kumar K , Vijay Kilari , Shanker Donthineni List-Id: xen-devel@lists.xenproject.org SGksCgpPbiAzMC8wNS8xNyAxMjowOCwgSnVsaWVuIEdyYWxsIHdyb3RlOgo+IEhpIEFuZHJlLAo+ IAo+IE9uIDI2LzA1LzE3IDE4OjM1LCBBbmRyZSBQcnp5d2FyYSB3cm90ZToKPj4gU28gZmFyIGly cV90b19wZW5kaW5nKCkgaXMganVzdCBhIGNvbnZlbmllbmNlIGZ1bmN0aW9uIHRvIGxvb2t1cAo+ PiBzdGF0aWNhbGx5IGFsbG9jYXRlZCBhcnJheXMuIFRoaXMgd2lsbCBjaGFuZ2Ugd2l0aCBMUElz LCB3aGljaCBhcmUKPj4gbW9yZSBkeW5hbWljLCBzbyB0aGUgbWVtb3J5IGZvciB0aGVpciBzdHJ1 Y3QgcGVuZGluZ19pcnEgbWlnaHQgZ28gYXdheS4KPj4gVGhlIHByb3BlciBhbnN3ZXIgdG8gdGhl IGlzc3VlIG9mIHByZXZlbnRpbmcgc3RhbGUgcG9pbnRlcnMgaXMKPj4gcmVmLWNvdW50aW5nLCB3 aGljaCByZXF1aXJlcyBtb3JlIHJld29yayBhbmQgd2lsbCBiZSBpbnRyb2R1Y2VkIHdpdGgKPj4g YSBsYXRlciByZXdvcmsuCj4+IEZvciBub3cgbW92ZSB0aGUgaXJxX3RvX3BlbmRpbmcoKSBjYWxs cyB0aGF0IGFyZSB1c2VkIHdpdGggTFBJcyB1bmRlciB0aGUKPj4gVkdJQyBWQ1BVIGxvY2ssIGFu ZCBvbmx5IHVzZSB0aGUgcmV0dXJuZWQgcG9pbnRlciB3aGlsZSBob2xkaW5nIHRoZSBsb2NrLgo+ PiBUaGlzIHByZXZlbnRzIHRoZSBtZW1vcnkgZnJvbSBiZWluZyBmcmVlZCB3aGlsZSB3ZSB1c2Ug aXQuCj4+IEZvciB0aGUgc2FrZSBvZiBjb21wbGV0ZW5lc3Mgd2UgdGFrZSBjYXJlIGFib3V0IGFs bCBpcnFfdG9fcGVuZGluZygpCj4+IHVzZXJzLCBldmVuIHRob3NlIHdoaWNoIGxhdGVyIHdpbGwg bmV2ZXIgZGVhbCB3aXRoIExQSXMuCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IEFuZHJlIFByenl3YXJh IDxhbmRyZS5wcnp5d2FyYUBhcm0uY29tPgo+PiAtLS0KPj4gIHhlbi9hcmNoL2FybS9naWMuYyAg fCAgNSArKysrLQo+PiAgeGVuL2FyY2gvYXJtL3ZnaWMuYyB8IDM5ICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKy0tLS0tLS0tLQo+PiAgMiBmaWxlcyBjaGFuZ2VkLCAzNCBpbnNlcnRpb25z KCspLCAxMCBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9naWMu YyBiL3hlbi9hcmNoL2FybS9naWMuYwo+PiBpbmRleCBkYTE5MTMwLi5kY2IxNzgzIDEwMDY0NAo+ PiAtLS0gYS94ZW4vYXJjaC9hcm0vZ2ljLmMKPj4gKysrIGIveGVuL2FyY2gvYXJtL2dpYy5jCj4+ IEBAIC00MDIsMTAgKzQwMiwxMyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgZ2ljX2FkZF90b19scl9w ZW5kaW5nKHN0cnVjdAo+PiB2Y3B1ICp2LCBzdHJ1Y3QgcGVuZGluZ19pcnEgKm4pCj4+Cj4+ICB2 b2lkIGdpY19yZW1vdmVfZnJvbV9xdWV1ZXMoc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVkIGludCB2 aXJ0dWFsX2lycSkKPj4gIHsKPj4gLSAgICBzdHJ1Y3QgcGVuZGluZ19pcnEgKnAgPSBpcnFfdG9f cGVuZGluZyh2LCB2aXJ0dWFsX2lycSk7Cj4+ICsgICAgc3RydWN0IHBlbmRpbmdfaXJxICpwOwo+ PiAgICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7Cj4+Cj4+ICAgICAgc3Bpbl9sb2NrX2lycXNhdmUo JnYtPmFyY2gudmdpYy5sb2NrLCBmbGFncyk7Cj4+ICsKPj4gKyAgICBwID0gaXJxX3RvX3BlbmRp bmcodiwgdmlydHVhbF9pcnEpOwo+PiArCj4+ICAgICAgaWYgKCAhbGlzdF9lbXB0eSgmcC0+bHJf cXVldWUpICkKPj4gICAgICAgICAgbGlzdF9kZWxfaW5pdCgmcC0+bHJfcXVldWUpOwo+PiAgICAg IHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnYtPmFyY2gudmdpYy5sb2NrLCBmbGFncyk7Cj4+IGRp ZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vdmdpYy5jIGIveGVuL2FyY2gvYXJtL3ZnaWMuYwo+PiBp bmRleCA1NGIyYWFkLi42OWQ3MzJiIDEwMDY0NAo+PiAtLS0gYS94ZW4vYXJjaC9hcm0vdmdpYy5j Cj4+ICsrKyBiL3hlbi9hcmNoL2FybS92Z2ljLmMKPj4gQEAgLTIzNCwyMyArMjM0LDI5IEBAIHN0 YXRpYyBpbnQgdmdpY19nZXRfdmlycV9wcmlvcml0eShzdHJ1Y3QgdmNwdQo+PiAqdiwgdW5zaWdu ZWQgaW50IHZpcnEpCj4+ICBib29sIHZnaWNfbWlncmF0ZV9pcnEoc3RydWN0IHZjcHUgKm9sZCwg c3RydWN0IHZjcHUgKm5ldywgdW5zaWduZWQKPj4gaW50IGlycSkKPj4gIHsKPj4gICAgICB1bnNp Z25lZCBsb25nIGZsYWdzOwo+PiAtICAgIHN0cnVjdCBwZW5kaW5nX2lycSAqcCA9IGlycV90b19w ZW5kaW5nKG9sZCwgaXJxKTsKPj4gKyAgICBzdHJ1Y3QgcGVuZGluZ19pcnEgKnA7Cj4+ICsKPj4g KyAgICBzcGluX2xvY2tfaXJxc2F2ZSgmb2xkLT5hcmNoLnZnaWMubG9jaywgZmxhZ3MpOwo+PiAr Cj4+ICsgICAgcCA9IGlycV90b19wZW5kaW5nKG9sZCwgaXJxKTsKPj4KPj4gICAgICAvKiBub3Ro aW5nIHRvIGRvIGZvciB2aXJ0dWFsIGludGVycnVwdHMgKi8KPj4gICAgICBpZiAoIHAtPmRlc2Mg PT0gTlVMTCApCj4+ICsgICAgewo+PiArICAgICAgICBzcGluX3VubG9ja19pcnFyZXN0b3JlKCZv bGQtPmFyY2gudmdpYy5sb2NrLCBmbGFncyk7Cj4+ICAgICAgICAgIHJldHVybiB0cnVlOwo+PiAr ICAgIH0KPj4KPj4gICAgICAvKiBtaWdyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcywgbm8gbmVl ZCB0byBkbyBhbnl0aGluZyAqLwo+PiAgICAgIGlmICggdGVzdF9iaXQoR0lDX0lSUV9HVUVTVF9N SUdSQVRJTkcsICZwLT5zdGF0dXMpICkKPj4gICAgICB7Cj4+ICAgICAgICAgIGdwcmludGsoWEVO TE9HX1dBUk5JTkcsICJpcnEgJXUgbWlncmF0aW9uIGZhaWxlZDogcmVxdWVzdGVkCj4+IHdoaWxl IGluIHByb2dyZXNzXG4iLCBpcnEpOwo+PiArICAgICAgICBzcGluX3VubG9ja19pcnFyZXN0b3Jl KCZvbGQtPmFyY2gudmdpYy5sb2NrLCBmbGFncyk7Cj4+ICAgICAgICAgIHJldHVybiBmYWxzZTsK Pj4gICAgICB9Cj4+Cj4+ICAgICAgcGVyZmNfaW5jcih2Z2ljX2lycV9taWdyYXRlcyk7Cj4+Cj4+ IC0gICAgc3Bpbl9sb2NrX2lycXNhdmUoJm9sZC0+YXJjaC52Z2ljLmxvY2ssIGZsYWdzKTsKPj4g LQo+PiAgICAgIGlmICggbGlzdF9lbXB0eSgmcC0+aW5mbGlnaHQpICkKPj4gICAgICB7Cj4+ICAg ICAgICAgIGlycV9zZXRfYWZmaW5pdHkocC0+ZGVzYywgY3B1bWFza19vZihuZXctPnByb2Nlc3Nv cikpOwo+PiBAQCAtMjg1LDYgKzI5MSwxMyBAQCB2b2lkIGFyY2hfbW92ZV9pcnFzKHN0cnVjdCB2 Y3B1ICp2KQo+PiAgICAgIHN0cnVjdCB2Y3B1ICp2X3RhcmdldDsKPj4gICAgICBpbnQgaTsKPj4K Pj4gKyAgICAvKgo+PiArICAgICAqIFdlIGRvbid0IG1pZ3JhdGUgTFBJcyBhdCB0aGUgbW9tZW50 Lgo+PiArICAgICAqIElmIHdlIGV2ZXIgZG8sIHdlIG11c3QgbWFrZSBzdXJlIHRoYXQgdGhlIHN0 cnVjdCBwZW5kaW5nX2lycSBkb2VzCj4+ICsgICAgICogbm90IGdvIGF3YXksIGFzIHRoZXJlIGlz IG5vIGxvY2sgcHJldmVudGluZyB0aGlzIGhlcmUuCj4+ICsgICAgICovCj4+ICsgICAgQVNTRVJU KCFpc19scGkodmdpY19udW1faXJxcyhkKSAtIDEpKTsKPiAKPiBIbW1tPyBUaGlzIHJhaXNlIGEg cXVlc3Rpb24gb2Ygd2h5IHZnaWNfbnVtX2lycXMgZG9lcyBub3QgaW5jbHVkZSB0aGUKPiBMUElz IHRvZGF5Li4uCgpJIGFkbWl0IHRoYXQgdGhpcyBsaW5lIGlzIGEgYml0IHB1enpsaW5nLiBJIGd1 ZXNzIHZnaWNfbnVtX2lycXMoKSBzaG91bGQKYmUgcmVuYW1lZCB0byBzb21ldGhpbmcgbGlrZSB2 Z2ljX21heF9zcGlzKCksIGJ1dCB0aGlzIHdvdWxkbid0IGJlCmV4YWN0bHkgdGhlIHJpZ2h0IG5h bWUgZWl0aGVyLgpJIHdpbGwgZXh0ZW5kIHRoZSBjb21tZW50IHRvIG5vdGUgdGhhdCB0aGUgY3Vy cmVudCBjb2RlIGFzc3VtZXMKdmdpY19udW1faXJxcygpIG9ubHkgY292ZXJzIFNQSXMuIElzIHRo YXQgT0s/Cgo+PiArCj4+ICAgICAgZm9yICggaSA9IDMyOyBpIDwgdmdpY19udW1faXJxcyhkKTsg aSsrICkKPj4gICAgICB7Cj4+ICAgICAgICAgIHZfdGFyZ2V0ID0gdmdpY19nZXRfdGFyZ2V0X3Zj cHUodiwgaSk7Cj4+IEBAIC0yOTksNiArMzEyLDcgQEAgdm9pZCB2Z2ljX2Rpc2FibGVfaXJxcyhz dHJ1Y3QgdmNwdSAqdiwgdWludDMyX3QgciwKPj4gaW50IG4pCj4+ICB7Cj4+ICAgICAgY29uc3Qg dW5zaWduZWQgbG9uZyBtYXNrID0gcjsKPj4gICAgICBzdHJ1Y3QgcGVuZGluZ19pcnEgKnA7Cj4+ ICsgICAgc3RydWN0IGlycV9kZXNjICpkZXNjOwo+PiAgICAgIHVuc2lnbmVkIGludCBpcnE7Cj4+ ICAgICAgdW5zaWduZWQgbG9uZyBmbGFnczsKPj4gICAgICBpbnQgaSA9IDA7Cj4+IEBAIC0zMDcs MTQgKzMyMSwxOSBAQCB2b2lkIHZnaWNfZGlzYWJsZV9pcnFzKHN0cnVjdCB2Y3B1ICp2LCB1aW50 MzJfdAo+PiByLCBpbnQgbikKPj4gICAgICB3aGlsZSAoIChpID0gZmluZF9uZXh0X2JpdCgmbWFz aywgMzIsIGkpKSA8IDMyICkgewo+PiAgICAgICAgICBpcnEgPSBpICsgKDMyICogbik7Cj4+ICAg ICAgICAgIHZfdGFyZ2V0ID0gdmdpY19nZXRfdGFyZ2V0X3ZjcHUodiwgaXJxKTsKPj4gKwo+PiAr ICAgICAgICBzcGluX2xvY2tfaXJxc2F2ZSgmdl90YXJnZXQtPmFyY2gudmdpYy5sb2NrLCBmbGFn cyk7Cj4+ICAgICAgICAgIHAgPSBpcnFfdG9fcGVuZGluZyh2X3RhcmdldCwgaXJxKTsKPj4gICAg ICAgICAgY2xlYXJfYml0KEdJQ19JUlFfR1VFU1RfRU5BQkxFRCwgJnAtPnN0YXR1cyk7Cj4+ICAg ICAgICAgIGdpY19yZW1vdmVfZnJvbV9xdWV1ZXModl90YXJnZXQsIGlycSk7Cj4gCj4gZ2ljX3Jl bW92ZV9mcm9tX3F1ZXVlcyBpcyB0YWtpbmcgdl90YXJnZXQgdkdJQyBsb2NrLiBTbyB5b3UganVz dAo+IGludHJvZHVjZWQgYSBkZWFkbG9jay4gWW91IHJlbW92ZSBpdCBpbiB0aGUgbmV4dCBwYXRj aCBidXQgc3RpbGwsIHdlCj4gc2hvdWxkIG5vdCBpbnRyb2R1Y2UgcmVncmVzc2lvbiBldmVuIHRl bXBvcmFyaWx5LiBUaGlzIHdvdWxkIG1ha2UgdG8KPiBkaWZmaWN1bHQgdG8gYmlzZWN0IHRoZSBz ZXJpZXMuCgpHb29kIHBvaW50LCB0aGFua3MgZm9yIHNwb3R0aW5nIHRoaXMuIEkgd2lsbCB0cnkg dG8gYWRkcmVzcyB0aGlzLiBJCmNvbXBpbGUtdGVzdGVkIGV2ZXJ5IHNpbmdsZSBwYXRjaCwgYnV0 IGRpZG4ndCB0cnkgdG8gYm9vdCBldmVyeSBvbmUuCgo+IFRCSCwgSSBhbSBub3QgYSBiaWcgZmFu IG9mIHNwcmVhZGluZyB0aGUgbWVzcyBvZiB2R0lDIGxvY2tpbmcgd2hlbiB3ZQo+IGFyZSBnb2lu ZyB0byByZXdvcmsgdGhlIHZHSUMgYW5kIGtub3cgdGhhdCB0aGlzIGNvZGUgd2lsbCBub3QgYmUg Y2FsbGVkCj4gZm9yIExQSXMuCj4gCj4gQlRXLCB0aGlzIHNlcmllcyBpcyBub3QgYmlzZWN0YWJs ZSBiZWNhdXNlIHRoZSBob3N0IElUUyBpcyBvbmx5IGVuYWJsZWQKPiBmcm9tIHBhdGNoICMxMi4K CkkgbW92ZWQgdGhhdCB0byB0aGUgZnJvbnQgbm93LgpUQkggSSBzcG90dGVkIHRoaXMgaXNzdWUg YmVmb3JlLCBhbmQgaGFkIGEgc2ltcGxlciB2ZXJzaW9uIG9mIHBhdGNoICMxMgp0byBwbHVnIHRo aXMuIE1heWJlIHdlIHNob3VsZCBjb25zaWRlciB0byBtZXJnZSB0aGlzIG9uZSBmb3IgNC45IHN0 aWxsLAphcyBjdXJyZW50bHkgZW5hYmxpbmcgdGhlIElUUyBpbiAuY29uZmlnIGFuZCBydW5uaW5n IGl0IG9uIGFuIElUUwptYWNoaW5lIHdpbGwgZmFpbCB0byBib290IERvbTAuCgpDaGVlcnMsCkFu ZHJlLgoKCj4gCj4+IC0gICAgICAgIGlmICggcC0+ZGVzYyAhPSBOVUxMICkKPj4gKyAgICAgICAg ZGVzYyA9IHAtPmRlc2M7Cj4+ICsgICAgICAgIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnZfdGFy Z2V0LT5hcmNoLnZnaWMubG9jaywgZmxhZ3MpOwo+PiArCj4+ICsgICAgICAgIGlmICggZGVzYyAh PSBOVUxMICkKPj4gICAgICAgICAgewo+PiAtICAgICAgICAgICAgc3Bpbl9sb2NrX2lycXNhdmUo JnAtPmRlc2MtPmxvY2ssIGZsYWdzKTsKPj4gLSAgICAgICAgICAgIHAtPmRlc2MtPmhhbmRsZXIt PmRpc2FibGUocC0+ZGVzYyk7Cj4+IC0gICAgICAgICAgICBzcGluX3VubG9ja19pcnFyZXN0b3Jl KCZwLT5kZXNjLT5sb2NrLCBmbGFncyk7Cj4+ICsgICAgICAgICAgICBzcGluX2xvY2tfaXJxc2F2 ZSgmZGVzYy0+bG9jaywgZmxhZ3MpOwo+PiArICAgICAgICAgICAgZGVzYy0+aGFuZGxlci0+ZGlz YWJsZShkZXNjKTsKPj4gKyAgICAgICAgICAgIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRlc2Mt PmxvY2ssIGZsYWdzKTsKPj4gICAgICAgICAgfQo+PiAgICAgICAgICBpKys7Cj4+ICAgICAgfQo+ PiBAQCAtMzQ5LDkgKzM2OCw5IEBAIHZvaWQgdmdpY19lbmFibGVfaXJxcyhzdHJ1Y3QgdmNwdSAq diwgdWludDMyX3QgciwKPj4gaW50IG4pCj4+ICAgICAgd2hpbGUgKCAoaSA9IGZpbmRfbmV4dF9i aXQoJm1hc2ssIDMyLCBpKSkgPCAzMiApIHsKPj4gICAgICAgICAgaXJxID0gaSArICgzMiAqIG4p Owo+PiAgICAgICAgICB2X3RhcmdldCA9IHZnaWNfZ2V0X3RhcmdldF92Y3B1KHYsIGlycSk7Cj4+ ICsgICAgICAgIHNwaW5fbG9ja19pcnFzYXZlKCZ2X3RhcmdldC0+YXJjaC52Z2ljLmxvY2ssIGZs YWdzKTsKPj4gICAgICAgICAgcCA9IGlycV90b19wZW5kaW5nKHZfdGFyZ2V0LCBpcnEpOwo+PiAg ICAgICAgICBzZXRfYml0KEdJQ19JUlFfR1VFU1RfRU5BQkxFRCwgJnAtPnN0YXR1cyk7Cj4+IC0g ICAgICAgIHNwaW5fbG9ja19pcnFzYXZlKCZ2X3RhcmdldC0+YXJjaC52Z2ljLmxvY2ssIGZsYWdz KTsKPj4gICAgICAgICAgaWYgKCAhbGlzdF9lbXB0eSgmcC0+aW5mbGlnaHQpICYmCj4+ICF0ZXN0 X2JpdChHSUNfSVJRX0dVRVNUX1ZJU0lCTEUsICZwLT5zdGF0dXMpICkKPj4gICAgICAgICAgICAg IGdpY19yYWlzZV9ndWVzdF9pcnEodl90YXJnZXQsIGlycSwgcC0+cHJpb3JpdHkpOwo+PiAgICAg ICAgICBzcGluX3VubG9ja19pcnFyZXN0b3JlKCZ2X3RhcmdldC0+YXJjaC52Z2ljLmxvY2ssIGZs YWdzKTsKPj4gQEAgLTQ2MCw3ICs0NzksNyBAQCB2b2lkIHZnaWNfY2xlYXJfcGVuZGluZ19pcnFz KHN0cnVjdCB2Y3B1ICp2KQo+PiAgdm9pZCB2Z2ljX3ZjcHVfaW5qZWN0X2lycShzdHJ1Y3QgdmNw dSAqdiwgdW5zaWduZWQgaW50IHZpcnEpCj4+ICB7Cj4+ICAgICAgdWludDhfdCBwcmlvcml0eTsK Pj4gLSAgICBzdHJ1Y3QgcGVuZGluZ19pcnEgKml0ZXIsICpuID0gaXJxX3RvX3BlbmRpbmcodiwg dmlycSk7Cj4+ICsgICAgc3RydWN0IHBlbmRpbmdfaXJxICppdGVyLCAqbjsKPj4gICAgICB1bnNp Z25lZCBsb25nIGZsYWdzOwo+PiAgICAgIGJvb2wgcnVubmluZzsKPj4KPj4gQEAgLTQ2OCw2ICs0 ODcsOCBAQCB2b2lkIHZnaWNfdmNwdV9pbmplY3RfaXJxKHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25l ZAo+PiBpbnQgdmlycSkKPj4KPj4gICAgICBzcGluX2xvY2tfaXJxc2F2ZSgmdi0+YXJjaC52Z2lj LmxvY2ssIGZsYWdzKTsKPj4KPj4gKyAgICBuID0gaXJxX3RvX3BlbmRpbmcodiwgdmlycSk7Cj4+ ICsKPj4gICAgICAvKiB2Y3B1IG9mZmxpbmUgKi8KPj4gICAgICBpZiAoIHRlc3RfYml0KF9WUEZf ZG93biwgJnYtPnBhdXNlX2ZsYWdzKSApCj4+ICAgICAgewo+Pgo+IAo+IENoZWVycywKPiAKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBt YWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3Jn L3hlbi1kZXZlbAo=