On 2/2/26 09:58, Stanislav Kinsburskii wrote:
This series extends the MSHV driver to properly handle additional memory-related error codes from the Microsoft Hypervisor by depositing memory pages when needed.Currently, when the hypervisor returns HV_STATUS_INSUFFICIENT_MEMORY during partition creation, the driver calls hv_call_deposit_pages() to provide the necessary memory. However, there are other memory-related error codes that indicate the hypervisor needs additional memory resources, but the driver does not attempt to deposit pages for these cases. This series introduces a dedicated helper function macro to identify all memory-related error codes (HV_STATUS_INSUFFICIENT_MEMORY, HV_STATUS_INSUFFICIENT_BUFFERS, HV_STATUS_INSUFFICIENT_DEVICE_DOMAINS, and HV_STATUS_INSUFFICIENT_ROOT_MEMORY) and ensures the driver attempts to deposit pages for all of them via new hv_deposit_memory() helper. With these changes, partition creation becomes more robust by handling all scenarios where the hypervisor requires additional memory deposits. v2: - Rename hv_result_oom() into hv_result_needs_memory() --- Stanislav Kinsburskii (4): mshv: Introduce hv_result_needs_memory() helper function mshv: Introduce hv_deposit_memory helper functions mshv: Handle insufficient contiguous memory hypervisor status mshv: Handle insufficient root memory hypervisor statuses drivers/hv/hv_common.c | 3 ++ drivers/hv/hv_proc.c | 54 +++++++++++++++++++++++++++++++++++--- drivers/hv/mshv_root_hv_call.c | 45 +++++++++++++------------------- drivers/hv/mshv_root_main.c | 5 +--- include/asm-generic/mshyperv.h | 13 +++++++++ include/hyperv/hvgdk_mini.h | 57 +++++++++++++++++++++------------------- include/hyperv/hvhdk_mini.h | 2 + 7 files changed, 119 insertions(+), 60 deletions(-)
for the whole series: Reviewed-by: Mukesh R <[email protected]>
