From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: Re: [PATCH v10 03/32] ARM: vGIC: move irq_to_pending() calls under the VGIC VCPU lock Date: Tue, 30 May 2017 14:46:34 -0700 (PDT) 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.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dFoyN-0002Zh-Dz for xen-devel@lists.xenproject.org; Tue, 30 May 2017 21:46:39 +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: Stefano Stabellini , Vijay Kilari , Andre Przywara , Vijaya Kumar K , xen-devel@lists.xenproject.org, Shanker Donthineni List-Id: xen-devel@lists.xenproject.org T24gVHVlLCAzMCBNYXkgMjAxNywgSnVsaWVuIEdyYWxsIHdyb3RlOgo+IEhpIEFuZHJlLAo+IAo+ IE9uIDI2LzA1LzE3IDE4OjM1LCBBbmRyZSBQcnp5d2FyYSB3cm90ZToKPiA+IFNvIGZhciBpcnFf dG9fcGVuZGluZygpIGlzIGp1c3QgYSBjb252ZW5pZW5jZSBmdW5jdGlvbiB0byBsb29rdXAKPiA+ IHN0YXRpY2FsbHkgYWxsb2NhdGVkIGFycmF5cy4gVGhpcyB3aWxsIGNoYW5nZSB3aXRoIExQSXMs IHdoaWNoIGFyZQo+ID4gbW9yZSBkeW5hbWljLCBzbyB0aGUgbWVtb3J5IGZvciB0aGVpciBzdHJ1 Y3QgcGVuZGluZ19pcnEgbWlnaHQgZ28gYXdheS4KPiA+IFRoZSBwcm9wZXIgYW5zd2VyIHRvIHRo ZSBpc3N1ZSBvZiBwcmV2ZW50aW5nIHN0YWxlIHBvaW50ZXJzIGlzCj4gPiByZWYtY291bnRpbmcs IHdoaWNoIHJlcXVpcmVzIG1vcmUgcmV3b3JrIGFuZCB3aWxsIGJlIGludHJvZHVjZWQgd2l0aAo+ ID4gYSBsYXRlciByZXdvcmsuCj4gPiBGb3Igbm93IG1vdmUgdGhlIGlycV90b19wZW5kaW5nKCkg Y2FsbHMgdGhhdCBhcmUgdXNlZCB3aXRoIExQSXMgdW5kZXIgdGhlCj4gPiBWR0lDIFZDUFUgbG9j aywgYW5kIG9ubHkgdXNlIHRoZSByZXR1cm5lZCBwb2ludGVyIHdoaWxlIGhvbGRpbmcgdGhlIGxv Y2suCj4gPiBUaGlzIHByZXZlbnRzIHRoZSBtZW1vcnkgZnJvbSBiZWluZyBmcmVlZCB3aGlsZSB3 ZSB1c2UgaXQuCj4gPiBGb3IgdGhlIHNha2Ugb2YgY29tcGxldGVuZXNzIHdlIHRha2UgY2FyZSBh Ym91dCBhbGwgaXJxX3RvX3BlbmRpbmcoKQo+ID4gdXNlcnMsIGV2ZW4gdGhvc2Ugd2hpY2ggbGF0 ZXIgd2lsbCBuZXZlciBkZWFsIHdpdGggTFBJcy4KPiA+IAo+ID4gU2lnbmVkLW9mZi1ieTogQW5k cmUgUHJ6eXdhcmEgPGFuZHJlLnByenl3YXJhQGFybS5jb20+Cj4gPiAtLS0KPiA+ICB4ZW4vYXJj aC9hcm0vZ2ljLmMgIHwgIDUgKysrKy0KPiA+ICB4ZW4vYXJjaC9hcm0vdmdpYy5jIHwgMzkgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tCj4gPiAgMiBmaWxlcyBjaGFuZ2Vk LCAzNCBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKPiA+IAo+ID4gZGlmZiAtLWdpdCBh L3hlbi9hcmNoL2FybS9naWMuYyBiL3hlbi9hcmNoL2FybS9naWMuYwo+ID4gaW5kZXggZGExOTEz MC4uZGNiMTc4MyAxMDA2NDQKPiA+IC0tLSBhL3hlbi9hcmNoL2FybS9naWMuYwo+ID4gKysrIGIv eGVuL2FyY2gvYXJtL2dpYy5jCj4gPiBAQCAtNDAyLDEwICs0MDIsMTMgQEAgc3RhdGljIGlubGlu ZSB2b2lkIGdpY19hZGRfdG9fbHJfcGVuZGluZyhzdHJ1Y3QgdmNwdQo+ID4gKnYsIHN0cnVjdCBw ZW5kaW5nX2lycSAqbikKPiA+IAo+ID4gIHZvaWQgZ2ljX3JlbW92ZV9mcm9tX3F1ZXVlcyhzdHJ1 Y3QgdmNwdSAqdiwgdW5zaWduZWQgaW50IHZpcnR1YWxfaXJxKQo+ID4gIHsKPiA+IC0gICAgc3Ry dWN0IHBlbmRpbmdfaXJxICpwID0gaXJxX3RvX3BlbmRpbmcodiwgdmlydHVhbF9pcnEpOwo+ID4g KyAgICBzdHJ1Y3QgcGVuZGluZ19pcnEgKnA7Cj4gPiAgICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7 Cj4gPiAKPiA+ICAgICAgc3Bpbl9sb2NrX2lycXNhdmUoJnYtPmFyY2gudmdpYy5sb2NrLCBmbGFn cyk7Cj4gPiArCj4gPiArICAgIHAgPSBpcnFfdG9fcGVuZGluZyh2LCB2aXJ0dWFsX2lycSk7Cj4g PiArCj4gPiAgICAgIGlmICggIWxpc3RfZW1wdHkoJnAtPmxyX3F1ZXVlKSApCj4gPiAgICAgICAg ICBsaXN0X2RlbF9pbml0KCZwLT5scl9xdWV1ZSk7Cj4gPiAgICAgIHNwaW5fdW5sb2NrX2lycXJl c3RvcmUoJnYtPmFyY2gudmdpYy5sb2NrLCBmbGFncyk7Cj4gPiBkaWZmIC0tZ2l0IGEveGVuL2Fy Y2gvYXJtL3ZnaWMuYyBiL3hlbi9hcmNoL2FybS92Z2ljLmMKPiA+IGluZGV4IDU0YjJhYWQuLjY5 ZDczMmIgMTAwNjQ0Cj4gPiAtLS0gYS94ZW4vYXJjaC9hcm0vdmdpYy5jCj4gPiArKysgYi94ZW4v YXJjaC9hcm0vdmdpYy5jCj4gPiBAQCAtMjM0LDIzICsyMzQsMjkgQEAgc3RhdGljIGludCB2Z2lj X2dldF92aXJxX3ByaW9yaXR5KHN0cnVjdCB2Y3B1ICp2LAo+ID4gdW5zaWduZWQgaW50IHZpcnEp Cj4gPiAgYm9vbCB2Z2ljX21pZ3JhdGVfaXJxKHN0cnVjdCB2Y3B1ICpvbGQsIHN0cnVjdCB2Y3B1 ICpuZXcsIHVuc2lnbmVkIGludCBpcnEpCj4gPiAgewo+ID4gICAgICB1bnNpZ25lZCBsb25nIGZs YWdzOwo+ID4gLSAgICBzdHJ1Y3QgcGVuZGluZ19pcnEgKnAgPSBpcnFfdG9fcGVuZGluZyhvbGQs IGlycSk7Cj4gPiArICAgIHN0cnVjdCBwZW5kaW5nX2lycSAqcDsKPiA+ICsKPiA+ICsgICAgc3Bp bl9sb2NrX2lycXNhdmUoJm9sZC0+YXJjaC52Z2ljLmxvY2ssIGZsYWdzKTsKPiA+ICsKPiA+ICsg ICAgcCA9IGlycV90b19wZW5kaW5nKG9sZCwgaXJxKTsKPiA+IAo+ID4gICAgICAvKiBub3RoaW5n IHRvIGRvIGZvciB2aXJ0dWFsIGludGVycnVwdHMgKi8KPiA+ICAgICAgaWYgKCBwLT5kZXNjID09 IE5VTEwgKQo+ID4gKyAgICB7Cj4gPiArICAgICAgICBzcGluX3VubG9ja19pcnFyZXN0b3JlKCZv bGQtPmFyY2gudmdpYy5sb2NrLCBmbGFncyk7Cj4gPiAgICAgICAgICByZXR1cm4gdHJ1ZTsKPiA+ ICsgICAgfQo+ID4gCj4gPiAgICAgIC8qIG1pZ3JhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzLCBu byBuZWVkIHRvIGRvIGFueXRoaW5nICovCj4gPiAgICAgIGlmICggdGVzdF9iaXQoR0lDX0lSUV9H VUVTVF9NSUdSQVRJTkcsICZwLT5zdGF0dXMpICkKPiA+ICAgICAgewo+ID4gICAgICAgICAgZ3By aW50ayhYRU5MT0dfV0FSTklORywgImlycSAldSBtaWdyYXRpb24gZmFpbGVkOiByZXF1ZXN0ZWQg d2hpbGUKPiA+IGluIHByb2dyZXNzXG4iLCBpcnEpOwo+ID4gKyAgICAgICAgc3Bpbl91bmxvY2tf aXJxcmVzdG9yZSgmb2xkLT5hcmNoLnZnaWMubG9jaywgZmxhZ3MpOwo+ID4gICAgICAgICAgcmV0 dXJuIGZhbHNlOwo+ID4gICAgICB9Cj4gPiAKPiA+ICAgICAgcGVyZmNfaW5jcih2Z2ljX2lycV9t aWdyYXRlcyk7Cj4gPiAKPiA+IC0gICAgc3Bpbl9sb2NrX2lycXNhdmUoJm9sZC0+YXJjaC52Z2lj LmxvY2ssIGZsYWdzKTsKPiA+IC0KPiA+ICAgICAgaWYgKCBsaXN0X2VtcHR5KCZwLT5pbmZsaWdo dCkgKQo+ID4gICAgICB7Cj4gPiAgICAgICAgICBpcnFfc2V0X2FmZmluaXR5KHAtPmRlc2MsIGNw dW1hc2tfb2YobmV3LT5wcm9jZXNzb3IpKTsKPiA+IEBAIC0yODUsNiArMjkxLDEzIEBAIHZvaWQg YXJjaF9tb3ZlX2lycXMoc3RydWN0IHZjcHUgKnYpCj4gPiAgICAgIHN0cnVjdCB2Y3B1ICp2X3Rh cmdldDsKPiA+ICAgICAgaW50IGk7Cj4gPiAKPiA+ICsgICAgLyoKPiA+ICsgICAgICogV2UgZG9u J3QgbWlncmF0ZSBMUElzIGF0IHRoZSBtb21lbnQuCj4gPiArICAgICAqIElmIHdlIGV2ZXIgZG8s IHdlIG11c3QgbWFrZSBzdXJlIHRoYXQgdGhlIHN0cnVjdCBwZW5kaW5nX2lycSBkb2VzCj4gPiAr ICAgICAqIG5vdCBnbyBhd2F5LCBhcyB0aGVyZSBpcyBubyBsb2NrIHByZXZlbnRpbmcgdGhpcyBo ZXJlLgo+ID4gKyAgICAgKi8KPiA+ICsgICAgQVNTRVJUKCFpc19scGkodmdpY19udW1faXJxcyhk KSAtIDEpKTsKPiAKPiBIbW1tPyBUaGlzIHJhaXNlIGEgcXVlc3Rpb24gb2Ygd2h5IHZnaWNfbnVt X2lycXMgZG9lcyBub3QgaW5jbHVkZSB0aGUgTFBJcwo+IHRvZGF5Li4uCj4gCj4gPiArCj4gPiAg ICAgIGZvciAoIGkgPSAzMjsgaSA8IHZnaWNfbnVtX2lycXMoZCk7IGkrKyApCj4gPiAgICAgIHsK PiA+ICAgICAgICAgIHZfdGFyZ2V0ID0gdmdpY19nZXRfdGFyZ2V0X3ZjcHUodiwgaSk7Cj4gPiBA QCAtMjk5LDYgKzMxMiw3IEBAIHZvaWQgdmdpY19kaXNhYmxlX2lycXMoc3RydWN0IHZjcHUgKnYs IHVpbnQzMl90IHIsIGludAo+ID4gbikKPiA+ICB7Cj4gPiAgICAgIGNvbnN0IHVuc2lnbmVkIGxv bmcgbWFzayA9IHI7Cj4gPiAgICAgIHN0cnVjdCBwZW5kaW5nX2lycSAqcDsKPiA+ICsgICAgc3Ry dWN0IGlycV9kZXNjICpkZXNjOwo+ID4gICAgICB1bnNpZ25lZCBpbnQgaXJxOwo+ID4gICAgICB1 bnNpZ25lZCBsb25nIGZsYWdzOwo+ID4gICAgICBpbnQgaSA9IDA7Cj4gPiBAQCAtMzA3LDE0ICsz MjEsMTkgQEAgdm9pZCB2Z2ljX2Rpc2FibGVfaXJxcyhzdHJ1Y3QgdmNwdSAqdiwgdWludDMyX3Qg ciwgaW50Cj4gPiBuKQo+ID4gICAgICB3aGlsZSAoIChpID0gZmluZF9uZXh0X2JpdCgmbWFzaywg MzIsIGkpKSA8IDMyICkgewo+ID4gICAgICAgICAgaXJxID0gaSArICgzMiAqIG4pOwo+ID4gICAg ICAgICAgdl90YXJnZXQgPSB2Z2ljX2dldF90YXJnZXRfdmNwdSh2LCBpcnEpOwo+ID4gKwo+ID4g KyAgICAgICAgc3Bpbl9sb2NrX2lycXNhdmUoJnZfdGFyZ2V0LT5hcmNoLnZnaWMubG9jaywgZmxh Z3MpOwo+ID4gICAgICAgICAgcCA9IGlycV90b19wZW5kaW5nKHZfdGFyZ2V0LCBpcnEpOwo+ID4g ICAgICAgICAgY2xlYXJfYml0KEdJQ19JUlFfR1VFU1RfRU5BQkxFRCwgJnAtPnN0YXR1cyk7Cj4g PiAgICAgICAgICBnaWNfcmVtb3ZlX2Zyb21fcXVldWVzKHZfdGFyZ2V0LCBpcnEpOwo+IAo+IGdp Y19yZW1vdmVfZnJvbV9xdWV1ZXMgaXMgdGFraW5nIHZfdGFyZ2V0IHZHSUMgbG9jay4gU28geW91 IGp1c3QgaW50cm9kdWNlZCBhCj4gZGVhZGxvY2suIFlvdSByZW1vdmUgaXQgaW4gdGhlIG5leHQg cGF0Y2ggYnV0IHN0aWxsLCB3ZSBzaG91bGQgbm90IGludHJvZHVjZQo+IHJlZ3Jlc3Npb24gZXZl biB0ZW1wb3JhcmlseS4gVGhpcyB3b3VsZCBtYWtlIHRvIGRpZmZpY3VsdCB0byBiaXNlY3QgdGhl Cj4gc2VyaWVzLgoKWWVhaCwgd2UgY2Fubm90IGludHJvZHVjZSByZWdyZXNzaW9ucyBsaWtlIHRo aXMgb25lLgoKCj4gVEJILCBJIGFtIG5vdCBhIGJpZyBmYW4gb2Ygc3ByZWFkaW5nIHRoZSBtZXNz IG9mIHZHSUMgbG9ja2luZyB3aGVuIHdlIGFyZQo+IGdvaW5nIHRvIHJld29yayB0aGUgdkdJQyBh bmQga25vdyB0aGF0IHRoaXMgY29kZSB3aWxsIG5vdCBiZSBjYWxsZWQgZm9yIExQSXMuCgpJIGFz a2VkIGZvciB0aGlzIGluCmFscGluZS5ERUIuMi4xMC4xNzA1MTkxNzI5NTYwLjE4NzU5QHNzdGFi ZWxsaW5pLVRoaW5rUGFkLVgyNjAsIHRoaXMgd2F5CndlIGNvdmVyZWQgYWxsIGJhc2lzLiBUaGUg ZG91YmxlIGxvY2sgaXMgYmFkLCBidXQgdGhlIHJlc3Qgb2YgdGhlCmNoYW5nZXMgbG9vayBPSyB0 byBtZS4KCgo+IEJUVywgdGhpcyBzZXJpZXMgaXMgbm90IGJpc2VjdGFibGUgYmVjYXVzZSB0aGUg aG9zdCBJVFMgaXMgb25seSBlbmFibGVkIGZyb20KPiBwYXRjaCAjMTIuCj4gCj4gPiAtICAgICAg ICBpZiAoIHAtPmRlc2MgIT0gTlVMTCApCj4gPiArICAgICAgICBkZXNjID0gcC0+ZGVzYzsKPiA+ ICsgICAgICAgIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnZfdGFyZ2V0LT5hcmNoLnZnaWMubG9j aywgZmxhZ3MpOwo+ID4gKwo+ID4gKyAgICAgICAgaWYgKCBkZXNjICE9IE5VTEwgKQo+ID4gICAg ICAgICAgewo+ID4gLSAgICAgICAgICAgIHNwaW5fbG9ja19pcnFzYXZlKCZwLT5kZXNjLT5sb2Nr LCBmbGFncyk7Cj4gPiAtICAgICAgICAgICAgcC0+ZGVzYy0+aGFuZGxlci0+ZGlzYWJsZShwLT5k ZXNjKTsKPiA+IC0gICAgICAgICAgICBzcGluX3VubG9ja19pcnFyZXN0b3JlKCZwLT5kZXNjLT5s b2NrLCBmbGFncyk7Cj4gPiArICAgICAgICAgICAgc3Bpbl9sb2NrX2lycXNhdmUoJmRlc2MtPmxv Y2ssIGZsYWdzKTsKPiA+ICsgICAgICAgICAgICBkZXNjLT5oYW5kbGVyLT5kaXNhYmxlKGRlc2Mp Owo+ID4gKyAgICAgICAgICAgIHNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRlc2MtPmxvY2ssIGZs YWdzKTsKPiA+ICAgICAgICAgIH0KPiA+ICAgICAgICAgIGkrKzsKPiA+ICAgICAgfQo+ID4gQEAg LTM0OSw5ICszNjgsOSBAQCB2b2lkIHZnaWNfZW5hYmxlX2lycXMoc3RydWN0IHZjcHUgKnYsIHVp bnQzMl90IHIsIGludCBuKQo+ID4gICAgICB3aGlsZSAoIChpID0gZmluZF9uZXh0X2JpdCgmbWFz aywgMzIsIGkpKSA8IDMyICkgewo+ID4gICAgICAgICAgaXJxID0gaSArICgzMiAqIG4pOwo+ID4g ICAgICAgICAgdl90YXJnZXQgPSB2Z2ljX2dldF90YXJnZXRfdmNwdSh2LCBpcnEpOwo+ID4gKyAg ICAgICAgc3Bpbl9sb2NrX2lycXNhdmUoJnZfdGFyZ2V0LT5hcmNoLnZnaWMubG9jaywgZmxhZ3Mp Owo+ID4gICAgICAgICAgcCA9IGlycV90b19wZW5kaW5nKHZfdGFyZ2V0LCBpcnEpOwo+ID4gICAg ICAgICAgc2V0X2JpdChHSUNfSVJRX0dVRVNUX0VOQUJMRUQsICZwLT5zdGF0dXMpOwo+ID4gLSAg ICAgICAgc3Bpbl9sb2NrX2lycXNhdmUoJnZfdGFyZ2V0LT5hcmNoLnZnaWMubG9jaywgZmxhZ3Mp Owo+ID4gICAgICAgICAgaWYgKCAhbGlzdF9lbXB0eSgmcC0+aW5mbGlnaHQpICYmICF0ZXN0X2Jp dChHSUNfSVJRX0dVRVNUX1ZJU0lCTEUsCj4gPiAmcC0+c3RhdHVzKSApCj4gPiAgICAgICAgICAg ICAgZ2ljX3JhaXNlX2d1ZXN0X2lycSh2X3RhcmdldCwgaXJxLCBwLT5wcmlvcml0eSk7Cj4gPiAg ICAgICAgICBzcGluX3VubG9ja19pcnFyZXN0b3JlKCZ2X3RhcmdldC0+YXJjaC52Z2ljLmxvY2ss IGZsYWdzKTsKPiA+IEBAIC00NjAsNyArNDc5LDcgQEAgdm9pZCB2Z2ljX2NsZWFyX3BlbmRpbmdf aXJxcyhzdHJ1Y3QgdmNwdSAqdikKPiA+ICB2b2lkIHZnaWNfdmNwdV9pbmplY3RfaXJxKHN0cnVj dCB2Y3B1ICp2LCB1bnNpZ25lZCBpbnQgdmlycSkKPiA+ICB7Cj4gPiAgICAgIHVpbnQ4X3QgcHJp b3JpdHk7Cj4gPiAtICAgIHN0cnVjdCBwZW5kaW5nX2lycSAqaXRlciwgKm4gPSBpcnFfdG9fcGVu ZGluZyh2LCB2aXJxKTsKPiA+ICsgICAgc3RydWN0IHBlbmRpbmdfaXJxICppdGVyLCAqbjsKPiA+ ICAgICAgdW5zaWduZWQgbG9uZyBmbGFnczsKPiA+ICAgICAgYm9vbCBydW5uaW5nOwo+ID4gCj4g PiBAQCAtNDY4LDYgKzQ4Nyw4IEBAIHZvaWQgdmdpY192Y3B1X2luamVjdF9pcnEoc3RydWN0IHZj cHUgKnYsIHVuc2lnbmVkIGludAo+ID4gdmlycSkKPiA+IAo+ID4gICAgICBzcGluX2xvY2tfaXJx c2F2ZSgmdi0+YXJjaC52Z2ljLmxvY2ssIGZsYWdzKTsKPiA+IAo+ID4gKyAgICBuID0gaXJxX3Rv X3BlbmRpbmcodiwgdmlycSk7Cj4gPiArCj4gPiAgICAgIC8qIHZjcHUgb2ZmbGluZSAqLwo+ID4g ICAgICBpZiAoIHRlc3RfYml0KF9WUEZfZG93biwgJnYtPnBhdXNlX2ZsYWdzKSApCj4gPiAgICAg IHsKPiA+IAo+IAo+IENoZWVycywKPiAKPiAtLSAKPiBKdWxpZW4gR3JhbGwKPiAKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5n IGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1k ZXZlbAo=