Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp635834ybl; Fri, 13 Dec 2019 02:09:31 -0800 (PST) X-Google-Smtp-Source: APXvYqxg6xWZff8Mb2wsNEsnPFbM8RnBNFUeCMo8QjJLdismhBqf2iGi2rqjvgHwZTzTNFErDhAQ X-Received: by 2002:a9d:6b17:: with SMTP id g23mr13237659otp.265.1576231771151; Fri, 13 Dec 2019 02:09:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1576231771; cv=none; d=google.com; s=arc-20160816; b=nCj0C6+MofiCanowplNxsmPvqbhhsamTTlCs9JxrIfkRcxtkd5sU9XE5a727nRVjXM UPQytzSm03Uj5VsLeG/PyKgWsX6eLEAteR7X1jSBqXWsfZ/ZAoO17HsDWhzoeOm9wfaq wng3Iidc00f0KLCKdPVpNeuIpZxzfy/Em80NH57rAOHGQl7rCXF2+eTFz0D4bon4jZK4 39C8Mz7ked9wBqgfeWSZudnC2Ej/OV2lCoM4kqTx8lMYlP078s4iOE0LUw7MgnVOAAwo u2z2jFpW+PhueoA+oXk7XHzqyA8SEbFGgcucfLatZN/Ioq2GivTo1zAjHEFjBoufGdyR el7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:references:cc:to:from:subject; bh=Fig7WJ/pVOdu9niBU/Tc+l48EGYH8MqCZ8QBV4bNG+g=; b=WqwL1dyHXzrZu71C9ohqRKaz+y6jStfn5wOLqUabMR8Vk5uX8xVRdTn3yN6nLnMExq ize8HknyahBTkYPrHa3nBcwoQ1Tzx85ak3YVJZ5KpptgiOBAxqKMqq/DBAzu6LEwpfIC 2WpH+AGy+Fn6ibHBQv8WhOgSNrd/C+nksJo+XYayUM6RywVabYNXv28YVG++D+OjA9jR t/ppE8P7TEDSaf4lV7SAPU68E64BAmcTf9GPa13MFU22rv8gN9ZbIsa8WgHiAfY6rqVO yFPTwCVnYxS7c37r0lQPvnD4sCQXk/rtEdW0ao6WFf3RKTTVK24PP3iSQ18Z9a75gEyk N4eg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o13si4963791otp.27.2019.12.13.02.09.20; Fri, 13 Dec 2019 02:09:31 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726608AbfLMKHZ (ORCPT + 99 others); Fri, 13 Dec 2019 05:07:25 -0500 Received: from lhrrgout.huawei.com ([185.176.76.210]:2184 "EHLO huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725747AbfLMKHZ (ORCPT ); Fri, 13 Dec 2019 05:07:25 -0500 Received: from lhreml706-cah.china.huawei.com (unknown [172.18.7.107]) by Forcepoint Email with ESMTP id 80148902FA778704197D; Fri, 13 Dec 2019 10:07:23 +0000 (GMT) Received: from lhreml724-chm.china.huawei.com (10.201.108.75) by lhreml706-cah.china.huawei.com (10.201.108.47) with Microsoft SMTP Server (TLS) id 14.3.408.0; Fri, 13 Dec 2019 10:07:22 +0000 Received: from [127.0.0.1] (10.202.226.46) by lhreml724-chm.china.huawei.com (10.201.108.75) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Fri, 13 Dec 2019 10:07:22 +0000 Subject: Re: [PATCH RFC 1/1] genirq: Make threaded handler use irq affinity for managed interrupt From: John Garry To: Marc Zyngier CC: Ming Lei , "tglx@linutronix.de" , "chenxiang (M)" , "bigeasy@linutronix.de" , "linux-kernel@vger.kernel.org" , "hare@suse.com" , "hch@lst.de" , "axboe@kernel.dk" , "bvanassche@acm.org" , "peterz@infradead.org" , "mingo@redhat.com" References: <1575642904-58295-1-git-send-email-john.garry@huawei.com> <1575642904-58295-2-git-send-email-john.garry@huawei.com> <20191207080335.GA6077@ming.t460p> <78a10958-fdc9-0576-0c39-6079b9749d39@huawei.com> <20191210014335.GA25022@ming.t460p> <28424a58-1159-c3f9-1efb-f1366993afcf@huawei.com> <048746c22898849d28985c0f65cf2c2a@www.loen.fr> <6e513d25d8b0c6b95d37a64df0c27b78@www.loen.fr> <06d1e2ff-9ec7-2262-25a0-4503cb204b0b@huawei.com> <5caa8414415ab35e74662ac0a30bb4ac@www.loen.fr> Message-ID: <2443e657-2ccd-bf85-072c-284ea0b3ce40@huawei.com> Date: Fri, 13 Dec 2019 10:07:21 +0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.1.2 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8"; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-Originating-IP: [10.202.226.46] X-ClientProxiedBy: lhreml728-chm.china.huawei.com (10.201.108.79) To lhreml724-chm.china.huawei.com (10.201.108.75) X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 11/12/2019 09:41, John Garry wrote: > On 10/12/2019 18:32, Marc Zyngier wrote: >>>>> The ITS code will make the lowest online CPU in the affinity mask >>>>> the >>>>> target CPU for the interrupt, which may result in some CPUs >>>>> handling >>>>> so many interrupts. >>>> If what you want is for the*default*  affinity to be spread around, >>>> that should be achieved pretty easily. Let me have a think about how >>>> to do that. >>> Cool, I anticipate that it should help my case. >>> >>> I can also seek out some NVMe cards to see how it would help a more >>> "generic" scenario. >> Can you give the following a go? It probably has all kind of warts on >> top of the quality debug information, but I managed to get my D05 and >> a couple of guests to boot with it. It will probably eat your data, >> so use caution!;-) >> > > Hi Marc, > > Ok, we'll give it a spin. > > Thanks, > John Hi Marc, JFYI, we're still testing this and the patch itself seems to work as intended. Here's the kernel log if you just want to see how the interrupts are getting assigned: https://pastebin.com/hh3r810g For me, I did get a performance boost for NVMe testing, but my colleague Xiang Chen saw a drop for our storage test of interest - that's the HiSi SAS controller. We're trying to make sense of it now. Thanks, John > >> Thanks, >> >>           M. >> >> diff --git a/drivers/irqchip/irq-gic-v3-its.c >> b/drivers/irqchip/irq-gic-v3-its.c >> index e05673bcd52b..301ee3bc0602 100644 >> --- a/drivers/irqchip/irq-gic-v3-its.c >> +++ b/drivers/irqchip/irq-gic-v3-its.c >> @@ -177,6 +177,8 @@ static DEFINE_IDA(its_vpeid_ida); >