Re: [PATCH v5 10/10] Drivers: hv: Introduce mshv_root module to expose /dev/mshv to VMMs

Wei Liu
2025-03-06T17:32:08Z

On Thu, Feb 27, 2025 at 10:50:30AM -0800, Roman Kisel wrote:
>
>
>
> On 2/26/2025 3:08 PM, Nuno Das Neves wrote:
> > Provide a set of IOCTLs for creating and managing child partitions when
> > running as root partition on Hyper-V. The new driver is enabled via
> > CONFIG_MSHV_ROOT.
> >
>
> [...]
>
>
> As I understood, the changes fall into these buckets:
>
> 1. Partition management (VPs and memory). Built of the top of fd's which
> looks as the right approach. There is ref counting etc.
> 2. Scheduling. Here, there is the mature KVM and Xen code to find
> inspiration in. Xen being the Type 1 hypervisor should likely be
> closer to MSHV in my understanding.

Yes and no.

When a hypervisor-based scheduler (either classic or core) is used, the
scheduling model is the same as Xen. In this model, the hypervisor makes
the scheduling decisions.

There is a second scheduler model. In that model, the hypervisor
delegates scheduling to the Linux kernel. The Linux scheduler makes the
scheduling decisions. It is similar to KVM.

We support both. Which model to use largely depends on the workload and
the desired behaviors of the system.

This is purely informational in case people wonder why the run vp
function branches off to two different code paths.

> 3. IOCTL code allocation. Not sure how this is allocated yet given that
> the patch series has been through a multi-year review, that must be
> settled by now.
> 4. IOCTLs themselves. The majority just marshals data to the
> hypervisor.
>
> Despite the rather large size of the patch, I spot-checked the places
> where I have the chance to make an informed decision, and could not find
> anything that'd stand out as suspicious to me. Going to extrapolate that
> the patch itself should be good enough. Given that this code has been in
> development and validation for a few years, I'd vote to merge it. That
> will also enable upstreaming the rest of the VTL mode code that powers
> Azure Boost (https://github.com/microsoft/OHCL-Linux-Kernel)
>
> Reviewed-by: Roman Kisel <romank@linux.microsoft.com>
>

Thank you for the review.

Thanks,
Wei.

> --
> Thank you,
> Roman
>