From: Naman Jain <namjain@linux.microsoft.com>
To: Wei Liu <wei.liu@kernel.org>
Cc: "Thomas Gleixner" <tglx@kernel.org>,
"Ingo Molnar" <mingo@redhat.com>,
"Borislav Petkov" <bp@alien8.de>,
"Dave Hansen" <dave.hansen@linux.intel.com>,
x86@kernel.org, "H . Peter Anvin" <hpa@zytor.com>,
"K . Y . Srinivasan" <kys@microsoft.com>,
"Haiyang Zhang" <haiyangz@microsoft.com>,
"Dexuan Cui" <decui@microsoft.com>,
"Michael Kelley" <mhklinux@outlook.com>,
"Long Li" <longli@microsoft.com>,
"Nam Cao" <namcao@linutronix.de>,
"Joerg Roedel" <joro@8bytes.org>,
"Suravee Suthikulpanit" <suravee.suthikulpanit@amd.com>,
"Vasant Hegde" <vasant.hegde@amd.com>,
"Will Deacon" <will@kernel.org>,
"Robin Murphy" <robin.murphy@arm.com>,
"Lorenzo Pieralisi" <lpieralisi@kernel.org>,
"Krzysztof Wilczyński" <kwilczynski@kernel.org>,
"Manivannan Sadhasivam" <mani@kernel.org>,
"Rob Herring" <robh@kernel.org>,
"Bjorn Helgaas" <bhelgaas@google.com>,
"Kees Cook" <kees@kernel.org>,
"Rafael J . Wysocki" <rafael@kernel.org>,
"Radu Rendec" <radu@rendec.net>,
"Sean Christopherson" <seanjc@google.com>,
"Kai Huang" <kai.huang@intel.com>,
"Dmitry Ilvokhin" <d@ilvokhin.com>,
"Shradha Gupta" <shradhagupta@linux.microsoft.com>,
"Christophe JAILLET" <christophe.jaillet@wanadoo.fr>,
"Thierry Reding" <treding@nvidia.com>,
"Jiri Wiesner" <jwiesner@suse.de>,
"Daniel J Blueman" <daniel@quora.org>,
linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
iommu@lists.linux.dev, linux-pci@vger.kernel.org
Subject: Re: [PATCH v4 0/4] x86/irq: Fix lost interrupts on CPU hot-unplug
Date: Mon, 14 Sep 2026 16:00:38 +0530 [thread overview]
Message-ID: <759b4eb6-2e11-40ba-9806-f467fd29f55f@linux.microsoft.com> (raw)
In-Reply-To: <20260913224842.GF2219269@liuwe-devbox-debian-v2.local>
On 9/14/2026 4:18 AM, Wei Liu wrote:
> On Wed, Sep 09, 2026 at 06:44:44AM +0000, Naman Jain wrote:
>> On CPU hot-unplug, fixup_irqs() re-injects interrupts that are still
>> pending in the outgoing CPU's IRR via the irqchip's irq_retrigger()
>> callback. The Hyper-V root partition PCI/MSI irqchip lost that callback
>> when it was converted to msi_create_parent_irq_domain(), so such a
>> pending interrupt is silently dropped, leading to lost interrupts, stalls
>> and "No irq handler for vector" messages.
>>
>> Patch 1 is the minimal, backportable fix (Fixes:/Cc: stable) that restores
>> irq_chip_retrigger_hierarchy() on the Hyper-V root partition PCI/MSI chip.
>> The equivalent guest pci-hyperv.c fix from the previous version is already
>> merged, so it is dropped here.
>>
>> Patch 2 then switches fixup_irqs() to have a fallback call to
>> irq_chip_retrigger_hierarchy() directly, if a chip does not define
>> irq_retrigger callback.
>>
>> Patch 3 makes a similar change in msi_set_affinity()
>>
>> Patch 4 then drops the now-redundant irq_retrigger() initializations.
>> This way, patch 2-4 do not need to be backported.
>>
>> Changes since v3:
>> https://lore.kernel.org/all/20260907065129.269262-1-namjain@linux.microsoft.com/
>> * Move irq_retrigger setting to hv_init_dev_msi_info() in patch 1
>> (Michael, Nam)
>> * Add if-else fallback check in msi_set_affinity() in patch 3 (Michael)
>> * Break patch 3 into two separate patches, while *keeping review tags*.
>>
>> Changes since v2:
>> https://lore.kernel.org/all/20260810090716.2325295-1-namjain@linux.microsoft.com/
>> * Add a backportable fix for Hyper-V root partition irqchip (Wei)
>> * Add a check for custom irq_retrigger implementations and add direct
>> irq_chip_retrigger_hierarchy() calls as a fallback if it is not
>> defined by a chip. (Sashiko, Michael)
>> * Removed local loop variable change, and continue using the irq_desc
>> accessor function (Michael)
>> * Did not pick "Acked-by: Manivannan Sadhasivam" as it was on v1, and v3
>> is a functionally different to some extent, specially patch 2.
>> Requesting you to please review again.
>>
>> Changes since v1:
>> https://lore.kernel.org/all/20260728135117.2888175-1-namjain@linux.microsoft.com/#t
>> * Added Review tags
>> * Adding minor clarification in commit msg of patch 2 (Shradha)
>>
>> Original RFC: https://lore.kernel.org/all/87y0f3jhd6.ffs@fw13/
>>
>> Naman Jain (4):
>> x86/hyperv: Set irq_retrigger for root partition PCI/MSI irqchip
>> x86/irq: Fall back to irq_chip_retrigger_hierarchy() in fixup_irqs()
>> x86/irq: Fall back to irq_chip_retrigger_hierarchy() in
>> msi_set_affinity()
>> x86/irq, iommu/amd, x86/hyperv, PCI: Drop redundant irq_retrigger
>> inits
>>
>
> I checked linux-next next-20260911. This series has not been applied.
>
> This patch series needs to be applied in one go, since patch 4 depends
> on patch 1.
>
> I'm fine with carrying this through the hyperv-fixes tree, or let it go
> through the x86 tree. Just let me know.
>
> Thanks,
> Wei
Hi Wei,
There was some active discussion happening on v2 of this series which
has been concluded now. It will bring minor changes. I'll send v5 now,
and you or Thomas can pick those changes as per your convenience.
Regards,
Naman
Ref: https://lore.kernel.org/all/87y0d6xpan.ffs@fw13/
prev parent reply other threads:[~2026-09-14 10:30 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-09 6:44 Naman Jain
2026-09-09 6:44 ` [PATCH v4 1/4] x86/hyperv: Set irq_retrigger for root partition PCI/MSI irqchip Naman Jain
2026-09-10 7:11 ` Nam Cao
2026-09-09 6:44 ` [PATCH v4 2/4] x86/irq: Fall back to irq_chip_retrigger_hierarchy() in fixup_irqs() Naman Jain
2026-09-09 6:44 ` [PATCH v4 3/4] x86/irq: Fall back to irq_chip_retrigger_hierarchy() in msi_set_affinity() Naman Jain
2026-09-09 6:44 ` [PATCH v4 4/4] x86/irq, iommu/amd, x86/hyperv, PCI: Drop redundant irq_retrigger inits Naman Jain
2026-09-13 22:48 ` [PATCH v4 0/4] x86/irq: Fix lost interrupts on CPU hot-unplug Wei Liu
2026-09-14 10:30 ` Naman Jain [this message]
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=759b4eb6-2e11-40ba-9806-f467fd29f55f@linux.microsoft.com \
--to=namjain@linux.microsoft.com \
--cc=bhelgaas@google.com \
--cc=bp@alien8.de \
--cc=christophe.jaillet@wanadoo.fr \
--cc=d@ilvokhin.com \
--cc=daniel@quora.org \
--cc=dave.hansen@linux.intel.com \
--cc=decui@microsoft.com \
--cc=haiyangz@microsoft.com \
--cc=hpa@zytor.com \
--cc=iommu@lists.linux.dev \
--cc=joro@8bytes.org \
--cc=jwiesner@suse.de \
--cc=kai.huang@intel.com \
--cc=kees@kernel.org \
--cc=kwilczynski@kernel.org \
--cc=kys@microsoft.com \
--cc=linux-hyperv@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=longli@microsoft.com \
--cc=lpieralisi@kernel.org \
--cc=mani@kernel.org \
--cc=mhklinux@outlook.com \
--cc=mingo@redhat.com \
--cc=namcao@linutronix.de \
--cc=radu@rendec.net \
--cc=rafael@kernel.org \
--cc=robh@kernel.org \
--cc=robin.murphy@arm.com \
--cc=seanjc@google.com \
--cc=shradhagupta@linux.microsoft.com \
--cc=suravee.suthikulpanit@amd.com \
--cc=tglx@kernel.org \
--cc=treding@nvidia.com \
--cc=vasant.hegde@amd.com \
--cc=wei.liu@kernel.org \
--cc=will@kernel.org \
--cc=x86@kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®