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

Distrib #370

Open
wants to merge 135 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
135 commits
Select commit Hold shift + click to select a range
41cb2b8
pci: make Gen5 link speed official
bgoglin May 22, 2019
d93548d
tests: add a x86+linux test
bgoglin May 23, 2019
7dfc677
contrib/ci.inria.fr: fix the retrieval of the current branch name
bgoglin May 23, 2019
c1d84c0
export LDFLAGS upstream in embedded builds.
pavanbalaji May 25, 2019
2cd3e9d
API: add a "dont_merge" group attribute
bgoglin Mar 13, 2019
f3ad5a4
x86: add HWLOC_DONT_MERGE_DIE_GROUPS env var to keep Die groups
bgoglin Mar 13, 2019
c300967
xml+synthetic/import: forward compatibility for possible future Die/T…
bgoglin Mar 14, 2019
3763844
linux/sysfs: abstract-out the functions to find the cpu/node sysfs di…
bgoglin Mar 31, 2019
93572b4
linux/sysfscpu: add support for new topology filenames
bgoglin Feb 25, 2019
5a38247
linux/sysfscpu: add support for dies (as a group for now)
bgoglin Feb 25, 2019
a54a088
linux/sysfscpu: remove the E5v3 CoD split-package kernel bug workaround
bgoglin Feb 25, 2019
4f2be1f
linux/sysfscpu: reduce the scope of some bitmap variables
bgoglin Feb 25, 2019
aa1b81e
API: add a new "Die" object
bgoglin Feb 25, 2019
b953f32
linux+x86: use the new Die object instead of Groups
bgoglin Feb 26, 2019
f4bbc5b
xml: import/export Die from/to v1 as "Group(Die)"
bgoglin Feb 26, 2019
6ac3a72
lstopo/draw: display die logical index by default
bgoglin Mar 21, 2019
9ccfefe
tests/linux: add a fake (Qemu-generated) case with CPUID.1f Dies
bgoglin May 3, 2019
14c2547
doxy: update groups vs v2 Extended Topology Enumeration
bgoglin May 3, 2019
829d3d7
linux: don't forget to insert the distance matrix when annotating
bgoglin May 30, 2019
6180d0e
linux: reoder annotated before parsing/inserting distances
bgoglin May 30, 2019
782e449
NEWS: die and new sysfs cpu filenames will be Linux 5.3, not 5.2
bgoglin May 30, 2019
2a5dccc
.github/issue_template.md: random improvements
bgoglin May 30, 2019
d2b7966
gather-cpuid: add -s --silent for removing verbose messages
bgoglin May 30, 2019
e2dd78b
gather-topology: include the output of gather-cpuid by default when a…
bgoglin May 30, 2019
6e2f5ca
NEWS: bring 1.11.13 and 2.0.4 bullets in master
bgoglin Jun 10, 2019
fe97bb7
contrib/dist/publish_doc: fix when not running from the tarball root
bgoglin Jun 10, 2019
9d6d660
pci: handle a malloc failure
bgoglin Jun 12, 2019
ec99b36
shmem: handle some malloc failures
bgoglin Jun 12, 2019
562d58e
xml/export: handle malloc failures in export_safestrdup()
bgoglin Jun 12, 2019
0652690
core: handle malloc failures when allocating objects
bgoglin Jun 12, 2019
d6d6e10
core: handle malloc failures when building normal levels
bgoglin Jun 12, 2019
2ff9e3d
core: handle malloc failures when building special levels
bgoglin Jun 12, 2019
1a0e956
hwloc-ps.www: bump dependency on "open" node package
bgoglin Jun 20, 2019
03669ea
contrib/ci.inria.fr: update sonarqube server
bgoglin Jun 20, 2019
2f577de
utils: don't force XML/SYNTHETIC_VERBOSE when already set to 0 in the…
bgoglin Jun 21, 2019
819c0cd
linux: don't leak the dax devices directory
bgoglin Jul 1, 2019
cc3dd60
distances: fix API comment indentation
bgoglin Jul 1, 2019
3b0efae
distances: add a hidden id field before public distances
bgoglin Nov 10, 2017
07e03ef
API: add hwloc_distances_release_remove()
bgoglin Jun 28, 2019
c3c2aa8
core: add a name to internal distances structure
bgoglin Jun 26, 2019
1c9ced4
API: add hwloc_distances_get_name() to retrieve the name of a distanc…
bgoglin Jun 26, 2019
fc603c9
API: add hwloc_distances_get_by_name()
bgoglin Jul 1, 2019
3e4bd65
xml/export/distances: abstract-out the function that exports a single…
bgoglin Jun 21, 2019
e98d365
xml/import/distances2: add a missing error message
bgoglin Jun 21, 2019
e8c2888
xml/import/distances2: fix some error messages
bgoglin Jun 21, 2019
7de88a5
components: find() doesn't need to support NULL name anymore
bgoglin Jul 4, 2019
fff3c5a
components: fix the forcing of the pre-v2.0 linuxpci component throug…
bgoglin Jul 4, 2019
6c2e914
components: use blacklisting for managing components excluded in HWLO…
bgoglin Jul 4, 2019
ff7b59a
doxy: remove the devel doc about adding components/plugins
bgoglin Jul 4, 2019
87daabc
distances: support distances between objects whose types are in multi…
bgoglin Jun 18, 2019
ccd84a3
distances: allow inserting distance matrices between objects of diffe…
bgoglin Mar 5, 2019
9946e54
xml/distances: add support for heterogeneous distances
bgoglin Jun 21, 2019
5b78932
tests: add a heterogeneous distances in tests/hwloc/hwloc_distances.c
bgoglin Jun 24, 2019
4f0ec48
tests/xml: add a test with heterogeneous distances
bgoglin Jun 24, 2019
b0a2e82
distances: hwloc_distances_get_by_type() isn't inline on top of by_de…
bgoglin Jun 30, 2019
29ec736
distances: fix some leaks of the array of heterogeneous types
bgoglin Jul 11, 2019
0ce91be
linux: fix a memory leak in the KNL case
bgoglin Jul 11, 2019
dc88241
xml/export/v1/memory: change a variable to signed int
bgoglin Jul 11, 2019
c287f5c
API: fix the doc of hwloc_topology_get_*set
bgoglin Jul 12, 2019
a37b191
internal+shmem: unbump the topology ABI
bgoglin Jul 15, 2019
7afed19
distances: reorganize and clarify internal structure fields
bgoglin Jul 15, 2019
1973068
distances: use a generic flag bitmask for internal distances flags
bgoglin Jul 15, 2019
0937067
utils: bring back tests under mingw32
bgoglin Jul 16, 2019
32992ad
tests/lstopo: fix some messages
bgoglin Jul 15, 2019
ac5ef05
lstopo: add (undocumented) shmem import/export
bgoglin Jul 15, 2019
0d3b01f
lstopo: add a shmem test
bgoglin Jul 16, 2019
7cf08d5
configure: reindent chmoding-scripts
bgoglin Jul 16, 2019
d68d127
lstopo/shmem: fix some printf format issues
bgoglin Jul 17, 2019
b056c66
tests+example: fix some printf format warnings
bgoglin Jul 28, 2019
07f9e9c
tests: add a basic test for static/dynamic api version
bgoglin Jul 29, 2019
c807a49
tests/api: fix a typo
bgoglin Jul 29, 2019
6357cdc
.github: add contributing.md
bgoglin Jul 30, 2019
e934640
linux: only close the root_fd if needed
bgoglin Jul 31, 2019
0f5a0cd
components: remove stringified component types
bgoglin Apr 17, 2019
f107fa8
core: move the discovery status to the caller
bgoglin Jul 4, 2019
0156c58
core: abstract-out the iterations over backends' discover() callbacks
bgoglin Apr 17, 2019
8e19b0b
core: use phases for component types and for splitting discovery steps
bgoglin Apr 17, 2019
e79c628
components: add many more phases
bgoglin May 4, 2019
65f2f9f
components: pass the mask of excluded_phases to the instantiate() cal…
bgoglin Jul 8, 2019
518c378
components: allow backends to dynamically disable some phases
bgoglin Jul 12, 2019
0772109
components: allow blacklisting of individual phases
bgoglin Jul 17, 2019
23ff4d7
linuxio: split in phases
bgoglin May 4, 2019
9ee8114
components: cleanup the managing of linuxpci->linuxio component renaming
bgoglin Aug 5, 2019
6c585b5
pci+linuxio: remove the PCI_DONE discovery status flag
bgoglin May 4, 2019
913d990
pci/names: use pci_get_strings() to get vendor/device names
bgoglin Apr 26, 2019
4a5bb53
pci: split a annotate discovery phase for vendor/device names
bgoglin May 4, 2019
ba40ddf
fsroot+pci: allow the pci backend to add vendor/device ids on modifie…
bgoglin May 4, 2019
e3c32f1
components: add envvar to annotate global components
bgoglin May 6, 2019
a95ee37
linux: merge the linuxio component back into the main linux component
bgoglin May 6, 2019
10e86cd
tests/fake: check a TWEAK phase in the fake component
bgoglin Jul 17, 2019
95e01aa
utils/calc+bind: add --no-smt to keep a single PU per core
bgoglin Aug 6, 2019
e06d3b6
lstopo: add --no-smt which just ignore PUs as existing filters
bgoglin Aug 6, 2019
77af96d
doxy: make a specific FAQ section about api/abi versions
bgoglin Aug 5, 2019
fce46ae
doxy: add entries about XML/synthetic/shmem compatibility between rev…
bgoglin Aug 6, 2019
82453e0
hwloc-calc.1: use "all" instead of "machine:0"
bgoglin Aug 7, 2019
3da00f6
hwloc-bind/calc.1: examples with --no-smt
bgoglin Aug 7, 2019
9fbab19
keep_structure: only merge levels which are actually parent/children
bgoglin Aug 9, 2019
b8001fb
tests/x86: add an intel cascadelake example
bgoglin Sep 5, 2019
5636b0b
nolibxml: fix a the exporting of content inside a xml node
bgoglin Sep 18, 2019
ef93108
linux: add HWLOC_USE_NUMA_DISTANCES envvar to disable new node locali…
bgoglin Sep 18, 2019
e2c0def
solaris: also support HWLOC_USE_NUMA_DISTANCES env var
bgoglin Sep 18, 2019
51ff3ed
linuxio: ude dev_port in favor of dev_id when available in net device…
bgoglin Sep 18, 2019
962225e
lstopo/draw: make sure we always remove the separator between PU boxes
bgoglin Sep 19, 2019
086382b
NEWS: cleanup for 2.1
bgoglin Sep 20, 2019
32a00af
.gitignore: update
bgoglin Sep 23, 2019
74d90f9
NEWS: missing line
bgoglin Sep 23, 2019
0b4be95
Revert the unrelated VERSION change in ".gitignore: update"
bgoglin Sep 23, 2019
2c5f277
VERSION: master is now 2.2.0
bgoglin Sep 23, 2019
23f6cf0
lstopo/draw: fix (again) the separator between boxes
bgoglin Sep 24, 2019
b42cfd7
contrib/windows: better build directories to avoid conflicts between …
bgoglin Sep 25, 2019
902b8e8
contrib/windows: move dependencies to each tool vcxproj file
bgoglin Sep 25, 2019
228d922
contrib/windows: add SolutionGuid
bgoglin Sep 25, 2019
1628524
contrib/windows: bump the default VS version to something recent
bgoglin Sep 25, 2019
9c63754
contrib/windows: build for Windows 10 by default
bgoglin Sep 25, 2019
245cab4
contrib/windows: update README
bgoglin Sep 25, 2019
a052465
contrib/ci.inria.fr: fix a typo in verbose messages
bgoglin Oct 1, 2019
788281b
contrib/ci.inria.fr: better names for sonarqube build parameters
bgoglin Oct 1, 2019
3f07103
contrib/ci.inria.fr: add a coverity job
bgoglin Oct 1, 2019
852bcb4
contrib/ci.inria.fr: fix quotes to avoid invalid error messages
bgoglin Oct 2, 2019
740c88e
linux+API: Remove support for Intel Xeon Phi (MIC, Knights Corner) co…
bgoglin Oct 4, 2019
ef32791
doxy: fix a typo
bgoglin Oct 16, 2019
81126f3
doxy+rename: clarify capital name renaming
bgoglin Oct 16, 2019
fb22c1c
Add functions for distributing objects of the topology
Oct 20, 2019
3bef693
xml/export: cleanup the exporting of allowed sets
bgoglin Oct 21, 2019
abfa3dd
core: AND allowed sets with normal sets in the allow(LOCAL) case
bgoglin Oct 21, 2019
e62d3d8
utils: fix --flags/--thissystem when using a fake fsroot or cpuid dir…
bgoglin Oct 21, 2019
84cf88f
linux: fix a mntent leak on failure to allocate a buffer
bgoglin Oct 21, 2019
4974f11
implement new policy in hwloc-distrib utility
Oct 21, 2019
b761026
update man page for new distrib command
Oct 21, 2019
5cf6a5a
Various fixes
Oct 21, 2019
51be27c
Various fixes
Oct 21, 2019
3f6eee3
distrib API renaming
Oct 22, 2019
2fd3172
remove compare fn cast
Oct 22, 2019
9533b3b
add distrib to hwloc build
Oct 22, 2019
cbb230a
fix visualstudio build
Oct 22, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
31 changes: 31 additions & 0 deletions .github/contributing.md
@@ -0,0 +1,31 @@
# License and Signed-off-by token

In order to ensure that we can keep distributing hwloc under our
[open source license](/COPYING), we need to ensure that all
contributions are compatible with that license.

To that end, we require that all Git commits contributed to hwloc
have a "Signed-off-by" token indicating that the commit author agrees
with [Open MPI's Contributor's
Declaration](https://github.com/open-mpi/ompi/wiki/Administrative-rules#contributors-declaration).

If you have not already done so, please ensure that:

1. Every commit contains exactly the "Signed-off-by" token. You can
add this token via `git commit -s`.
1. The email address after "Signed-off-by" must match the Git commit
email address.

# Copyright

You may also update the copyright headers whenever you modify
a file. `contrib/update-my-copyright.pl` may help you doing so.
It requires you to set the `HWLOC_COPYRIGHT_FORMAT_NAME` environment
to something like `Inria. All rights reserved.`
and `HWLOC_COPYRIGHT_SEARCH_NAME` to something like `Inria`.

You may even call `contrib/update-my-copyright.pl --check-only` from
the git pre-commit hook so that it prevents committing without
updated copyright headers (unless `--no-verify` is given).

Major contributors are also listed in the [Authors](/AUTHORS) file.
6 changes: 3 additions & 3 deletions .github/issue_template.md
Expand Up @@ -27,9 +27,8 @@
If your issue consists in a wrong topology detection, we also need the following for debugging remotely:

* On Linux, run `hwloc-gather-topology myhost` and post the `myhost.*` files that it will generate. Note that this tool may be slow on large nodes or when I/O is enabled.
* On MacOS, `sysctl hw` and `sysctl machdep.cpu`
* On Solaris, `kstat cpu_info` and `lgrp_info -a`
* On BSD, `sysctl hw`
* On Solaris, `kstat -C cpu_info`, `lgrpinfo -a` and `psrinfo`
* On MacOS and BSD, `sysctl hw` and `sysctl machdep`
* On BSD x86 platforms, if using hwloc >= 2.0, also run `hwloc-gather-cpuid` and post an archive of the `cpuid` that was generated.
* On Windows, `coreinfo -cgnlsm`

Expand All @@ -38,3 +37,4 @@ If your issue consists in a wrong topology detection, we also need the following
You may need to archive the output from the above commands into a `.zip` or `.tar.gz` (not `.bz2`!) file before Github will allow you to drag-n-drop the file into the issue to attach it.

Note that upgrading your operating system (e.g., Linux kernel) and platform firmwares (e.g., BIOS) might help solving issues about wrong topology detection.
Some known issues are listed at https://github.com/open-mpi/hwloc/wiki/Linux-kernel-bugs
4 changes: 3 additions & 1 deletion .gitignore
Expand Up @@ -112,7 +112,6 @@ test-suite.log
/tests/hwloc/hwloc_iodevs
/tests/hwloc/xmlbuffer
/tests/hwloc/gl
/tests/hwloc/intel-mic
/tests/hwloc/linux-libnuma
/tests/hwloc/glibc-sched
/tests/hwloc/openfabrics-verbs
Expand All @@ -130,6 +129,8 @@ test-suite.log

/tests/hwloc/x86/test-topology.sh

/tests/hwloc/x86+linux/test-topology.sh

/tests/hwloc/xml/test-topology.sh

/tests/hwloc/embedded/aclocal.m4
Expand Down Expand Up @@ -197,6 +198,7 @@ test-suite.log
/utils/lstopo/lstopo-no-graphics
/utils/lstopo/lstopo-no-graphics.1
/utils/lstopo/test-lstopo.sh
/utils/lstopo/test-lstopo-shmem.sh
/utils/lstopo/test-*.sh.log
/utils/lstopo/test-*.sh.trs

Expand Down
67 changes: 60 additions & 7 deletions NEWS
Expand Up @@ -16,9 +16,16 @@ bug fixes (and other actions) for each version of hwloc since version
0.9.


Version 2.2.0
-------------
* Remove support for Intel Xeon Phi (MIC, Knights Corner) co-processors.


Version 2.1.0
-------------
* API
+ Add a new "Die" object (HWLOC_OBJ_DIE) for upcoming x86 processors
with multiple dies per package, in the x86 and Linux backends.
+ Add the new HWLOC_OBJ_MEMCACHE object type for memory-side caches.
- They are filtered-out by default, except in command-line tools.
- They are only available on very recent platforms running Linux 5.2+
Expand All @@ -34,22 +41,32 @@ Version 2.1.0
+ Improve the API for dealing with disallowed resources
- HWLOC_TOPOLOGY_FLAG_WHOLE_SYSTEM is replaced with FLAG_INCLUDE_DISALLOWED
and --whole-system command-line options with --disallowed.
Former names are still accepted for backward compatibility.
. Former names are still accepted for backward compatibility.
- Add hwloc_topology_allow() for changing allowed sets after load().
- Add the HWLOC_ALLOW=all environment variable to totally ignore
administrative restrictions such as Linux Cgroups.
- Add disallowed_pu and disallowed_numa bits to the discovery support
structure.
+ Group objects have a new "dont_merge" attribute to prevent them from
being automatically merged with identical parent or children.
+ Add more distances-related features:
- Add hwloc_distances_get_name() to retrieve a string describing
what a distances structure contain.
- Add hwloc_distances_get_by_name() to retrieve distances structures
based on their name.
- Add hwloc_distances_release_remove()
- Distances may now cover objects of different types with new kind
HWLOC_DISTANCES_KIND_HETEROGENEOUS_TYPES.
* Backends
+ Add support for Linux 5.3 new sysfs cpu topology files with Die information.
+ Add support for Intel v2 Extended Topology Enumeration in the x86 backend.
Tiles, Modules and Dies are exposed as Groups for now.
+ Improve memory locality on Linux by using HMAT initiators (exposed
since Linux 5.2+), and NUMA distances for CPU-less NUMA nodes.
+ The x86 now properly handles offline CPUs.
+ The x86 backend now properly handles offline CPUs.
+ Detect the locality of NVIDIA GPU OpenCL devices.
+ Ignore NUMA nodes that correspond to NVIDIA GPU by default.
- They may be kept if HWLOC_KEEP_NVIDIA_GPU_NUMA_NODES=1 in the environment.
Fix their CPU locality and add info attributes to identify them.
- They may be unignored if HWLOC_KEEP_NVIDIA_GPU_NUMA_NODES=1 in the environment.
- Fix their CPU locality and add info attributes to identify them.
Thanks to Max Katz and Edgar Leon for the help.
+ Add support for IBM S/390 drawers.
+ Rework the heuristics for discovering KNL Cluster and Memory modes
Expand All @@ -60,12 +77,17 @@ Version 2.1.0
+ Expose Linux DAX devices as hwloc Block OS devices.
+ Remove support for /proc/cpuinfo-only topology discovery in Linux
kernel prior to 2.6.16.
+ Disable POWER device-tree-based topology on Linux by default.
- It may be reenabled by setting HWLOC_USE_DT=1 in the environment.
+ Discovery components are now divided in phases that may be individually
blacklisted.
- The linuxio component has been merged back into the linux component.
* Tools
+ lstopo
- lstopo factorizes objects by default in the graphical output when
there are more than 4 identical children.
New options --no-factorize and --factorize may be used to configure this.
Also hit the 'f' key to disable factorizing in interactive outputs.
. New options --no-factorize and --factorize may be used to configure this.
. Hit the 'f' key to disable factorizing in interactive outputs.
- Both logical and OS/physical indexes are now displayed by default
for PU and NUMA nodes.
- The X11 and Windows interactive outputs support many keyboard
Expand All @@ -78,9 +100,27 @@ Version 2.1.0
See dynamic_SVG_example.html for an example.
+ Add --nodeset options to hwloc-calc for converting between cpusets and
nodesets.
+ Add --no-smt to lstopo, hwloc-bind and hwloc-calc to ignore multiple
PU in SMT cores.
+ hwloc-annotate may annotate multiple locations at once.
+ Add a HTML/JS version of hwloc-ps. See contrib/hwloc-ps.www/README.
+ Add bash completions.
* Misc
+ Add several FAQ entries in "Compatibility between hwloc versions"
about API version, ABI, XML, Synthetic strings, and shmem topologies.


Version 2.0.4 (also included in 1.11.13 when appropriate)
-------------
* Add support for Linux 5.3 new sysfs cpu topology files with Die information.
* Add support for Intel v2 Extended Topology Enumeration in the x86 backend.
* Tiles, Modules and Dies are exposed as Groups for now.
+ HWLOC_DONT_MERGE_DIE_GROUPS=1 may be set in the environment to prevent
Die groups from being automatically merged with identical parent or children.
* Ignore NUMA node information from AMD topoext in the x86 backend,
unless HWLOC_X86_TOPOEXT_NUMANODES=1 is set in the environment.
* Group objects have a new "dont_merge" attribute to prevent them from
being automatically merged with identical parent or children.


Version 2.0.3 (also included in 1.11.12 when appropriate)
Expand Down Expand Up @@ -267,6 +307,19 @@ Version 2.0.0
+ hwloc now requires a C99 compliant compiler.


Version 1.11.13 (also included in 2.0.4)
---------------
* Add support for Linux 5.3 new sysfs cpu topology files with Die information.
* Add support for Intel v2 Extended Topology Enumeration in the x86 backend.
* Tiles, Modules and Dies are exposed as Groups for now.
+ HWLOC_DONT_MERGE_DIE_GROUPS=1 may be set in the environment to prevent
Die groups from being automatically merged with identical parent or children.
* Ignore NUMA node information from AMD topoext in the x86 backend,
unless HWLOC_X86_TOPOEXT_NUMANODES=1 is set in the environment.
* Group objects have a new "dont_merge" attribute to prevent them from
being automatically merged with identical parent or children.


Version 1.11.12 (also included in 2.0.3)
---------------
* Fix a corner case of hwloc_topology_restrict() where children would
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Expand Up @@ -8,7 +8,7 @@
# Please update HWLOC_VERSION* in contrib/windows/hwloc_config.h too.

major=2
minor=1
minor=2
release=0

# greek is used for alpha or beta release tags. If it is non-empty,
Expand Down
7 changes: 4 additions & 3 deletions config/hwloc.m4
@@ -1,6 +1,6 @@
dnl -*- Autoconf -*-
dnl
dnl Copyright © 2009-2018 Inria. All rights reserved.
dnl Copyright © 2009-2019 Inria. All rights reserved.
dnl Copyright © 2009-2012, 2015-2017 Université Bordeaux
dnl Copyright © 2004-2005 The Trustees of Indiana University and Indiana
dnl University Research and Technology
Expand Down Expand Up @@ -217,8 +217,7 @@ EOF])
AC_MSG_RESULT([Linux])
hwloc_components="$hwloc_components linux"
if test "x$enable_io" != xno; then
hwloc_components="$hwloc_components linuxio"
AC_DEFINE(HWLOC_HAVE_LINUXIO, 1, [Define to 1 if building the Linux I/O component])
AC_DEFINE(HWLOC_HAVE_LINUXIO, 1, [Define to 1 for I/O discovery in the Linux component])
hwloc_linuxio_happy=yes
if test x$enable_pci != xno; then
AC_DEFINE(HWLOC_HAVE_LINUXPCI, 1, [Define to 1 if enabling Linux-specific PCI discovery in the Linux I/O component])
Expand Down Expand Up @@ -1220,11 +1219,13 @@ return clGetDeviceIDs(0, 0, 0, NULL, NULL);
AS_IF([test "$hwloc_mode" = "embedded"],
[HWLOC_EMBEDDED_CFLAGS=$HWLOC_CFLAGS
HWLOC_EMBEDDED_CPPFLAGS=$HWLOC_CPPFLAGS
HWLOC_EMBEDDED_LDFLAGS=$HWLOC_LDFLAGS
HWLOC_EMBEDDED_LDADD='$(HWLOC_top_builddir)/hwloc/libhwloc_embedded.la'
HWLOC_EMBEDDED_LIBS=$HWLOC_LIBS
HWLOC_LIBS=])
AC_SUBST(HWLOC_EMBEDDED_CFLAGS)
AC_SUBST(HWLOC_EMBEDDED_CPPFLAGS)
AC_SUBST(HWLOC_EMBEDDED_LDFLAGS)
AC_SUBST(HWLOC_EMBEDDED_LDADD)
AC_SUBST(HWLOC_EMBEDDED_LIBS)

Expand Down
47 changes: 26 additions & 21 deletions config/hwloc_internal.m4
Expand Up @@ -438,13 +438,15 @@ int foo(void) {
hwloc_config_prefix[tests/hwloc/linux/allowed/Makefile]
hwloc_config_prefix[tests/hwloc/linux/gather/Makefile]
hwloc_config_prefix[tests/hwloc/x86/Makefile]
hwloc_config_prefix[tests/hwloc/x86+linux/Makefile]
hwloc_config_prefix[tests/hwloc/xml/Makefile]
hwloc_config_prefix[tests/hwloc/ports/Makefile]
hwloc_config_prefix[tests/hwloc/rename/Makefile]
hwloc_config_prefix[tests/hwloc/linux/allowed/test-topology.sh]
hwloc_config_prefix[tests/hwloc/linux/gather/test-gather-topology.sh]
hwloc_config_prefix[tests/hwloc/linux/test-topology.sh]
hwloc_config_prefix[tests/hwloc/x86/test-topology.sh]
hwloc_config_prefix[tests/hwloc/x86+linux/test-topology.sh]
hwloc_config_prefix[tests/hwloc/xml/test-topology.sh]
hwloc_config_prefix[tests/hwloc/wrapper.sh]
hwloc_config_prefix[utils/hwloc/hwloc-compress-dir]
Expand All @@ -459,6 +461,7 @@ int foo(void) {
hwloc_config_prefix[utils/hwloc/test-hwloc-dump-hwdata/Makefile]
hwloc_config_prefix[utils/hwloc/test-hwloc-dump-hwdata/test-hwloc-dump-hwdata.sh]
hwloc_config_prefix[utils/lstopo/test-lstopo.sh]
hwloc_config_prefix[utils/lstopo/test-lstopo-shmem.sh]
hwloc_config_prefix[utils/netloc/infiniband/netloc_ib_gather_raw]
hwloc_config_prefix[contrib/hwloc-ps.www/Makefile]
hwloc_config_prefix[contrib/systemd/Makefile]
Expand All @@ -469,27 +472,29 @@ int foo(void) {
hwloc_config_prefix[tests/netloc/tests.sh]
)

AC_CONFIG_COMMANDS([chmoding-scripts], [
chmod +x ]hwloc_config_prefix[tests/hwloc/linux/test-topology.sh \
]hwloc_config_prefix[tests/hwloc/x86/test-topology.sh \
]hwloc_config_prefix[tests/hwloc/xml/test-topology.sh \
]hwloc_config_prefix[tests/hwloc/linux/allowed/test-topology.sh \
]hwloc_config_prefix[tests/hwloc/linux/gather/test-gather-topology.sh \
]hwloc_config_prefix[tests/hwloc/wrapper.sh \
]hwloc_config_prefix[utils/hwloc/hwloc-compress-dir \
]hwloc_config_prefix[utils/hwloc/hwloc-gather-topology \
]hwloc_config_prefix[utils/hwloc/test-hwloc-annotate.sh \
]hwloc_config_prefix[utils/hwloc/test-hwloc-calc.sh \
]hwloc_config_prefix[utils/hwloc/test-hwloc-compress-dir.sh \
]hwloc_config_prefix[utils/hwloc/test-hwloc-diffpatch.sh \
]hwloc_config_prefix[utils/hwloc/test-hwloc-distrib.sh \
]hwloc_config_prefix[utils/hwloc/test-hwloc-info.sh \
]hwloc_config_prefix[utils/hwloc/test-fake-plugin.sh \
]hwloc_config_prefix[utils/hwloc/test-hwloc-dump-hwdata/test-hwloc-dump-hwdata.sh \
]hwloc_config_prefix[utils/lstopo/test-lstopo.sh \
]hwloc_config_prefix[utils/netloc/infiniband/netloc_ib_gather_raw \
]hwloc_config_prefix[contrib/windows/test-windows-version.sh \
]hwloc_config_prefix[tests/netloc/tests.sh])
AC_CONFIG_COMMANDS([chmoding-scripts], [chmod +x] \
hwloc_config_prefix[tests/hwloc/linux/test-topology.sh] \
hwloc_config_prefix[tests/hwloc/x86/test-topology.sh] \
hwloc_config_prefix[tests/hwloc/x86+linux/test-topology.sh] \
hwloc_config_prefix[tests/hwloc/xml/test-topology.sh] \
hwloc_config_prefix[tests/hwloc/linux/allowed/test-topology.sh] \
hwloc_config_prefix[tests/hwloc/linux/gather/test-gather-topology.sh] \
hwloc_config_prefix[tests/hwloc/wrapper.sh] \
hwloc_config_prefix[utils/hwloc/hwloc-compress-dir] \
hwloc_config_prefix[utils/hwloc/hwloc-gather-topology] \
hwloc_config_prefix[utils/hwloc/test-hwloc-annotate.sh] \
hwloc_config_prefix[utils/hwloc/test-hwloc-calc.sh] \
hwloc_config_prefix[utils/hwloc/test-hwloc-compress-dir.sh] \
hwloc_config_prefix[utils/hwloc/test-hwloc-diffpatch.sh] \
hwloc_config_prefix[utils/hwloc/test-hwloc-distrib.sh] \
hwloc_config_prefix[utils/hwloc/test-hwloc-info.sh] \
hwloc_config_prefix[utils/hwloc/test-fake-plugin.sh] \
hwloc_config_prefix[utils/hwloc/test-hwloc-dump-hwdata/test-hwloc-dump-hwdata.sh] \
hwloc_config_prefix[utils/lstopo/test-lstopo.sh] \
hwloc_config_prefix[utils/lstopo/test-lstopo-shmem.sh] \
hwloc_config_prefix[utils/netloc/infiniband/netloc_ib_gather_raw] \
hwloc_config_prefix[contrib/windows/test-windows-version.sh] \
hwloc_config_prefix[tests/netloc/tests.sh])

# These links are only needed in standalone mode. It would
# be nice to m4 foreach this somehow, but whenever I tried
Expand Down
2 changes: 1 addition & 1 deletion contrib/ci.inria.fr/Jenkinsfile-basic
Expand Up @@ -26,7 +26,7 @@ pipeline {
node('autotools') {
checkout scm
script {
gitBranch = sh (script: 'if test "$BRANCH_NAME"; then echo $BRANCH_NAME; else git branch | cut -c3-; fi', returnStdout: true).trim()
gitBranch = sh (script: 'if test "$BRANCH_NAME"; then echo $BRANCH_NAME; else git rev-parse --abbrev-ref HEAD; fi', returnStdout: true).trim()
}
sh 'contrib/ci.inria.fr/job-0-tarball.sh '+gitBranch
script {
Expand Down
20 changes: 17 additions & 3 deletions contrib/ci.inria.fr/Jenkinsfile-extended
Expand Up @@ -6,7 +6,7 @@
// + running Unix Debug checks
// + building MinGW Windows zipballs
// + running Embedded checks
// + running Sonarscanner analysis
// + running Coverity and Sonarscanner analysis
//
// The GIT checkout must use the remote branch name as the checkout local
// branch name so that tarball names contain the branch name.
Expand Down Expand Up @@ -36,7 +36,7 @@ pipeline {
checkout scm
script {
gitRepoURL = sh (script: 'git config --get remote.origin.url', returnStdout: true).trim()
gitBranch = sh (script: 'if test "$BRANCH_NAME"; then echo $BRANCH_NAME; else git branch | cut -c3-; fi', returnStdout: true).trim()
gitBranch = sh (script: 'if test "$BRANCH_NAME"; then echo $BRANCH_NAME; else git rev-parse --abbrev-ref HEAD; fi', returnStdout: true).trim()
}
sh 'contrib/ci.inria.fr/job-0-tarball.sh '+gitBranch
script {
Expand All @@ -47,6 +47,7 @@ pipeline {
dir('contrib/ci.inria.fr') {
stash includes: "job-3-debug.sh", name: 'script-unix-debug'
stash includes: "job-3-embedded.sh", name: 'script-embedded'
stash includes: "job-3-coverity.sh", name: 'script-coverity'
stash includes: "job-3-sonarscanner.sh", name: 'script-sonarscanner'
stash includes: "job-3-mingw.*", name: 'scripts-mingw'
stash includes: "job-3-cygwin.*", name: 'scripts-cygwin'
Expand All @@ -70,7 +71,10 @@ pipeline {
if (env.NO_MINGW != 'true') {
listOfNodeNames.push('MinGW')
}
if (env.NO_SONAR != 'true') {
if (env.NO_COVERITY != 'true') {
listOfNodeNames.push('Coverity')
}
if (env.NO_SONARQUBE != 'true') {
listOfNodeNames.push('SonarQube Scanner')
}
if (env.NO_EMBEDDED != 'true') {
Expand Down Expand Up @@ -103,6 +107,16 @@ pipeline {
deleteDir()
}
}
} else if (it == 'Coverity') {
node('coverity') {
dir('check-coverity') {
unstash 'tarballgz'
unstash 'script-coverity'
sh 'chmod 755 job-3-coverity.sh && ./job-3-coverity.sh '+gitRepoURL+' '+gitBranch+' '+tarballgz
if (env.KEEP_WORKING_DIRECTORY != 'true')
deleteDir()
}
}
} else if (it == 'SonarQube Scanner') {
node('sonarscanner') {
dir('check-sonarscanner') {
Expand Down
4 changes: 2 additions & 2 deletions contrib/ci.inria.fr/job-1-visualstudio.bat
@@ -1,5 +1,5 @@
REM
REM Copyright © 2012-2018 Inria. All rights reserved.
REM Copyright © 2012-2019 Inria. All rights reserved.
REM See COPYING in top-level directory.
REM

Expand All @@ -13,7 +13,7 @@ if %errorlevel% neq 0 exit /b %errorlevel%
cd %TARBALL:~0,-7%\contrib\windows
if %errorlevel% neq 0 exit /b %errorlevel%

%MSBUILD_PATH%\MSBuild hwloc.sln /p:Configuration=Release /p:Platform=x64
%MSBUILD_PATH%\MSBuild hwloc.sln /p:Configuration=Release /p:Platform=x64 /p:PlatformToolset=v110
if %errorlevel% neq 0 exit /b %errorlevel%

x64\Release\lstopo-no-graphics.exe
Expand Down