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.
Jeff Squyres [Fri, 10 Jan 2014 17:05:48 +0000 (09:05 -0800)]
Change the logic in bind.c to only include <malloc.h> if we don't have posix_memalign.
In http://www.open-mpi.org/community/lists/devel/2014/01/13619.php,
Paul Hargrove found a compiler warning on OpenBSD where <malloc.h>
exists, but is not intended to be used (and doesn't error out, so
AC_CHECK_HEADERS says its ok).
This is equivalent to hwloc_get_proc_last_cpu_location(THREAD) on Linux,
but it's better for clarity to have this Linux specific call as well
(and it was already implemented internally)
Rob Latham [Fri, 6 Dec 2013 00:09:06 +0000 (09:09 +0900)]
automake subdir-object mode needs check for -c -o
Older automake versions (at least 1.13.1) will complain if we asked for subdir
mode and we did not verify that both -c and -o flags work (AM_PROG_CC_C_O)
Brice Goglin [Wed, 6 Nov 2013 08:49:00 +0000 (09:49 +0100)]
Remove Cairo dependency on X11 and factorize X11 tests
Per discussion on the mailing list, it doesn't look like Cairo needs
X11 any more (it doesn't on OS X to generate PDFs and PNGs). So
remove the dependency in configure.ac.
Also, move the X11 tests from outside of the Cairo tests (and outside
of the GL tests) to be in the main configure logic.
By the way, rename HWLOC_HAVE_X11 into HWLOC_HAVE_X11_KEYSYM to avoid
confusion between Xlib.h/XOpenDisplay being available (what GL needs)
and Xutil.h+keysym.h being available too (what lstopo/X11 needs).
Brice Goglin [Thu, 17 Oct 2013 17:04:50 +0000 (19:04 +0200)]
linux/mic: add a MICSerialNumber info attribute when running inside the MIC
OMPI people want an easy way to recognize MICs and nodes using hwloc.
We already have MICSerialNumber inside OS devices in the host topology,
add the same to the root object of MIC topologies.
Unfortunately, we couldn't find anything better than parsing /proc/elog
to find that number.
Jeff Squyres [Fri, 4 Oct 2013 02:19:48 +0000 (19:19 -0700)]
Fix make_nightly_snapshot processing.
Leave *only one place* where "git desribe" is invoked and set into the
snapshot_version field in VERSION: the make_nightly_snapshot script.
distscript.csh no longer twiddles the VERSION file.
Jeff Squyres [Thu, 3 Oct 2013 14:50:55 +0000 (10:50 -0400)]
Updates for tarball generation to handle new git infrastructure.
- No longer download latest config.sub|guess in distscript.csh; the
GNU Autotools are updated frequently enough these days that the
bundled versions are fine
- Rename nightly/create_tarball.sh -> nightly/make_snapshot_tarball
- Add "snapshot" and "snapshot_version" fields in VERSION; removed
want_repo_rev and repo_rev fields
- Updated make_dist_tarball and make_snapshot_tarball to handle git
- Do not handle SVN or Mercurial repos any more
- Somewhat simplified hwloc_get_version.sh:
- Never fill in a repo version number; always just report what is in
VERSION already (and error out if there's not enough information
in VERSION). Only distscript.csh will insert a value into
VERSION:snapshot_version (when needed).
- Removed extra CLI options (e.g., get major/minor/etc. version
number components)
hwloc-calc.h: make location parsing more reliab...
hwloc-calc.h: make location parsing more reliable and add useful error messages
Use strtol() instead of atoi() when parsing type strings, depth, and ranges,
and error-out if some spurious characters are found.
Will avoid unexpected results when using wrong separators.
Thanks for Bertrand Putigny for reporting the problem by mistake.
core: don't duplicate distances when duplicatin...
core: don't duplicate distances when duplicating objects
These distances are recreated at the end of the build
(except in custom topologies because multinode distance
matrices are not well supported. Refs #48).
headers: move the header file documentation to ...
headers: move the header file documentation to groups
We don't have a file index, so putting doxygen docs in the file
header is almost useless. Move/add interesting things to the
doxy groups underneath so that it actually appears in the generated
doc.
Brice Goglin [Tue, 27 Aug 2013 15:38:09 +0000 (15:38 +0000)]
lstopo: add a lstopoStyle info attribute to cha...
lstopo: add a lstopoStyle info attribute to change colors
This attribute must be a semi-colon-separated list of "<attr>=#xxyyzz".
<attr> can be Background (to change the box color), Background2
(other box color), Text (main text color) or Text2 (other text color).
Numbers are hexidecimal, truncated to [0-255].
Details in CUSTOM COLORS in the lstopo(1) manpage.
Initialize everything to 0xff (unknown) before reading the config space,
remove useless size checks everything, and rely on the callee to actually
check things it reads (it already did).
libpci doesn't report the length of the config space it actually reads,
so we can't safely rely on config space size checks. So this actually stop
using unitialized config space data when not running as root
(between 65th and 256th bytes, where we look for capabilities and link speed).