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]>


Reply via email to