On Mon, Feb 02, 2026 at 08:51:01AM -0800, [email protected] wrote:
> From: Michael Kelley <[email protected]>
> 
> Huge page mappings in the guest physical address space depend on having
> matching alignment of the userspace address in the parent partition and
> of the guest physical address. Add a comment that captures this
> information. See the link to the mailing list thread.
> 
> No code or functional change.
> 
> Link: 
> https://lore.kernel.org/linux-hyperv/[email protected]/T/#m0871d2cae9b297fd397ddb8459e534981307c7dc
> Signed-off-by: Michael Kelley <[email protected]>
> ---
>  drivers/hv/mshv_root_main.c | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/drivers/hv/mshv_root_main.c b/drivers/hv/mshv_root_main.c
> index 681b58154d5e..bc738ff4508e 100644
> --- a/drivers/hv/mshv_root_main.c
> +++ b/drivers/hv/mshv_root_main.c
> @@ -1389,6 +1389,20 @@ mshv_partition_ioctl_set_memory(struct mshv_partition 
> *partition,
>       if (mem.flags & BIT(MSHV_SET_MEM_BIT_UNMAP))
>               return mshv_unmap_user_memory(partition, mem);
>  
> +     /*
> +      * If the userspace_addr and the guest physical address (as derived
> +      * from the guest_pfn) have the same alignment modulo PMD huge page
> +      * size, the MSHV driver can map any PMD huge pages to the guest
> +      * physical address space as PMD huge pages. If the alignments do
> +      * not match, PMD huge pages must be mapped as single pages in the
> +      * guest physical address space. The MSHV driver does not enforce
> +      * that the alignments match, and it invokes the hypervisor to set
> +      * up correct functional mappings either way. See mshv_chunk_stride().
> +      * The caller of the ioctl is responsible for providing userspace_addr
> +      * and guest_pfn values with matching alignments if it wants the guest
> +      * to get the performance benefits of PMD huge page mappings of its
> +      * physical address space to real system memory.
> +      */

Thanks. However, I'd suggest to reduce this commet a lot and put the
details into the commit message instead. Also, why this place? Why not a
part of the function description instead, for example?

Thanks,
Stanislav

>       return mshv_map_user_memory(partition, mem);
>  }
>  
> -- 
> 2.25.1

Reply via email to