On 10/17/2025 3:26 PM, Wei Liu wrote: > On Fri, Oct 17, 2025 at 10:06:55PM +0000, Wei Liu wrote: >> On Fri, Oct 17, 2025 at 11:58:17AM -0700, Nuno Das Neves wrote: >>> When the MSHV_ROOT_HVCALL ioctl is executing a hypercall, and gets >>> HV_STATUS_INSUFFICIENT_MEMORY, it deposits memory and then returns >>> -EAGAIN to userspace. The expectation is that the VMM will retry. >>> >>> However, some VMM code in the wild doesn't do this and simply fails. >>> Rather than force the VMM to retry, change the ioctl to deposit >>> memory on demand and immediately retry the hypercall as is done with >>> all the other hypercall helper functions. >>> >>> In addition to making the ioctl easier to use, removing the need for >>> multiple syscalls improves performance. >>> >>> There is a complication: unlike the other hypercall helper functions, >>> in MSHV_ROOT_HVCALL the input is opaque to the kernel. This is >>> problematic for rep hypercalls, because the next part of the input >>> list can't be copied on each loop after depositing pages (this was >>> the original reason for returning -EAGAIN in this case). >>> >>> Introduce hv_do_rep_hypercall_ex(), which adds a 'rep_start' >>> parameter. This solves the issue, allowing the deposit loop in >>> MSHV_ROOT_HVCALL to restart a rep hypercall after depositing pages >>> partway through. >>> >>> Signed-off-by: Nuno Das Neves <[email protected]> >> >> In v1 you said you will add a "Fixes" tag. Where is it? > > I added this: > > Fixes: 621191d709b1 ("Drivers: hv: Introduce mshv_root module to expose > /dev/mshv to VMMs") > > Let me know if that's not correct. > Oops! That's correct, thanks.
> Wei
