From: Alexandre Belloni <alexandre.belloni@bootlin.com>
To: Marc Zyngier <marc.zyngier@arm.com>
Cc: Thomas Gleixner <tglx@linutronix.de>,
Jason Cooper <jason@lakedaemon.net>,
linux-kernel@vger.kernel.org,
Yang Yingliang <yangyingliang@huawei.com>,
Sumit Garg <sumit.garg@linaro.org>
Subject: Re: [PATCH v2 2/7] irqchip/ls-scfg-msi: Fix MSI affinity handling
Date: Fri, 22 Jun 2018 13:02:10 +0200 [thread overview]
Message-ID: <20180622110210.GO7737@piout.net> (raw)
In-Reply-To: <20180622095254.5906-3-marc.zyngier@arm.com>
On 22/06/2018 10:52:49+0100, Marc Zyngier wrote:
> The ls-scfs-msi driver is not dealing with the effective affinity
> as it should. Let's fix that, and make it clear that the effective
> affinity is restricted to a single CPU. Also prevent the driver from
> messing with the internals of the affinity setting infrastructure.
>
> Reported-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Tested-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
> ---
> drivers/irqchip/irq-ls-scfg-msi.c | 10 +++++++---
> 1 file changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/irqchip/irq-ls-scfg-msi.c b/drivers/irqchip/irq-ls-scfg-msi.c
> index 1ec3bfe56693..c671b3212010 100644
> --- a/drivers/irqchip/irq-ls-scfg-msi.c
> +++ b/drivers/irqchip/irq-ls-scfg-msi.c
> @@ -93,8 +93,12 @@ static void ls_scfg_msi_compose_msg(struct irq_data *data, struct msi_msg *msg)
> msg->address_lo = lower_32_bits(msi_data->msiir_addr);
> msg->data = data->hwirq;
>
> - if (msi_affinity_flag)
> - msg->data |= cpumask_first(data->common->affinity);
> + if (msi_affinity_flag) {
> + const struct cpumask *mask;
> +
> + mask = irq_data_get_effective_affinity_mask(data);
> + msg->data |= cpumask_first(mask);
> + }
>
> iommu_dma_map_msi_msg(data->irq, msg);
> }
> @@ -121,7 +125,7 @@ static int ls_scfg_msi_set_affinity(struct irq_data *irq_data,
> return -EINVAL;
> }
>
> - cpumask_copy(irq_data->common->affinity, mask);
> + irq_data_update_effective_affinity(irq_data, cpumask_of(cpu));
>
> return IRQ_SET_MASK_OK;
> }
> --
> 2.17.1
>
--
Alexandre Belloni, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
next prev parent reply other threads:[~2018-06-22 11:02 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-22 9:52 [PATCH v2 0/7] irqchip: v4.18-rc1 fixes Marc Zyngier
2018-06-22 9:52 ` [PATCH v2 1/7] genirq/debugfs: Add missing IRQCHIP_SUPPORTS_LEVEL_MSI debug Marc Zyngier
2018-06-22 12:25 ` [tip:irq/urgent] " tip-bot for Marc Zyngier
2018-06-22 9:52 ` [PATCH v2 2/7] irqchip/ls-scfg-msi: Fix MSI affinity handling Marc Zyngier
2018-06-22 11:02 ` Alexandre Belloni [this message]
2018-06-22 12:25 ` [tip:irq/urgent] " tip-bot for Marc Zyngier
2018-06-22 9:52 ` [PATCH v2 3/7] irqchip/gic-v2m: Fix SPI release on error path Marc Zyngier
2018-06-22 12:26 ` [tip:irq/urgent] " tip-bot for Marc Zyngier
2018-06-22 9:52 ` [PATCH v2 4/7] irqchip/gic-v3-its: Don't bind LPI to unavailable NUMA node Marc Zyngier
2018-06-22 12:26 ` [tip:irq/urgent] " tip-bot for Yang Yingliang
2018-06-22 9:52 ` [PATCH v2 5/7] irqchip/gic-v3-its: Only emit SYNC if targetting a valid collection Marc Zyngier
2018-06-22 12:27 ` [tip:irq/urgent] " tip-bot for Marc Zyngier
2018-06-22 9:52 ` [PATCH v2 6/7] irqchip/gic-v3-its: Only emit VSYNC " Marc Zyngier
2018-06-22 12:27 ` [tip:irq/urgent] " tip-bot for Marc Zyngier
2018-06-22 9:52 ` [PATCH v2 7/7] irqchip/gic-v3-its: Fix reprogramming of redistributors on CPU hotplug Marc Zyngier
2018-06-22 12:28 ` [tip:irq/urgent] " tip-bot for Marc Zyngier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180622110210.GO7737@piout.net \
--to=alexandre.belloni@bootlin.com \
--cc=jason@lakedaemon.net \
--cc=linux-kernel@vger.kernel.org \
--cc=marc.zyngier@arm.com \
--cc=sumit.garg@linaro.org \
--cc=tglx@linutronix.de \
--cc=yangyingliang@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.