On 2/2/26 09:17, Stanislav Kinsburskii wrote:
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?

Fwiw, I also prefer this in the function prologue. IMO, larger comments
belong outside the function rather than inside, unless of course cases
where it has to be that way. This makes functions easier to study.

Thanks,
-Mukesh



Thanks,
Stanislav

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


Reply via email to