From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.5 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE, SPF_PASS,USER_AGENT_SANE_2 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6D2BDC433E1 for ; Sat, 30 May 2020 16:49:36 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 3D1F32077D for ; Sat, 30 May 2020 16:49:36 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="Yo52Chby"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="OhwXPkc5" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3D1F32077D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=UQo+cspOrnn8DLSEwMqtUJwXijHGFFmXMkmUOg1DBQE=; b=Yo52ChbyNLckAP IUDqSi+ffEheClOCnhWWvU+QfWvqebIURIzrY0X5dmt6jBdM/zibMfDXqpkO+6AGc1Z1EkKIJL7ED WG5LOuc9ulZg6fulwAQDzfodwYrUzemiQF2uUZHlFIVSoTSRqOHIRyvTcxmge8iUdmaCyrwBwq+WF wffy7XjWwBMWKAHTMqjwLLpU3FvCamcCkCtUFBwgJR9FqTHbgzQ1nRh6zc6gI1TaEylQhtVryFyyJ QmD4CJowOP/cf+en7F9iGu3BsKCBaadtc6witrO2gMtMpFrvlP50tp+HOw/Ewcvbj24u8sbHZX+E5 1XPFXBZMqFRSAIdGnLaw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jf4fv-0000Sv-Pk; Sat, 30 May 2020 16:49:35 +0000 Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jf4ft-0000SV-B7 for linux-arm-kernel@lists.infradead.org; Sat, 30 May 2020 16:49:34 +0000 Received: from disco-boy.misterjones.org (disco-boy.misterjones.org [51.254.78.96]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id C111D20723; Sat, 30 May 2020 16:49:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1590857372; bh=YWheN8pRzzh5on2sRrgHuSvShRln/nsEjRo8kYtNcBs=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=OhwXPkc5TFFi2g6RwCC8UmPtBMmQjX4EGvFhkHd9zu6B/NO9LADHV8avNBKM6xjnh VBUKpxEF1ZPnsC/dkOs1H+dx0XPy4QECu/9rBML77iuq/5m09uE4UH2SADgQKbFNQI AtQYHsjZh6fczpsFVcXRw67kT1Bxu//MFCWcuGT8= Received: from 78.163-31-62.static.virginmediabusiness.co.uk ([62.31.163.78] helo=why) by disco-boy.misterjones.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jf4fr-00GZ2c-4m; Sat, 30 May 2020 17:49:31 +0100 Date: Sat, 30 May 2020 17:49:29 +0100 From: Marc Zyngier To: "Saidi, Ali" Subject: Re: [PATCH] irqchip/gic-v3-its: Don't try to move a disabled irq Message-ID: <20200530174929.7bf6d5d7@why> In-Reply-To: <2C4F431F-8140-4C82-B4BD-E51DE618FC08@amazon.com> References: <20200529015501.15771-1-alisaidi@amazon.com> <8c3be990888ecfb7cca9503853dc4aac@kernel.org> <2C4F431F-8140-4C82-B4BD-E51DE618FC08@amazon.com> Organization: Approximate X-Mailer: Claws Mail 3.17.5 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-SA-Exim-Connect-IP: 62.31.163.78 X-SA-Exim-Rcpt-To: alisaidi@amazon.com, tglx@linutronix.de, jason@lakedaemon.net, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, benh@amazon.com, dwmw@amazon.co.uk, zeev@amazon.com, zorik@amazon.com X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200530_094933_421051_C3E9D8E0 X-CRM114-Status: GOOD ( 35.35 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Herrenschmidt, Benjamin" , Jason Cooper , "Machulsky, Zorik" , "linux-kernel@vger.kernel.org" , "Zilberman, Zeev" , "linux-arm-kernel@lists.infradead.org" , Thomas Gleixner , "Woodhouse, David" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGkgQWxpLAoKT24gRnJpLCAyOSBNYXkgMjAyMCAxMjozNjo0MiArMDAwMAoiU2FpZGksIEFsaSIg PGFsaXNhaWRpQGFtYXpvbi5jb20+IHdyb3RlOgoKPiBIaSBNYXJjLAo+IAo+ID4gT24gTWF5IDI5 LCAyMDIwLCBhdCAzOjMzIEFNLCBNYXJjIFp5bmdpZXIgPG1hekBrZXJuZWwub3JnPiB3cm90ZToK PiA+IAo+ID4gSGkgQWxpLAo+ID4gICAKPiA+PiBPbiAyMDIwLTA1LTI5IDAyOjU1LCBBbGkgU2Fp ZGkgd3JvdGU6Cj4gPj4gSWYgYW4gaW50ZXJydXB0IGlzIGRpc2FibGVkIHRoZSBJVFMgZHJpdmVy IGhhcyBzZW50IGEgZGlzY2FyZCByZW1vdmluZwo+ID4+IHRoZSBEZXZpY2VJRCBhbmQgRXZlbnRJ RCBmcm9tIHRoZSBJVFQuIEFmdGVyIHRoaXMgb2NjdXJzIGl0IGNhbid0IGJlCj4gPj4gbW92ZWQg dG8gYW5vdGhlciBjb2xsZWN0aW9uIHdpdGggYSBNT1ZJIGFuZCBhIGNvbW1hbmQgZXJyb3Igb2Nj dXJzIGlmCj4gPj4gYXR0ZW1wdGVkLiBCZWZvcmUgaXNzdWluZyB0aGUgTU9WSSBjb21tYW5kIG1h a2Ugc3VyZSB0aGF0IHRoZSBJUlEgaXNuJ3QKPiA+PiBkaXNhYmxlZCBhbmQgY2hhbmdlIHRoZSBh Y3RpdmF0ZSBjb2RlIHRvIHRyeSBhbmQgdXNlIHRoZSBwcmV2aW91cwo+ID4+IGFmZmluaXR5Lgo+ ID4+IAo+ID4+IFNpZ25lZC1vZmYtYnk6IEFsaSBTYWlkaSA8YWxpc2FpZGlAYW1hem9uLmNvbT4K PiA+PiAtLS0KPiA+PiBkcml2ZXJzL2lycWNoaXAvaXJxLWdpYy12My1pdHMuYyB8IDE4ICsrKysr KysrKysrKysrKy0tLQo+ID4+IDEgZmlsZSBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCAzIGRl bGV0aW9ucygtKQo+ID4+IAo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2lycWNoaXAvaXJxLWdp Yy12My1pdHMuYwo+ID4+IGIvZHJpdmVycy9pcnFjaGlwL2lycS1naWMtdjMtaXRzLmMKPiA+PiBp bmRleCAxMjQyNTFiMGNjYmEuLjEyMzVkZDlhMmZiMiAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJz L2lycWNoaXAvaXJxLWdpYy12My1pdHMuYwo+ID4+ICsrKyBiL2RyaXZlcnMvaXJxY2hpcC9pcnEt Z2ljLXYzLWl0cy5jCj4gPj4gQEAgLTE1NDAsNyArMTU0MCwxMSBAQCBzdGF0aWMgaW50IGl0c19z ZXRfYWZmaW5pdHkoc3RydWN0IGlycV9kYXRhICpkLAo+ID4+IGNvbnN0IHN0cnVjdCBjcHVtYXNr ICptYXNrX3ZhbCwKPiA+PiAgICAgIC8qIGRvbid0IHNldCB0aGUgYWZmaW5pdHkgd2hlbiB0aGUg dGFyZ2V0IGNwdSBpcyBzYW1lIGFzIGN1cnJlbnQgb25lCj4gPj4gKi8KPiA+PiAgICAgIGlmIChj cHUgIT0gaXRzX2Rldi0+ZXZlbnRfbWFwLmNvbF9tYXBbaWRdKSB7Cj4gPj4gICAgICAgICAgICAg IHRhcmdldF9jb2wgPSAmaXRzX2Rldi0+aXRzLT5jb2xsZWN0aW9uc1tjcHVdOwo+ID4+IC0gICAg ICAgICAgICAgaXRzX3NlbmRfbW92aShpdHNfZGV2LCB0YXJnZXRfY29sLCBpZCk7Cj4gPj4gKwo+ ID4+ICsgICAgICAgICAgICAgLyogSWYgdGhlIElSUSBpcyBkaXNhYmxlZCBhIGRpc2NhcmQgd2Fz IHNlbnQgc28gZG9uJ3QgbW92ZSAqLwo+ID4+ICsgICAgICAgICAgICAgaWYgKCFpcnFkX2lycV9k aXNhYmxlZChkKSkKPiA+PiArICAgICAgICAgICAgICAgICAgICAgaXRzX3NlbmRfbW92aShpdHNf ZGV2LCB0YXJnZXRfY29sLCBpZCk7Cj4gPj4gKyAgCj4gPiAKPiA+IFRoaXMgbG9va3Mgd3Jvbmcu IFdoYXQgeW91IGFyZSB0ZXN0aW5nIGhlcmUgaXMgd2hldGhlciB0aGUgaW50ZXJydXB0Cj4gPiBp cyBtYXNrZWQsIG5vdCB0aGF0IHRoZXJlIGlzbid0IGEgdmFsaWQgdHJhbnNsYXRpb24uICAKPiBJ 4oCZbSBub3QgZXhhY3RseSBzdXJlIHRoZSBjb3JyZWN0IGNvbmRpdGlvbiwgYnV0IHdoYXQgSeKA mW0gbG9va2luZyBmb3IKPiBpcyBpbnRlcnJ1cHRzIHdoaWNoIGFyZSBkZWFjdGl2YXRlZCBhbmQg d2UgaGF2ZSB0aHVzIHNlbnQgYSBkaXNjYXJkLiAKClRoYXQgbG9va3MgbGlrZSBJUlFEX0lSUV9T VEFSVEVEIG5vdCBiZWluZyBzZXQgaW4gdGhpcyBjYXNlLgoKPiA+IAo+ID4gSW4gdGhlIGNvbW1p dCBtZXNzYWdlLCB5b3UncmUgc2F5aW5nIHRoYXQgd2UndmUgaXNzdWVkIGEgZGlzY2FyZC4KPiA+ IFRoaXMgaGludHMgYXQgZG9pbmcgYSBzZXRfYWZmaW5pdHkgb24gYW4gaW50ZXJydXB0IHRoYXQg aGFzIGJlZW4KPiA+IGRlYWN0aXZhdGVkIChtYXBwaW5nIHJlbW92ZWQpLiBJcyB0aGF0IGFjdHVh bGx5IHRoZSBjYXNlPyBJZiBzbywKPiA+IHdoeSB3YXMgaXQgZGVhY3RpdmF0ZWQKPiA+IHRoZSBm aXJzdCBwbGFjZT8gIAo+IFRoaXMgaXMgdGhlIGNhc2UuIElmIHdlIGRvd24gYSBOSUMsIHRoYXQg aW50ZXJmYWNl4oCZcyBNU0lzIHdpbGwgYmUKPiBkZWFjdGl2YXRlZCBidXQgcmVtYWluIGFsbG9j YXRlZCB1bnRpbCB0aGUgZGV2aWNlIGlzIHVuYm91bmQgZnJvbSB0aGUKPiBkcml2ZXIgb3IgdGhl IE5JQyBpcyBicm91Z2h0IHVwLiAKPiAKPiBXaGlsZSBzdHJlc3NpbmcgZG93bi91cCBhIGRldmlj ZSBJ4oCZdmUgZm91bmQgdGhhdCBpcnFiYWxhbmNlIGNhbiBtb3ZlCj4gaW50ZXJydXB0cyBhbmQg eW91IGVuZCB1cCB3aXRoIHRoZSBzaXR1YXRpb24gZGVzY3JpYmVkLiBUaGUgZGV2aWNlIGlzCj4g ZG93bmVkLCB0aGUgaW50ZXJydXB0cyBhcmUgZGVhY3RpdmF0ZWQgYnV0IHN0aWxsIHByZXNlbnQg YW5kIHRoZW4KPiB0cnlpbmcgdG8gbW92ZSBvbmUgcmVzdWx0cyBpbiBzZW5kaW5nIGEgTU9WSSBh ZnRlciB0aGUgRElTQ0FSRCB3aGljaAo+IGlzIGFuIGVycm9yIHBlciB0aGUgR0lDIHNwZWMuIAoK Tm90IGdyZWF0IGluZGVlZC4gQnV0IHRoaXMgaXMgbm90LCBhcyBmYXIgYXMgSSBjYW4gdGVsbCwg YSBHSUMKZHJpdmVyIHByb2JsZW0uCgpUaGUgc2VtYW50aWMgb2YgYWN0aXZhdGUvZGVhY3RpdmF0 ZSAod2hpY2ggbWFwcyB0byBzdGFydGVkL3NodXRkb3duCmluIHRoZSBJUlEgY29kZSkgaXMgdGhh dCB0aGUgSFcgcmVzb3VyY2VzIGZvciBhIGdpdmVuIGludGVycnVwdCBhcmUKb25seSBjb21taXR0 ZWQgd2hlbiB0aGUgaW50ZXJydXB0IGlzIGFjdGl2YXRlZC4gVHJ5aW5nIHRvIHBlcmZvcm0KYWN0 aW9ucyBpbnZvbHZpbmcgdGhlIEhXIG9uIGFuIGludGVycnVwdCB0aGF0IGlzbid0IGFjdGl2ZSBj YW5ub3QgYmUKZ3VhcmFudGVlZCB0byB0YWtlIGVmZmVjdC4KCkknZCByYXRoZXIgYWRkcmVzcyBp dCBpbiB0aGUgY29yZSBjb2RlLCBieSBwcmV2ZW50aW5nIHNldF9hZmZpbml0eSAoYW5kCnBvdGVu dGlhbGx5IG90aGVycykgdG8gdGFrZSBwbGFjZSB3aGVuIHRoZSBpbnRlcnJ1cHQgaXMgbm90IGlu IHRoZQpTVEFSVEVEIHN0YXRlLiBVc2Vyc3BhY2Ugd291bGQgZ2V0IGFuIGVycm9yLCB3aGljaCBp cyBwZXJmZWN0bHkKbGVnaXRpbWF0ZSwgYW5kIHdoaWNoIGl0IGFscmVhZHkgaGFzIHRvIGRlYWwg d2l0aCBpdCBmb3IgcGxlbnR5IG9mIG90aGVyCnJlYXNvbnMuCgo+IAo+ID4gICAKPiA+PiAgICAg ICAgICAgICAgaXRzX2Rldi0+ZXZlbnRfbWFwLmNvbF9tYXBbaWRdID0gY3B1Owo+ID4+ICAgICAg ICAgICAgICBpcnFfZGF0YV91cGRhdGVfZWZmZWN0aXZlX2FmZmluaXR5KGQsCj4gPj4gY3B1bWFz a19vZihjcHUpKTsgfQo+ID4+IEBAIC0zNDM5LDggKzM0NDMsMTYgQEAgc3RhdGljIGludCBpdHNf aXJxX2RvbWFpbl9hY3RpdmF0ZShzdHJ1Y3QKPiA+PiBpcnFfZG9tYWluICpkb21haW4sCj4gPj4g ICAgICBpZiAoaXRzX2Rldi0+aXRzLT5udW1hX25vZGUgPj0gMCkKPiA+PiAgICAgICAgICAgICAg Y3B1X21hc2sgPSBjcHVtYXNrX29mX25vZGUoaXRzX2Rldi0+aXRzLT5udW1hX25vZGUpOwo+ID4+ IAo+ID4+IC0gICAgIC8qIEJpbmQgdGhlIExQSSB0byB0aGUgZmlyc3QgcG9zc2libGUgQ1BVICov Cj4gPj4gLSAgICAgY3B1ID0gY3B1bWFza19maXJzdF9hbmQoY3B1X21hc2ssIGNwdV9vbmxpbmVf bWFzayk7Cj4gPj4gKyAgICAgLyogSWYgdGhlIGNwdSBzZXQgdG8gYSBkaWZmZXJlbnQgQ1BVIHRo YXQgaXMgc3RpbGwgb25saW5lCj4gPj4gdXNlIGl0ICovCj4gPj4gKyAgICAgY3B1ID0gaXRzX2Rl di0+ZXZlbnRfbWFwLmNvbF9tYXBbZXZlbnRdOwo+ID4+ICsKPiA+PiArICAgICBjcHVtYXNrX2Fu ZChjcHVfbWFzaywgY3B1X21hc2ssIGNwdV9vbmxpbmVfbWFzayk7Cj4gPj4gKwo+ID4+ICsgICAg IGlmICghY3B1bWFza190ZXN0X2NwdShjcHUsIGNwdV9tYXNrKSkgewo+ID4+ICsgICAgICAgICAg ICAgLyogQmluZCB0aGUgTFBJIHRvIHRoZSBmaXJzdCBwb3NzaWJsZSBDUFUgKi8KPiA+PiArICAg ICAgICAgICAgIGNwdSA9IGNwdW1hc2tfZmlyc3QoY3B1X21hc2spOwo+ID4+ICsgICAgIH0KPiA+ PiArCj4gPj4gICAgICBpZiAoY3B1ID49IG5yX2NwdV9pZHMpIHsKPiA+PiAgICAgICAgICAgICAg aWYgKGl0c19kZXYtPml0cy0+ZmxhZ3MgJgo+ID4+IElUU19GTEFHU19XT1JLQVJPVU5EX0NBVklV TV8yMzE0NCkgcmV0dXJuIC1FSU5WQUw7ICAKPiA+IAo+ID4gU28geW91IGRlYWN0aXZhdGUgYW4g aW50ZXJydXB0LCBkbyBhIHNldF9hZmZpbml0eSB0aGF0IGRvZXNuJ3QgaXNzdWUKPiA+IGEgTU9W SSBidXQgcHJlc2VydmVzIHRoZSBhZmZpbml0eSwgdGhlbiByZWFjdGl2YXRlIGl0IGFuZCBob3Bl IHRoYXQKPiA+IHRoZSBuZXcgbWFwcGluZyB3aWxsIHRhcmdldCB0aGUgInJpZ2h0IiBDUFUuCj4g PiAKPiA+IFRoYXQgc2VlbXMgYSBiaXQgbWFkLCBidXQgSSBwcmVzdW1lIHRoaXMgaXNuJ3QgdGhl IHdob2xlIHN0b3J5Li4uICAKPiBEb2luZyBzb21lIGV4cGVyaW1lbnRzIGl0IGFwcGVhcnMgYXMg dGhvdWdoIG90aGVyIGludGVycnVwdHMKPiBjb250cm9sbGVycyBkbyBwcmVzZXJ2ZSBhZmZpbml0 eSBhY3Jvc3MgZGVhY3RpdmF0ZS9hY3RpdmF0ZSwgc28gdGhpcwo+IGlzIG15IGF0dGVtcHQgYXQg ZG9pbmcgdGhlIHNhbWUuIAoKSSBiZWxpZXZlIHRoaXMgaXMgb25seSBhbiBhcnRlZmFjdCBvZiB0 aGVzZSBvdGhlciBjb250cm9sbGVycyBub3QKcmVxdWlyaW5nIGFueSByZXNvdXJjZSB0byBiZSBj b21taXR0ZWQgaW50byB0aGUgSFcgKFNQSXMgd291bGRuJ3QgY2FyZSwKZm9yIGV4YW1wbGUpLgoK VGhhbmtzLAoKCU0uCi0tIApKYXp6IGlzIG5vdCBkZWFkLiBJdCBqdXN0IHNtZWxscyBmdW5ueS4u LgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgt YXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQu b3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJt LWtlcm5lbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.6 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_2 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BA4B0C433E0 for ; Sat, 30 May 2020 16:49:34 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 8C2D6207D5 for ; Sat, 30 May 2020 16:49:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1590857374; bh=YWheN8pRzzh5on2sRrgHuSvShRln/nsEjRo8kYtNcBs=; h=Date:From:To:Cc:Subject:In-Reply-To:References:List-ID:From; b=wTDBJqOyqyKVKOejwKGbL8lhX+CAN86wHAD0/0XdvmI1rz0Jg8NppD4bCeArWhln2 mPoZPgNgxxXKS7Yf+/XAZFwnGvfyZqkfNpfeuXnWe6cQZ761IgZPd67vrJsksX++GL vMIhTtAkbd6iixhM+41ArCboJybIvVbF6XKDae/g= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729138AbgE3Qtd (ORCPT ); Sat, 30 May 2020 12:49:33 -0400 Received: from mail.kernel.org ([198.145.29.99]:59956 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728797AbgE3Qtd (ORCPT ); Sat, 30 May 2020 12:49:33 -0400 Received: from disco-boy.misterjones.org (disco-boy.misterjones.org [51.254.78.96]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id C111D20723; Sat, 30 May 2020 16:49:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1590857372; bh=YWheN8pRzzh5on2sRrgHuSvShRln/nsEjRo8kYtNcBs=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=OhwXPkc5TFFi2g6RwCC8UmPtBMmQjX4EGvFhkHd9zu6B/NO9LADHV8avNBKM6xjnh VBUKpxEF1ZPnsC/dkOs1H+dx0XPy4QECu/9rBML77iuq/5m09uE4UH2SADgQKbFNQI AtQYHsjZh6fczpsFVcXRw67kT1Bxu//MFCWcuGT8= Received: from 78.163-31-62.static.virginmediabusiness.co.uk ([62.31.163.78] helo=why) by disco-boy.misterjones.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1jf4fr-00GZ2c-4m; Sat, 30 May 2020 17:49:31 +0100 Date: Sat, 30 May 2020 17:49:29 +0100 From: Marc Zyngier To: "Saidi, Ali" Cc: Thomas Gleixner , Jason Cooper , "linux-kernel@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "Herrenschmidt, Benjamin" , "Woodhouse, David" , "Zilberman, Zeev" , "Machulsky, Zorik" Subject: Re: [PATCH] irqchip/gic-v3-its: Don't try to move a disabled irq Message-ID: <20200530174929.7bf6d5d7@why> In-Reply-To: <2C4F431F-8140-4C82-B4BD-E51DE618FC08@amazon.com> References: <20200529015501.15771-1-alisaidi@amazon.com> <8c3be990888ecfb7cca9503853dc4aac@kernel.org> <2C4F431F-8140-4C82-B4BD-E51DE618FC08@amazon.com> Organization: Approximate X-Mailer: Claws Mail 3.17.5 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 62.31.163.78 X-SA-Exim-Rcpt-To: alisaidi@amazon.com, tglx@linutronix.de, jason@lakedaemon.net, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, benh@amazon.com, dwmw@amazon.co.uk, zeev@amazon.com, zorik@amazon.com X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Ali, On Fri, 29 May 2020 12:36:42 +0000 "Saidi, Ali" wrote: > Hi Marc, >=20 > > On May 29, 2020, at 3:33 AM, Marc Zyngier wrote: > >=20 > > Hi Ali, > > =20 > >> On 2020-05-29 02:55, Ali Saidi wrote: > >> If an interrupt is disabled the ITS driver has sent a discard removing > >> the DeviceID and EventID from the ITT. After this occurs it can't be > >> moved to another collection with a MOVI and a command error occurs if > >> attempted. Before issuing the MOVI command make sure that the IRQ isn't > >> disabled and change the activate code to try and use the previous > >> affinity. > >>=20 > >> Signed-off-by: Ali Saidi > >> --- > >> drivers/irqchip/irq-gic-v3-its.c | 18 +++++++++++++++--- > >> 1 file changed, 15 insertions(+), 3 deletions(-) > >>=20 > >> diff --git a/drivers/irqchip/irq-gic-v3-its.c > >> b/drivers/irqchip/irq-gic-v3-its.c > >> index 124251b0ccba..1235dd9a2fb2 100644 > >> --- a/drivers/irqchip/irq-gic-v3-its.c > >> +++ b/drivers/irqchip/irq-gic-v3-its.c > >> @@ -1540,7 +1540,11 @@ static int its_set_affinity(struct irq_data *d, > >> const struct cpumask *mask_val, > >> /* don't set the affinity when the target cpu is same as current = one > >> */ > >> if (cpu !=3D its_dev->event_map.col_map[id]) { > >> target_col =3D &its_dev->its->collections[cpu]; > >> - its_send_movi(its_dev, target_col, id); > >> + > >> + /* If the IRQ is disabled a discard was sent so don't mo= ve */ > >> + if (!irqd_irq_disabled(d)) > >> + its_send_movi(its_dev, target_col, id); > >> + =20 > >=20 > > This looks wrong. What you are testing here is whether the interrupt > > is masked, not that there isn't a valid translation. =20 > I=E2=80=99m not exactly sure the correct condition, but what I=E2=80=99m = looking for > is interrupts which are deactivated and we have thus sent a discard.=20 That looks like IRQD_IRQ_STARTED not being set in this case. > >=20 > > In the commit message, you're saying that we've issued a discard. > > This hints at doing a set_affinity on an interrupt that has been > > deactivated (mapping removed). Is that actually the case? If so, > > why was it deactivated > > the first place? =20 > This is the case. If we down a NIC, that interface=E2=80=99s MSIs will be > deactivated but remain allocated until the device is unbound from the > driver or the NIC is brought up.=20 >=20 > While stressing down/up a device I=E2=80=99ve found that irqbalance can m= ove > interrupts and you end up with the situation described. The device is > downed, the interrupts are deactivated but still present and then > trying to move one results in sending a MOVI after the DISCARD which > is an error per the GIC spec.=20 Not great indeed. But this is not, as far as I can tell, a GIC driver problem. The semantic of activate/deactivate (which maps to started/shutdown in the IRQ code) is that the HW resources for a given interrupt are only committed when the interrupt is activated. Trying to perform actions involving the HW on an interrupt that isn't active cannot be guaranteed to take effect. I'd rather address it in the core code, by preventing set_affinity (and potentially others) to take place when the interrupt is not in the STARTED state. Userspace would get an error, which is perfectly legitimate, and which it already has to deal with it for plenty of other reasons. >=20 > > =20 > >> its_dev->event_map.col_map[id] =3D cpu; > >> irq_data_update_effective_affinity(d, > >> cpumask_of(cpu)); } > >> @@ -3439,8 +3443,16 @@ static int its_irq_domain_activate(struct > >> irq_domain *domain, > >> if (its_dev->its->numa_node >=3D 0) > >> cpu_mask =3D cpumask_of_node(its_dev->its->numa_node); > >>=20 > >> - /* Bind the LPI to the first possible CPU */ > >> - cpu =3D cpumask_first_and(cpu_mask, cpu_online_mask); > >> + /* If the cpu set to a different CPU that is still online > >> use it */ > >> + cpu =3D its_dev->event_map.col_map[event]; > >> + > >> + cpumask_and(cpu_mask, cpu_mask, cpu_online_mask); > >> + > >> + if (!cpumask_test_cpu(cpu, cpu_mask)) { > >> + /* Bind the LPI to the first possible CPU */ > >> + cpu =3D cpumask_first(cpu_mask); > >> + } > >> + > >> if (cpu >=3D nr_cpu_ids) { > >> if (its_dev->its->flags & > >> ITS_FLAGS_WORKAROUND_CAVIUM_23144) return -EINVAL; =20 > >=20 > > So you deactivate an interrupt, do a set_affinity that doesn't issue > > a MOVI but preserves the affinity, then reactivate it and hope that > > the new mapping will target the "right" CPU. > >=20 > > That seems a bit mad, but I presume this isn't the whole story... =20 > Doing some experiments it appears as though other interrupts > controllers do preserve affinity across deactivate/activate, so this > is my attempt at doing the same.=20 I believe this is only an artefact of these other controllers not requiring any resource to be committed into the HW (SPIs wouldn't care, for example). Thanks, M. --=20 Jazz is not dead. It just smells funny...