On Wed, Apr 22, 2026 at 01:42:54AM +0000, Michael Kelley wrote: > From: Stanislav Kinsburskii <[email protected]> Sent: Tuesday, > April 21, 2026 7:35 AM > > > > This series refactors the mshv memory region subsystem in preparation > > for mapping populated pages into the hypervisor at movable region > > creation time, rather than relying solely on demand faulting. > > > > The primary motivation is to ensure that when userspace passes a > > pre-populated mapping for a movable memory region, those pages are > > immediately visible to the hypervisor. Previously, all movable regions > > were created with HV_MAP_GPA_NO_ACCESS on every page regardless of > > whether the backing pages were already present, deferring all mapping > > to the fault handler. This added unnecessary fault overhead and > > complicated the initial setup of child partitions with pre-populated > > memory. > > [snip] > > > > > v2: > > - Rebased on top of latest mainline, simplified the check for valid PFNs, > > added other minor cleanups and improvements. > > I'm confused about "simplified the check for valid PFNs". > I see one place in mshv_region_process_pfns() where a PFN > from the mreg_pfns[] array is checked against > MSHV_INVALID_PFN instead of doing pfn_valid(). But there > are 11 other places in the patch set where pfn_valid() is still > used, including in mshv_region_process_pfns(). >
I wanted to get sashiko's feedabck. I'll send another version with more fixes. Thanks, Stanislav > Michael > > > > > --- > > > > Stanislav Kinsburskii (7): > > mshv: Convert from page pointers to PFNs > > mshv: Add support to address range holes remapping > > mshv: Support regions with different VMAs > > mshv: Move pinned region setup to mshv_regions.c > > mshv: Map populated pages on movable region creation > > mshv: Extract MMIO region mapping into separate function > > mshv: Add tracepoint for map GPA hypercall > > > > > > drivers/hv/mshv_regions.c | 589 > > +++++++++++++++++++++++++++++----------- > > drivers/hv/mshv_root.h | 29 +- > > drivers/hv/mshv_root_hv_call.c | 53 ++-- > > drivers/hv/mshv_root_main.c | 99 +------ > > drivers/hv/mshv_trace.h | 36 ++ > > 5 files changed, 508 insertions(+), 298 deletions(-) > > >

