From: Nuno Das Neves <nunodasneves@linux.microsoft.com>
To: MUKESH RATHOR <mukeshrathor@microsoft.com>,
Michael Kelley <mhklinux@outlook.com>,
"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
"iommu@lists.linux.dev" <iommu@lists.linux.dev>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
"virtualization@lists.linux.dev" <virtualization@lists.linux.dev>
Cc: KY Srinivasan <kys@microsoft.com>,
Haiyang Zhang <haiyangz@microsoft.com>,
"wei.liu@kernel.org" <wei.liu@kernel.org>,
Dexuan Cui <decui@microsoft.com>,
"catalin.marinas@arm.com" <catalin.marinas@arm.com>,
"will@kernel.org" <will@kernel.org>,
"luto@kernel.org" <luto@kernel.org>,
"tglx@linutronix.de" <tglx@linutronix.de>,
"mingo@redhat.com" <mingo@redhat.com>,
"bp@alien8.de" <bp@alien8.de>,
"dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
"x86@kernel.org" <x86@kernel.org>,
"hpa@zytor.com" <hpa@zytor.com>,
"seanjc@google.com" <seanjc@google.com>,
"pbonzini@redhat.com" <pbonzini@redhat.com>,
"peterz@infradead.org" <peterz@infradead.org>,
"daniel.lezcano@linaro.org" <daniel.lezcano@linaro.org>,
"joro@8bytes.org" <joro@8bytes.org>,
"robin.murphy@arm.com" <robin.murphy@arm.com>,
"davem@davemloft.net" <davem@davemloft.net>,
"edumazet@google.com" <edumazet@google.com>,
"kuba@kernel.org" <kuba@kernel.org>,
"pabeni@redhat.com" <pabeni@redhat.com>,
"lpieralisi@kernel.org" <lpieralisi@kernel.org>,
"kw@linux.com" <kw@linux.com>,
"robh@kernel.org" <robh@kernel.org>,
"bhelgaas@google.com" <bhelgaas@google.com>,
"arnd@arndb.de" <arnd@arndb.de>,
"sgarzare@redhat.com" <sgarzare@redhat.com>,
"jinankjain@linux.microsoft.com" <jinankjain@linux.microsoft.com>,
"muminulrussell@gmail.com" <muminulrussell@gmail.com>,
"skinsburskii@linux.microsoft.com"
<skinsburskii@linux.microsoft.com>
Subject: Re: [EXTERNAL] RE: [PATCH 0/5] Add new headers for Hyper-V Dom0
Date: Tue, 22 Oct 2024 17:04:01 -0700 [thread overview]
Message-ID: <c426d122-4ba3-4193-80d5-a40d7554d324@linux.microsoft.com> (raw)
In-Reply-To: <d70bbad7-bcad-2031-a4e1-755b502422a4@microsoft.com>
Michael - sorry for the delay, I just got back from vacation.
On 10/10/2024 6:34 PM, MUKESH RATHOR wrote:
>
>
> On 10/10/24 11:21, Michael Kelley wrote:
> > From: Nuno Das Neves <nunodasneves@linux.microsoft.com> Sent:
> Thursday, October 3, 2024 12:51 PM
> >>
> >> To support Hyper-V Dom0 (aka Linux as root partition), many new
> >> definitions are required.
> >>
> >> The plan going forward is to directly import headers from
> >> Hyper-V. This is a more maintainable way to import definitions
> >> rather than via the TLFS doc. This patch series introduces
> >> new headers (hvhdk.h, hvgdk.h, etc, see patch #3) directly
> >> derived from Hyper-V code.
> >>
> >> This patch series replaces hyperv-tlfs.h with hvhdk.h, but only
> >> in Microsoft-maintained Hyper-V code where they are needed. This
> >> leaves the existing hyperv-tlfs.h in use elsewhere - notably for
> >> Hyper-V enlightenments on KVM guests.
> >
> > Could you elaborate on why the bifurcation is necessary? Is it an
> > interim step until the KVM code can use the new scheme as well?
It's not strictly necessary. We chose this approach in order to
minimize any potential impact on KVM and other non-Microsoft-
maintained code that uses hyperv-tlfs.h. As Mukesh mentioned below,
eventually it will be better if everyone uses the new headers.
> > Also, does "Hyper-V enlightenments on KVM guests" refer to
> > nested KVM running at L1 on an L0 Hyper-V, and supporting L2 guests?
> > Or is it the more general KVM support for mimicking Hyper-V for
> > the purposes of running Windows guests? From these patches, it
> > looks like your intention is for all KVM support for Hyper-V
> > functionality to continue to use the existing hyperv-tlfs.h file.
You're correct - "all KVM support for Hyper-V" is really what I meant.
>
> Like it says above, we are creating new dom0 (root/host) support
> that requires many new defs only available to dom0 and not any
> guest. Hypervisor makes them publicly available via hv*dk files.
>
> Ideally, someday everybody will use those, I hope we can move in
> that direction, but I guess one step at a time. For now, KVM can
> continue to use the tlfs file, and if there is no resistance, we
> can move them to hv*dk files also as next step and obsolete the
> single tlfs file.
>
> Since headers are the ultimate source of truth, this will allow
> better maintenance, better debug/support experience, and a more
> stable stack. It also enforces non-leaking of data structs from
> private header files (unfortunately has happened).
>
> Thanks
> -Mukesh
>
Thanks for providing the additional context, Mukesh.
Nuno
next prev parent reply other threads:[~2024-10-23 0:04 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-03 19:50 [PATCH 0/5] Add new headers for Hyper-V Dom0 Nuno Das Neves
2024-10-03 19:51 ` [PATCH 1/5] hyperv: Move hv_connection_id to hyperv-tlfs.h Nuno Das Neves
2024-10-07 16:24 ` Wei Liu
2024-10-03 19:51 ` [PATCH 2/5] hyperv: Remove unnecessary #includes Nuno Das Neves
2024-10-07 16:24 ` Wei Liu
2024-10-10 18:21 ` Michael Kelley
2024-10-31 18:47 ` Nuno Das Neves
2024-10-03 19:51 ` [PATCH 3/5] hyperv: Add new Hyper-V headers Nuno Das Neves
2024-10-10 18:21 ` Michael Kelley
2024-10-11 1:34 ` [EXTERNAL] " MUKESH RATHOR
2024-10-03 19:51 ` [PATCH 4/5] hyperv: Add hv_defs.h to conditionally include hyperv-tlfs.h or hvhdk.h Nuno Das Neves
2024-10-03 19:51 ` [PATCH 5/5] hyperv: Use hvhdk.h instead of hyperv-tlfs.h in Hyper-V code Nuno Das Neves
2024-10-04 15:58 ` Stanislav Kinsburskii
2024-10-05 0:07 ` Nuno Das Neves
2024-10-04 19:11 ` Simon Horman
2024-10-04 23:36 ` Nuno Das Neves
2024-10-04 21:55 ` kernel test robot
2024-10-05 1:54 ` kernel test robot
2024-10-07 16:26 ` [PATCH 0/5] Add new headers for Hyper-V Dom0 Wei Liu
2024-10-10 18:21 ` Michael Kelley
2024-10-11 1:34 ` [EXTERNAL] " MUKESH RATHOR
2024-10-23 0:04 ` Nuno Das Neves [this message]
2024-10-23 18:39 ` Michael Kelley
2024-10-23 0:51 ` Nuno Das Neves
2024-10-23 18:32 ` Michael Kelley
2024-10-31 19:05 ` Easwar Hariharan
2024-10-31 22:59 ` Nuno Das Neves
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=c426d122-4ba3-4193-80d5-a40d7554d324@linux.microsoft.com \
--to=nunodasneves@linux.microsoft.com \
--cc=arnd@arndb.de \
--cc=bhelgaas@google.com \
--cc=bp@alien8.de \
--cc=catalin.marinas@arm.com \
--cc=daniel.lezcano@linaro.org \
--cc=dave.hansen@linux.intel.com \
--cc=davem@davemloft.net \
--cc=decui@microsoft.com \
--cc=edumazet@google.com \
--cc=haiyangz@microsoft.com \
--cc=hpa@zytor.com \
--cc=iommu@lists.linux.dev \
--cc=jinankjain@linux.microsoft.com \
--cc=joro@8bytes.org \
--cc=kuba@kernel.org \
--cc=kvm@vger.kernel.org \
--cc=kw@linux.com \
--cc=kys@microsoft.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-hyperv@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=lpieralisi@kernel.org \
--cc=luto@kernel.org \
--cc=mhklinux@outlook.com \
--cc=mingo@redhat.com \
--cc=mukeshrathor@microsoft.com \
--cc=muminulrussell@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peterz@infradead.org \
--cc=robh@kernel.org \
--cc=robin.murphy@arm.com \
--cc=seanjc@google.com \
--cc=sgarzare@redhat.com \
--cc=skinsburskii@linux.microsoft.com \
--cc=tglx@linutronix.de \
--cc=virtualization@lists.linux.dev \
--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;
as well as URLs for NNTP newsgroup(s).