Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hwloc xen topology v5 #3

Open
wants to merge 3 commits into
base: x86-common-for-xen
Choose a base branch
from

Conversation

bernhardkaindl
Copy link

andyhhp and others added 3 commits February 13, 2014 13:10
This requires the following patch (which is applicable for backport to at
least Xen 4.3):

http://xenbits.xen.org/gitweb/?p=people/andrewcoop/xen.git;a=commitdiff;h=c1faa00881ba1de42e3aff6a7009a69ff7940b19

which implements a cleaner API for xc_{topology,numa}info.

This patch provides basic topology enumeration in hwloc.  Xen support should
be built automatically given an appropriate version of libxenctrl (i.e. with
the above patch) in the build environment.

Xen support can be built as a plugin (to remove direct dependences on
libxenctrl), and is disabled by default.  In dom0, use

`HWLOC_COMPONENETS=xen ./lstop ...`

to enable Xen system topology enumeration in preference to the faked topology
which the kernel gets to see.

This patch provides basic support for PUs, cores, sockets and numa nodes, with
numa nodes being annotated with availabe memory[1].  It has been sanity tested
on various different servers in our testing pool.

Some of this patch includes folded patches from Brice Goglin <Brice.Goglin@inria.fr>

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

[1] It turns out Xen's idea of memory attached to a node includes pages
mapping IO regions.  This is a hypervisor bug has been raised on xen-devel.
Use the brand new hwloc_x86_discovery() function to allow the common x86 code
to enumerate cache information under Xen.

The following patch is required

http://xenbits.xen.org/gitweb/?p=people/andrewcoop/xen.git;a=commitdiff;h=51cfdf2dfd5fd905f136418810e250cd21c6643c

which implements the xc_xen_cpuid() function in libxc and Xen.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants