Messages in this thread | | | Subject | Re: [PATCH] irqchip/gic-v4.1: Disallow setting affinity for virtual SGIs | From | Zenghui Yu <> | Date | Tue, 14 Apr 2020 16:09:35 +0800 |
| |
Hi Marc,
On 2020/4/11 17:41, Marc Zyngier wrote: > Hi Zenghui, > > On Sat, 11 Apr 2020 10:10:32 +0100, > Zenghui Yu <yuzenghui@huawei.com> wrote: >> >> Running a guest on the GICv4.1-implemented board, we will get the >> following warning: >> >> [ 59.062120] genirq: irq_chip GICv4.1-sgi did not update eff. affinity mask of irq 46 >> >> It may be caused by irqbalance (or other userspace tools) which tries to >> change the affinity of virtual SGIs on the host. One way to "fix" it is >> to update the effective_affinity value in irq_set_affinity callback. But >> as the comment above says, "There is no notion of affinity for virtual >> SGIs, at least not on the host", doing so only makes things confusing. >> >> Given the vSGIs are private to the specified vPE, changing the affinity >> on host is actually meaningless and achieves nothing. Let's just forbid >> it. >> >> Reported-by: Nianyao Tang <tangnianyao@huawei.com> >> Signed-off-by: Zenghui Yu <yuzenghui@huawei.com> >> --- >> >> Hi Marc, >> >> This just restores the behavior of your v5 [*]. I wonder that what's the >> reason to change it to 'return IRQ_SET_MASK_OK' in v6? What I've missed >> here? >> >> [*] https://lore.kernel.org/kvm/20200304203330.4967-9-maz@kernel.org/ > > Not allowing the affinity move results in the kernel screaming when > playing with CPU hotplug (it really wants to move the interrupt > around). Which is why I dropped the -EINVAL, therefore introducing > another bug. I fixed it with this patch[1], which I was planning to > post after -rc1.
I didn't realize the CPU hotplug case. Please take your approach to fix it. (As mentioned, this was also one way I planned to fix it.)
> > Let me know what you think
TBH, I'm not very familiar with the IRQ core behavior on CPU hotplug. I will read further and comment on your formal patch (please cc me), but now spinning on some other things...
Thanks, Zenghui
| |