[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH 00 of 11] Automatic NUMA placement for xl

Hello Everyone,

This posting follows the RFC subject-ed "Automatically place guest on host's
NUMA nodes with xl" (patchbomb.1334150267@Solace , 4/11/2012),


the key bits have been pretty much rewritten, aiming at 4.2 inclusion. In fact,
automatic NUMA placement is something xm/xend does, and xl should include
something like that, for the sake of feature parity.  For the same reason, many
of the functionalities that were part of the RFC are being kept out (e.g., NUMA
aware scheduling in the hypervisor).

Of course, while at it, all the review comments the RFC got, which involved
patches that are part of this series too, have been considered and applied.

So, here it is, in some more details, what this is all about:

  1/11 libxc: abstract xenctl_cpumap to just xenctl_map
  2/11 libxl: abstract libxl_cpumap to just libxl_map
  3/11 libxc, libxl: introduce xc_nodemap_t and libxl_nodemap
  4/11 libxl: expand the libxl_{cpu,node}map API a bit
  5/11 libxl: add a new Array type to the IDL
  6/11 libxl: introduce libxl_get_numainfo()

Introduce the data structures, calls and infrastructure needed for retrieving
all the information about the NUMA-ness of the system and deal with them at the
toolstack level.

  7/11 xen: enhance dump_numa output
  8/11 xl: add more NUMA information to `xl info -n'

Are just output and debugging enhancements.

  9/11 libxl, xl: enable automatic placement of guests on NUMA nodes
 10/11 libxl, xl: heuristics for reordering NUMA placement candidates

Are where the automatic placement is really implemented. Searching for suitable
placement candidates and manipulating these candidates a bit is being done
within libxl, by adding a couple of API calls. This was not like this in the
previous version, but I really think it is something other toolstack wanting to
build on top of libxl could benefit of this, instead of re-implementing
everything from scratch. On the other hand, The key bits of the algorithm
(i.e., which candidate to chose, how, whether or not to mangle it a bit, etc.)
are implemented at the xl level.

 11/11 Some automatic NUMA placement documentation

Puts some more details about the implementation and the usage of the new
feature directly in the tree.

Thanks a lot and Regards,

<<This happens because I choose it to happen!>> (Raistlin Majere)
Dario Faggioli, Ph.D, http://retis.sssup.it/people/faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.