1. 03 2月, 2017 1 次提交
    • J
      libxl: fix dom0 autoballooning with Xen 4.8 · f86a7a83
      Jim Fehlig 提交于
      xen.git commit 57f8b13c changed several of the libxl memory
      get/set functions to take 64 bit parameters. The libvirt
      libxl driver still uses uint32_t variables for these various
      parameters, which is particularly problematic for the
      libxl_set_memory_target() function.
      
      When dom0 autoballooning is enabled, libvirt (like xl) determines
      the memory needed to start a domain and the memory available. If
      memory available is less than memory needed, dom0 is ballooned
      down by passing a negative value to libxl_set_memory_target()
      'target_memkb' parameter. Prior to xen.git commit 57f8b13c,
      'target_memkb' was an int32_t. Subtracting a larger uint32 from
      a smaller uint32 and assigning it to int32 resulted in a negative
      number. After commit 57f8b13c, the same subtraction is widened
      to a int64, resulting in a large positive number. The simple
      fix taken by this patch is to assign the difference of the
      uint32 values to a temporary int32 variable, which is then
      passed to 'target_memkb' parameter of libxl_set_memory_target().
      
      Note that it is undesirable to change libvirt to use 64 bit
      variables since it requires setting LIBXL_API_VERSION to 0x040800.
      Currently libvirt supports LIBXL_API_VERSION >= 0x040400,
      essentially Xen >= 4.4.
      f86a7a83
  2. 02 2月, 2017 2 次提交
  3. 01 2月, 2017 3 次提交
  4. 31 1月, 2017 16 次提交
  5. 30 1月, 2017 9 次提交
  6. 27 1月, 2017 9 次提交