A domain can contain several virtual NUMA nodes, hence we introduce an array in libxl_domain_build_info.
libxl_vnode_info contains the size of memory in that node, the distance from that node to every nodes, the underlying pnode and a bitmap of vcpus. Signed-off-by: Wei Liu <wei.l...@citrix.com> Reviewed-by: Dario Faggioli <dario.faggi...@citrix.com> Cc: Ian Campbell <ian.campb...@citrix.com> Cc: Ian Jackson <ian.jack...@eu.citrix.com> Cc: Dario Faggioli <dario.faggi...@citrix.com> Cc: Elena Ufimtseva <ufimts...@gmail.com> Acked-by: Ian Campbell <ian.campb...@citrix.com> --- Changes in v4: 1. Use MemKB. Changes in v3: 1. Add commit message. --- tools/libxl/libxl_types.idl | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl index 02be466..14c7e7c 100644 --- a/tools/libxl/libxl_types.idl +++ b/tools/libxl/libxl_types.idl @@ -356,6 +356,13 @@ libxl_domain_sched_params = Struct("domain_sched_params",[ ("budget", integer, {'init_val': 'LIBXL_DOMAIN_SCHED_PARAM_BUDGET_DEFAULT'}), ]) +libxl_vnode_info = Struct("vnode_info", [ + ("memkb", MemKB), + ("distances", Array(uint32, "num_distances")), # distances from this node to other nodes + ("pnode", uint32), # physical node of this node + ("vcpus", libxl_bitmap), # vcpus in this node + ]) + libxl_domain_build_info = Struct("domain_build_info",[ ("max_vcpus", integer), ("avail_vcpus", libxl_bitmap), @@ -376,6 +383,8 @@ libxl_domain_build_info = Struct("domain_build_info",[ ("disable_migrate", libxl_defbool), ("cpuid", libxl_cpuid_policy_list), ("blkdev_start", string), + + ("vnuma_nodes", Array(libxl_vnode_info, "num_vnuma_nodes")), ("device_model_version", libxl_device_model_version), ("device_model_stubdomain", libxl_defbool), -- 1.9.1 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel