[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID:
<SN6PR02MB4157F84C1CE53A12F042C71BD4D52@SN6PR02MB4157.namprd02.prod.outlook.com>
Date: Fri, 7 Mar 2025 23:45:10 +0000
From: Michael Kelley <mhklinux@...look.com>
To: Nuno Das Neves <nunodasneves@...ux.microsoft.com>,
"linux-hyperv@...r.kernel.org" <linux-hyperv@...r.kernel.org>,
"x86@...nel.org" <x86@...nel.org>, "linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>, "linux-kernel@...r.kernel.org"
<linux-kernel@...r.kernel.org>, "linux-arch@...r.kernel.org"
<linux-arch@...r.kernel.org>, "linux-acpi@...r.kernel.org"
<linux-acpi@...r.kernel.org>
CC: "kys@...rosoft.com" <kys@...rosoft.com>, "haiyangz@...rosoft.com"
<haiyangz@...rosoft.com>, "wei.liu@...nel.org" <wei.liu@...nel.org>,
"decui@...rosoft.com" <decui@...rosoft.com>, "catalin.marinas@....com"
<catalin.marinas@....com>, "will@...nel.org" <will@...nel.org>,
"tglx@...utronix.de" <tglx@...utronix.de>, "mingo@...hat.com"
<mingo@...hat.com>, "bp@...en8.de" <bp@...en8.de>,
"dave.hansen@...ux.intel.com" <dave.hansen@...ux.intel.com>, "hpa@...or.com"
<hpa@...or.com>, "daniel.lezcano@...aro.org" <daniel.lezcano@...aro.org>,
"joro@...tes.org" <joro@...tes.org>, "robin.murphy@....com"
<robin.murphy@....com>, "arnd@...db.de" <arnd@...db.de>,
"jinankjain@...ux.microsoft.com" <jinankjain@...ux.microsoft.com>,
"muminulrussell@...il.com" <muminulrussell@...il.com>,
"skinsburskii@...ux.microsoft.com" <skinsburskii@...ux.microsoft.com>,
"mrathor@...ux.microsoft.com" <mrathor@...ux.microsoft.com>,
"ssengar@...ux.microsoft.com" <ssengar@...ux.microsoft.com>,
"apais@...ux.microsoft.com" <apais@...ux.microsoft.com>,
"Tianyu.Lan@...rosoft.com" <Tianyu.Lan@...rosoft.com>,
"stanislav.kinsburskiy@...il.com" <stanislav.kinsburskiy@...il.com>,
"gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
"vkuznets@...hat.com" <vkuznets@...hat.com>, "prapal@...ux.microsoft.com"
<prapal@...ux.microsoft.com>, "muislam@...rosoft.com"
<muislam@...rosoft.com>, "anrayabh@...ux.microsoft.com"
<anrayabh@...ux.microsoft.com>, "rafael@...nel.org" <rafael@...nel.org>,
"lenb@...nel.org" <lenb@...nel.org>, "corbet@....net" <corbet@....net>
Subject: RE: [PATCH v5 08/10] x86: hyperv: Add mshv_handler irq handler and
setup function
From: Nuno Das Neves <nunodasneves@...ux.microsoft.com> Sent: Friday, March 7, 2025 3:30 PM
>
> On 3/7/2025 9:44 AM, Michael Kelley wrote:
> > From: Nuno Das Neves <nunodasneves@...ux.microsoft.com> Sent: Wednesday, February 26, 2025 3:08 PM
> >
> >>
> >> This will handle SYNIC interrupts such as intercepts, doorbells, and
> >> scheduling messages intended for the mshv driver.
> >
> > Could you provide a bit more detailed commit message? How does
> > the mshv_handler() relate to the vmbus_handler()? From the code
> > mshv_handler() goes first, and I'm assuming it processes what it
> > knows about (intercepts, doorbells, scheduling messages?) and
> > then hands off control to the vmbus_handler() to handle the usual
> > VMbus-related message and channel interrupts. But it would be
> > nice to have the commit message or code comments describe the
> > overall intent and any obscure aspects of the relationship.
> >
> > And avoid references to "This" or "This patch". :-)
> >
>
> You've described it pretty well, I don't know if there's too much
> more to say given this patch doesn't introduce the handler code.
>
> I can try to improve it, something like:
> "
> mshv_handler() will be used to process messages related to managing
> guest partitions such as intercepts, doorbells, and scheduling messages.
>
> In a (non-nested) root partition, the same interrupt vector is shared
> between the vmbus and mshv_root drivers.
>
> Introduce a stub for mshv_handler() and call it in
> sysvec_hyperv_callback alongside vmbus_handler().
>
> Even though both handlers will be called for every Hyper-V interrupt,
> the messages for each driver are delivered to different offsets within
> the SYNIC message page, so they won't step on each other.
> "
>
> Does that work?
Yes, that works. I was going to ask how the two handlers could
Both be used on the same interrupt, and you've provided the
explanation, which is perfect. ;-)
Minor tweak: Start the first sentence as an imperative:
Add mshv_handler() to process messages related .....
Michael
Powered by blists - more mailing lists