]> xenbits.xensource.com Git - people/andrewcoop/hwloc.git/log
people/andrewcoop/hwloc.git
11 years agohwloc-info.1: fix indentation in the synopsis
Brice Goglin [Tue, 20 Aug 2013 20:18:41 +0000 (20:18 +0000)]
hwloc-info.1: fix indentation in the synopsis

This commit was SVN r5752.

11 years agotests/linux: update outputs with ofed port stat...
Brice Goglin [Wed, 7 Aug 2013 19:36:50 +0000 (19:36 +0000)]
tests/linux: update outputs with ofed port stat...

tests/linux: update outputs with ofed port state

This commit was SVN r5751.

11 years agolinux: add a Port%uState info attribute to ofed...
Brice Goglin [Wed, 7 Aug 2013 19:29:45 +0000 (19:29 +0000)]
linux: add a Port%uState info attribute to ofed...

linux: add a Port%uState info attribute to ofed OS devices

This commit was SVN r5750.

11 years agodoc: update DOX_TAG dependencies after doc/sect...
Brice Goglin [Sun, 4 Aug 2013 21:10:39 +0000 (21:10 +0000)]
doc: update DOX_TAG dependencies after doc/sect...

doc: update DOX_TAG dependencies after doc/sections rework

(This fixes parallel builds)

This commit was SVN r5749.

11 years agohwloc_pci_find_cap(): Remove config space size ...
Brice Goglin [Mon, 29 Jul 2013 09:38:54 +0000 (09:38 +0000)]
hwloc_pci_find_cap(): Remove config space size ...

hwloc_pci_find_cap(): Remove config space size checks

The caller must now pass a 256-byte config space,
we can remove several checks.

This commit was SVN r5748.

11 years agopci: Always use a 256-byte config space
Brice Goglin [Mon, 29 Jul 2013 09:38:31 +0000 (09:38 +0000)]
pci: Always use a 256-byte config space

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).

This commit was SVN r5747.

11 years agohwloc_pci_prepare_bridge: Move config space man...
Brice Goglin [Mon, 29 Jul 2013 09:38:09 +0000 (09:38 +0000)]
hwloc_pci_prepare_bridge: Move config space man...

hwloc_pci_prepare_bridge: Move config space management size to the caller

Just document that this function needs 64 bytes of common configuration header.

This commit was SVN r5746.

11 years agohwloc_pci_find_linkspeed: Move config space man...
Brice Goglin [Mon, 29 Jul 2013 09:37:42 +0000 (09:37 +0000)]
hwloc_pci_find_linkspeed: Move config space man...

hwloc_pci_find_linkspeed: Move config space management size to the caller

Just document that this function needs 20 bytes after offset.

This commit was SVN r5745.

11 years agoAPI/doc reorg: NEWS and doc updates
Brice Goglin [Tue, 23 Jul 2013 13:30:16 +0000 (13:30 +0000)]
API/doc reorg: NEWS and doc updates

This commit was SVN r5744.

11 years agoAPI/doc reorg: Fix remaining section names
Brice Goglin [Tue, 23 Jul 2013 13:29:53 +0000 (13:29 +0000)]
API/doc reorg: Fix remaining section names

This commit was SVN r5743.

11 years agoAPI/doc reorg: move alloc_membind helpers to fr...
Brice Goglin [Tue, 23 Jul 2013 13:29:28 +0000 (13:29 +0000)]
API/doc reorg: move alloc_membind helpers to fr...

API/doc reorg: move alloc_membind helpers to friends into hwloc.h and rename the remaining section accordingly

This commit was SVN r5742.

11 years agoAPI/doc reorg: cleanup cpu/node sets helpers
Brice Goglin [Tue, 23 Jul 2013 13:29:05 +0000 (13:29 +0000)]
API/doc reorg: cleanup cpu/node sets helpers

This commit was SVN r5741.

11 years agoAPI/doc reorg: cleanup ancestor/child/cache/mis...
Brice Goglin [Tue, 23 Jul 2013 13:28:43 +0000 (13:28 +0000)]
API/doc reorg: cleanup ancestor/child/cache/mis...

API/doc reorg: cleanup ancestor/child/cache/misc sections

This commit was SVN r5740.

11 years agoAPI/doc reorg: better names for plugins and int...
Brice Goglin [Tue, 23 Jul 2013 13:28:07 +0000 (13:28 +0000)]
API/doc reorg: better names for plugins and int...

API/doc reorg: better names for plugins and interoperability sections

This commit was SVN r5739.

11 years agoAPI/doc reorg: merge sections about finding cov...
Brice Goglin [Tue, 23 Jul 2013 13:27:35 +0000 (13:27 +0000)]
API/doc reorg: merge sections about finding cov...

API/doc reorg: merge sections about finding covering objects

This commit was SVN r5738.

11 years agoAPI/doc reorg: move tinker/xmlexport to the end...
Brice Goglin [Tue, 23 Jul 2013 13:27:14 +0000 (13:27 +0000)]
API/doc reorg: move tinker/xmlexport to the end...

API/doc reorg: move tinker/xmlexport to the end of hwloc.h

This commit was SVN r5737.

11 years agoAPI/doc reorg: Move all depth/type/levels funct...
Brice Goglin [Tue, 23 Jul 2013 13:26:51 +0000 (13:26 +0000)]
API/doc reorg: Move all depth/type/levels funct...

API/doc reorg: Move all depth/type/levels functions together in the same section

This commit was SVN r5736.

11 years agoAPI/doc reorg: Move get_flags() and is_thissyst...
Brice Goglin [Tue, 23 Jul 2013 13:26:28 +0000 (13:26 +0000)]
API/doc reorg: Move get_flags() and is_thissyst...

API/doc reorg: Move get_flags() and is_thissystem() near the set() functions

This commit was SVN r5735.

11 years agoAPI/doc reorg: Move the topology type declarati...
Brice Goglin [Tue, 23 Jul 2013 13:26:08 +0000 (13:26 +0000)]
API/doc reorg: Move the topology type declarati...

API/doc reorg: Move the topology type declaration near create/destroy

(to avoid yet another doc section)

This commit was SVN r5734.

11 years agoAPI/doc reorg: Move inline code from hwloc.h to...
Brice Goglin [Tue, 23 Jul 2013 13:25:48 +0000 (13:25 +0000)]
API/doc reorg: Move inline code from hwloc.h to...

API/doc reorg: Move inline code from hwloc.h to hwloc/inlines.h

This commit was SVN r5733.

11 years agoAPI/doc reorg: Add hwloc/inlines.h
Brice Goglin [Tue, 23 Jul 2013 13:25:24 +0000 (13:25 +0000)]
API/doc reorg: Add hwloc/inlines.h

Empty for now, will be used for inline code that we'll move out of hwloc.h

This commit was SVN r5732.

11 years agoSee http://sourceware.org/bugzilla/show_bug.cgi...
Samuel Thibault [Thu, 18 Jul 2013 10:18:22 +0000 (10:18 +0000)]
See http://sourceware.org/bugzilla/show_bug.cgi...

See http://sourceware.org/bugzilla/show_bug.cgi?id=15630 for the bug report, and http://sourceware.org/ml/libc-alpha/2013-07/msg00288.html for the discussion: glibc's sched_getaffinity may stop returning EINVAL as an indication of a too small cpu_set_t, because applications using static cpu_set_t do not have a way to overcome. It happens that since at least 2.6.32, linux provides exactly what we want in /sys/devices/system/cpu/possible, so let's use that too.

This commit was SVN r5730.

11 years agocore: Don't propagate nodesets into Misc object...
Brice Goglin [Tue, 2 Jul 2013 16:24:03 +0000 (16:24 +0000)]
core: Don't propagate nodesets into Misc object...

core: Don't propagate nodesets into Misc objects added by parent

Those have no cpusets, we don't want nodesets either.

This commit completes r5710:
  core: fix support for Misc objects added by parent

This commit was SVN r5725.

The following SVN revision numbers were found above:
  r5710 --> 6af99e820bd7c0f266ffd782185c9f099ceb08dc

11 years agoFix/cleanup misc object depth
Brice Goglin [Tue, 2 Jul 2013 13:22:51 +0000 (13:22 +0000)]
Fix/cleanup misc object depth

Misc can be added though insert_by_parent (load from XML) or explicit
insert_misc_by_parent/cpuset(). So move the actual setting of their
depth or these, instead of trying to do it during level build
since Misc objects are kind of ignored there anyway.

This fixes tests/hwloc_insert_misc when debug is enabled
(depth was 0 instead of -1 when reloading from XML).

This commit was SVN r5724.

11 years agoxml: improve error messages when failing to loa...
Brice Goglin [Mon, 1 Jul 2013 13:44:36 +0000 (13:44 +0000)]
xml: improve error messages when failing to loa...

xml: improve error messages when failing to load from XML

This commit was SVN r5722.

11 years agotests/linux: add a test case with PCI + 1 MIC u...
Brice Goglin [Mon, 1 Jul 2013 12:47:30 +0000 (12:47 +0000)]
tests/linux: add a test case with PCI + 1 MIC u...

tests/linux: add a test case with PCI + 1 MIC using the new driver

It experience the regular code (instead of directlookup hacky code),
the one used when the driver creates sysfs symlinks as expected.

This commit was SVN r5721.

11 years agogather: Stop gathering /sys/class/virtual/mic
Brice Goglin [Mon, 1 Jul 2013 12:47:05 +0000 (12:47 +0000)]
gather: Stop gathering /sys/class/virtual/mic

Only outdated Xeon Phi driver use this, recent ones use sysfs properly.

This commit was SVN r5720.

11 years agolinux: optimize the lookup of Xeon Phi's / MICs
Brice Goglin [Mon, 1 Jul 2013 12:46:46 +0000 (12:46 +0000)]
linux: optimize the lookup of Xeon Phi's / MICs

Recent Xeon Phi drivers properly setup sysfs symlinks between mics
and pci devices. The usual lookup is therefore now the expected code.
Make sure the directlookup hack for older drivers doesn't run in
that normal case: have the first try detect things so that we never
try it again.

This will also reduce the number of useless lookups on non-MIC machines.

This commit was SVN r5719.

11 years agotests/linux: add a test case with PCI + 2 MICs ...
Brice Goglin [Mon, 1 Jul 2013 12:46:25 +0000 (12:46 +0000)]
tests/linux: add a test case with PCI + 2 MICs ...

tests/linux: add a test case with PCI + 2 MICs using the old driver

It experience the directlookup hacky code (when the driver doesn't
create sysfs symlinks as expected).

This commit was SVN r5718.

11 years agotests/linux: 40intel64-2g2n4c+pci only needs 2 ...
Brice Goglin [Mon, 1 Jul 2013 10:09:50 +0000 (10:09 +0000)]
tests/linux: 40intel64-2g2n4c+pci only needs 2 ...

tests/linux: 40intel64-2g2n4c+pci only needs 2 bridge localities

We detect two host bridges properly in linuxpci now, other
bridges are behind those, they don't need explicit locality.

This commit was SVN r5717.

11 years agolinux: get_obj_cpuset() callback needs to work ...
Brice Goglin [Mon, 1 Jul 2013 10:09:31 +0000 (10:09 +0000)]
linux: get_obj_cpuset() callback needs to work ...

linux: get_obj_cpuset() callback needs to work on modified fsroot too

Testing on any other PCI-enabled topology chroot requires this.

The single test with PCI in tests/linux/ defines pci bridge locality
using environment variable, so it didn't raise this assertion.

This commit was SVN r5716.

11 years agopci-common: cleanup configsize checks in common...
Brice Goglin [Thu, 27 Jun 2013 08:12:39 +0000 (08:12 +0000)]
pci-common: cleanup configsize checks in common...

pci-common: cleanup configsize checks in common routines

This commit was SVN r5715.

11 years agotests/hwloc_insert_misc: Add more objects and c...
Brice Goglin [Mon, 24 Jun 2013 10:00:16 +0000 (10:00 +0000)]
tests/hwloc_insert_misc: Add more objects and c...

tests/hwloc_insert_misc: Add more objects and check that XML import/export works fine

This commit was SVN r5711.

11 years agocore: fix support for Misc objects added by par...
Brice Goglin [Mon, 24 Jun 2013 09:59:38 +0000 (09:59 +0000)]
core: fix support for Misc objects added by par...

core: fix support for Misc objects added by parent

Looks like nobody ever tried to load a XML that contains a Misc
added by parent, it has been broken for ever.

When added by cpuset, Misc get a cpuset as any object. Nothing to do.
When added by parent, they become a new leaf, so they need either empty
or NULL sets. Empty sets require lots of hacks to be properly handled by
the core (so that they don't get ignored). So we keep using NULL sets
instead and just fix a couple places to properly handle them (like I/O).

By the way, cleanup the addition of default object sets.

Thanks to Jirka Hladky for the report.

This commit was SVN r5710.

11 years agopci: don't read subvendor/device from config sp...
Brice Goglin [Mon, 24 Jun 2013 07:22:20 +0000 (07:22 +0000)]
pci: don't read subvendor/device from config sp...

pci: don't read subvendor/device from config space for bridges

It's available somewhere else, we'll see later if we want it.

This commit was SVN r5706.

11 years agopcilinux: prefix PCI_CLASS_NOT_DEFINED
Brice Goglin [Mon, 24 Jun 2013 07:22:02 +0000 (07:22 +0000)]
pcilinux: prefix PCI_CLASS_NOT_DEFINED

This commit was SVN r5705.

11 years agopci: factorize-out the bridge detection code
Brice Goglin [Mon, 24 Jun 2013 07:21:39 +0000 (07:21 +0000)]
pci: factorize-out the bridge detection code

This commit was SVN r5704.

11 years agopci: move hwloc_pci_find_cap/linkspeed() to pci...
Brice Goglin [Mon, 24 Jun 2013 07:21:10 +0000 (07:21 +0000)]
pci: move hwloc_pci_find_cap/linkspeed() to pci...

pci: move hwloc_pci_find_cap/linkspeed() to pci-common.c

This commit was SVN r5703.

11 years agolinuxpci: Update documentation and configure wa...
Brice Goglin [Thu, 20 Jun 2013 16:28:45 +0000 (16:28 +0000)]
linuxpci: Update documentation and configure wa...

linuxpci: Update documentation and configure warning

This component only misses device names. Everything else
is equal to what you would get with libpci or libpciaccess.

This commit was SVN r5702.

11 years agolinuxpci: use the new common pci insert functio...
Brice Goglin [Thu, 20 Jun 2013 16:28:20 +0000 (16:28 +0000)]
linuxpci: use the new common pci insert functio...

linuxpci: use the new common pci insert function to place bridges as expected

The linuxpci backend now builds the entire PCI hierarchy as libpci/libpciaccess,
the only missing feature is device/vendor names.

This commit was SVN r5701.

11 years agolinuxpci: recognize bridges (but still queue th...
Brice Goglin [Thu, 20 Jun 2013 16:27:51 +0000 (16:27 +0000)]
linuxpci: recognize bridges (but still queue th...

linuxpci: recognize bridges (but still queue things as lists instead of trees)

This commit was SVN r5700.

11 years agopci: abstract out hwloc_insert_pci_device_list(...
Brice Goglin [Thu, 20 Jun 2013 16:27:20 +0000 (16:27 +0000)]
pci: abstract out hwloc_insert_pci_device_list(...

pci: abstract out hwloc_insert_pci_device_list()

Move all the code that inserts PCI devices into a separate core function.
We'll use it from the linuxpci backend soon.

This commit was SVN r5699.

11 years agolinuxpci: some code factorization
Brice Goglin [Thu, 20 Jun 2013 16:26:48 +0000 (16:26 +0000)]
linuxpci: some code factorization

This commit was SVN r5698.

11 years agopci: Fix subvendor/device ids (read 16bits inst...
Brice Goglin [Thu, 20 Jun 2013 15:33:37 +0000 (15:33 +0000)]
pci: Fix subvendor/device ids (read 16bits inst...

pci: Fix subvendor/device ids (read 16bits instead of only 8)

This commit was SVN r5694.

11 years agotests/linux: no need to force the linuxpci back...
Brice Goglin [Thu, 20 Jun 2013 14:21:33 +0000 (14:21 +0000)]
tests/linux: no need to force the linuxpci back...

tests/linux: no need to force the linuxpci backend anymore

pci will abort if fsroot was changed, and it won't prevent the linuxpci fallback.

This commit was SVN r5693.

11 years agoRevert commit r5631 now that we properly handle...
Brice Goglin [Thu, 20 Jun 2013 12:42:04 +0000 (12:42 +0000)]
Revert commit r5631 now that we properly handle...

Revert commit r5631 now that we properly handle pci/linuxpci conflicts

r5631 (pci: fallback to linuxpci when libpciaccess fails to initialize.)
isn't needed anymore since we always fallback anyway.

This commit was SVN r5692.

The following SVN revision numbers were found above:
  r5631 --> b5f48887b1c3c06f2c525eb1acc6e9bf3e241b47

11 years agopci: remove a debugging printf that should neve...
Brice Goglin [Thu, 20 Jun 2013 09:17:47 +0000 (09:17 +0000)]
pci: remove a debugging printf that should neve...

pci: remove a debugging printf that should never have been committed

(fix r5688)

This commit was SVN r5691.

The following SVN revision numbers were found above:
  r5688 --> 6ccf78a6a52facccb261619acc4a620be543d098

11 years agoconfigure: change "basic" into "linux" in the P...
Brice Goglin [Thu, 20 Jun 2013 09:09:03 +0000 (09:09 +0000)]
configure: change "basic" into "linux" in the P...

configure: change "basic" into "linux" in the PCI component name

linuxpci is close to become the default, we can't call it "basic" anymore.
For the record, it misses device/vendor names, bridges,
but it supports fsroot changing.

This commit was SVN r5690.

11 years agoRemove the PCI component type, use MISC again
Brice Goglin [Thu, 20 Jun 2013 09:08:43 +0000 (09:08 +0000)]
Remove the PCI component type, use MISC again

This somehow reverts r5542 which added this type.
We don't need a conflict between PCI backends anymore,
so no need for a specific type.

We don't revert the plugin ABI change because we have added
some core features for backends in the meantime, and we don't
want old PCI backends to be loaded since they wouldn't properly
detect other PCI backends.

This commit was SVN r5689.

The following SVN revision numbers were found above:
  r5542 --> ea56667cd7ab5115adcd417ac286c829d290173f

11 years agoRemove the need to conflicts between PCI backen...
Brice Goglin [Thu, 20 Jun 2013 09:08:15 +0000 (09:08 +0000)]
Remove the need to conflicts between PCI backen...

Remove the need to conflicts between PCI backends

Force a level reconnect before running their discover callback,
and check whether there are already some PCI devices.

On !Linux, the reconnect won't happen by default because
another one is done earlier nothing was added in the middle
(PCI comes right after CPU/GLOBAL by default).

On Linux, we have an additional reconnect (can't be merged
with the final one because we remove ignored things in the middle).

By the way, add some debug messages about these forced reconnects.

This commit was SVN r5688.

11 years agocore: Move object removal/ignoring after PCI ad...
Brice Goglin [Wed, 19 Jun 2013 17:28:38 +0000 (17:28 +0000)]
core: Move object removal/ignoring after PCI ad...

core: Move object removal/ignoring after PCI addition

And cleanup the comments.

This commit was SVN r5687.

11 years agocore: update discover() comments
Brice Goglin [Wed, 19 Jun 2013 17:28:16 +0000 (17:28 +0000)]
core: update discover() comments

This commit was SVN r5686.

11 years agoinsert_misc_object_by_cpuset() looks at the mai...
Brice Goglin [Wed, 19 Jun 2013 14:24:08 +0000 (14:24 +0000)]
insert_misc_object_by_cpuset() looks at the mai...

insert_misc_object_by_cpuset() looks at the main cpuset only

So compare the input cpuset with the right topology one.
Otherwise we'll get an error later if inserting under unavailable PUs

This commit was SVN r5684.

11 years agotests/hwloc_insert_misc: Don't assume PU#0 is a...
Brice Goglin [Wed, 19 Jun 2013 14:14:53 +0000 (14:14 +0000)]
tests/hwloc_insert_misc: Don't assume PU#0 is a...

tests/hwloc_insert_misc: Don't assume PU#0 is available

Can be wrong on Linux cpuset, causing strange failures.
Add an assert() to better detects things.

This commit was SVN r5683.

11 years agotests/hwloc_pci_backend: exclude the linuxpci b...
Brice Goglin [Fri, 14 Jun 2013 15:09:04 +0000 (15:09 +0000)]
tests/hwloc_pci_backend: exclude the linuxpci b...

tests/hwloc_pci_backend: exclude the linuxpci backend when we check the pci one with thissystem==0

This commit was SVN r5682.

11 years agotests/linux/gather: disable I/O for now
Brice Goglin [Fri, 14 Jun 2013 14:47:50 +0000 (14:47 +0000)]
tests/linux/gather: disable I/O for now

Enabling I/O will require to
* make sure we're gathering all required directories
  (some virtual machine would need /sys/devices/virtio-pci for instance)
* force linuxpci to be used
* pass --io to gather and remove --no-io from lstopo

This commit was SVN r5681.

11 years agolinuxpci: don't set the bridge os_index
Brice Goglin [Fri, 14 Jun 2013 14:32:25 +0000 (14:32 +0000)]
linuxpci: don't set the bridge os_index

The discovery order depends on the /sys/bus/pci/devices/ directory order,
which sometimes breaks linux/tests/ depending on the whether.

We can't put anything really useful here (these bridges are only guessed
by looking at PCI devices). And we already have the logical order anyway,
so don't bother initializing os_index at all.

This commit was SVN r5680.

11 years agohwloc-gather-topology: Add --io to gather I/O-r...
Brice Goglin [Fri, 14 Jun 2013 14:15:20 +0000 (14:15 +0000)]
hwloc-gather-topology: Add --io to gather I/O-r...

hwloc-gather-topology: Add --io to gather I/O-related files

Not enabled by default because it's longer and generates bigger tarballs

This commit was SVN r5679.

11 years agotests/linux: Add the very first test case with ...
Brice Goglin [Fri, 14 Jun 2013 14:14:55 +0000 (14:14 +0000)]
tests/linux: Add the very first test case with ...

tests/linux: Add the very first test case with PCI fsroot, and check I/O groups

The tarball contains additional I/O files.
We force the use of the linuxpci plugin since only this one supports fsroot.

We also force the locality of the I/O buses because this 4-socket machine
(Dell PE R910 with 4 westmere EX processors) has I/O hubs connected to pairs
of socket, and the BIOS does not report it correctly.

This also checks that the PCI code properly place hostbridges under a group
of two sockets (and that these groups are correct sets, fixed in r5665).

This commit was SVN r5678.

The following SVN revision numbers were found above:
  r5665 --> aed1b3c02bb62e54ba780a9840ae7151e6ae5b89

11 years agolinux: add support for modified fsroot in OS de...
Brice Goglin [Fri, 14 Jun 2013 14:14:30 +0000 (14:14 +0000)]
linux: add support for modified fsroot in OS de...

linux: add support for modified fsroot in OS device lookup

It brings OS devices to linuxpci under modified fsroot.

This commit was SVN r5677.

11 years agolinux: make 'deprecated_classlinks_model' a per...
Brice Goglin [Fri, 14 Jun 2013 14:14:13 +0000 (14:14 +0000)]
linux: make 'deprecated_classlinks_model' a per...

linux: make 'deprecated_classlinks_model' a per-topology variable

Requires to propagate the backend instead of the topology through all OS device lookup functions.

This commit was SVN r5676.

11 years agolinux: move host/block OS device lookup functio...
Brice Goglin [Fri, 14 Jun 2013 14:13:56 +0000 (14:13 +0000)]
linux: move host/block OS device lookup functio...

linux: move host/block OS device lookup functions together

This commit was SVN r5675.

11 years agolinuxpci: add support for modified fsroot
Brice Goglin [Fri, 14 Jun 2013 14:13:39 +0000 (14:13 +0000)]
linuxpci: add support for modified fsroot

This only brings PCI devices, no OS device yet.

This commit was SVN r5674.

11 years agolinux: remove two debug asserts that make no se...
Brice Goglin [Fri, 14 Jun 2013 14:13:22 +0000 (14:13 +0000)]
linux: remove two debug asserts that make no se...

linux: remove two debug asserts that make no sense

We actually wanted to check topology->backends (the first one) instead
of the local backend variable (which is obviously "linux").
But this code can still be valid when using x86+linux anyway.

This commit was SVN r5673.

11 years agolinux: optimize fsroot checks in backend callba...
Brice Goglin [Fri, 14 Jun 2013 14:13:06 +0000 (14:13 +0000)]
linux: optimize fsroot checks in backend callba...

linux: optimize fsroot checks in backend callbacks

Remember whether root_fd points to "/"
instead of rechecking whether !strcmp(root_path, "/") multiple times

This commit was SVN r5672.

11 years agolinux: slightly improve the old kernel detectio...
Brice Goglin [Fri, 14 Jun 2013 13:36:05 +0000 (13:36 +0000)]
linux: slightly improve the old kernel detectio...

linux: slightly improve the old kernel detection code (r5668)

Don't abort the lookup entirely when it occurs.
Try the deprecated case too, just in case.

This commit was SVN r5670.

The following SVN revision numbers were found above:
  r5668 --> 648b26a9d0ca38c5a1dea63d4410764f83c4a226

11 years agolinux: Remove invalid block OS devices on old k...
Brice Goglin [Fri, 14 Jun 2013 12:01:40 +0000 (12:01 +0000)]
linux: Remove invalid block OS devices on old k...

linux: Remove invalid block OS devices on old kernels

2.6.9/RHEL4 (on eddie) have a "block" symlink in their device
subdirectory of PCI sysfs devices (and nothing for other classes).
We only handle block/<name> (modern kernels) and block:<name>
(old but not so ancient kernels).
Our code confuses this 2.6.9 case with the modern one, causing
crazy OS device such as "queue" to appear.

Fix that case by just not creating anything in these PCI devices
since there's no easy way to find the OS device name,
and we don't care much about these kernels anyway.

This commit was SVN r5668.

11 years agohwloc-gather-topology: check $# before using sh...
Brice Goglin [Fri, 14 Jun 2013 09:44:33 +0000 (09:44 +0000)]
hwloc-gather-topology: check $# before using sh...

hwloc-gather-topology: check $# before using shift, some shells don't like shifting nothing

This commit was SVN r5666.

11 years agoFix missing cpusets/nodesets in groups added by...
Brice Goglin [Thu, 13 Jun 2013 13:58:06 +0000 (13:58 +0000)]
Fix missing cpusets/nodesets in groups added by...

Fix missing cpusets/nodesets in groups added by PCI backends.

PCI components discover things after some object setup is done,
so if they add new groups, those may miss some attributes.
total_memory was fixed in the previous commit.
This commit updates cpusets/nodesets as well.
Only the main cpuset field was setup for real before this.

This commit was SVN r5665.

11 years agocore: propagate total memory at the end of the ...
Brice Goglin [Thu, 13 Jun 2013 13:57:40 +0000 (13:57 +0000)]
core: propagate total memory at the end of the ...

core: propagate total memory at the end of the discovery

We don't need it early, and it may be incomplete if some
objects are added later.

This commit was SVN r5664.

11 years agorename: update
Brice Goglin [Thu, 13 Jun 2013 10:05:02 +0000 (10:05 +0000)]
rename: update

This commit was SVN r5663.

11 years agoxml: when the libxml plugin fails to load, remo...
Brice Goglin [Thu, 13 Jun 2013 09:33:15 +0000 (09:33 +0000)]
xml: when the libxml plugin fails to load, remo...

xml: when the libxml plugin fails to load, remove its callbacks and fallback to nolibxml

This commit was SVN r5662.

11 years agoAdd a dlsym sanity check during dynamic plugin ...
Brice Goglin [Thu, 13 Jun 2013 09:32:46 +0000 (09:32 +0000)]
Add a dlsym sanity check during dynamic plugin ...

Add a dlsym sanity check during dynamic plugin loading

Will prevent spurious crashes when hwloc is dynamically
loaded by another plugin mechanism.

This check doesn't seem needed when hwloc gets loaded
by a ltdl-plugin, the loading just fails immediately
because of the missing symbol.

But some OpenCL lib load plugins with dlopen(RTLD_LAZY),
causing a crash later during the instantiate callback.
That's where we add this sanity check to avoid the crash.
The component remains loaded but it doesn't get enabled
in the topology.

This commit was SVN r5661.

11 years agoAdd rule to remove spurious qualifiers (inline,...
Samuel Thibault [Thu, 6 Jun 2013 13:02:58 +0000 (13:02 +0000)]
Add rule to remove spurious qualifiers (inline,...

Add rule to remove spurious qualifiers (inline, unused, etc.) from the generated html files.

This commit was SVN r5659.

11 years agoFix a memory leak of the distance array when me...
Brice Goglin [Thu, 30 May 2013 14:15:09 +0000 (14:15 +0000)]
Fix a memory leak of the distance array when me...

Fix a memory leak of the distance array when merging objects

Likely never occured...

This commit was SVN r5655.

11 years agoFix a memory leak of the info array when mergin...
Brice Goglin [Thu, 30 May 2013 14:09:32 +0000 (14:09 +0000)]
Fix a memory leak of the info array when mergin...

Fix a memory leak of the info array when merging objects

Not sure it ever occured since most objects merged in this code
have no infos.

This commit was SVN r5654.

11 years agoNever merge explicitly-custom-inserted groups
Brice Goglin [Wed, 29 May 2013 09:52:47 +0000 (09:52 +0000)]
Never merge explicitly-custom-inserted groups

If the user inserts one, don't remove it.

This relies on string info attributes (added in previous commits),
and we try to not look at these and strcmp() their value unless
all lights are green.

This commit fixes #103

This commit was SVN r5652.

11 years agoAdd a Backend=Custom info attribute to custom-i...
Brice Goglin [Wed, 29 May 2013 09:52:24 +0000 (09:52 +0000)]
Add a Backend=Custom info attribute to custom-i...

Add a Backend=Custom info attribute to custom-inserted objects

Will be used soon

This commit was SVN r5651.

11 years agoTweak the linuxpci document and configure warni...
Brice Goglin [Tue, 28 May 2013 16:52:42 +0000 (16:52 +0000)]
Tweak the linuxpci document and configure warni...

Tweak the linuxpci document and configure warning

This isn't "minimalistic" anymore since only bridges and device names are missing.

This commit was SVN r5650.

11 years agotests/rename: make things more portable so that...
Brice Goglin [Sat, 25 May 2013 12:58:36 +0000 (12:58 +0000)]
tests/rename: make things more portable so that...

tests/rename: make things more portable so that we can regression-test it

* Don't use advanced sed features.
* Add NDEBUG so that some versions of assert don't stringify things
  that wouldn't be renamed and would be hard to filter out.
* Handle the case where a##b is processed by gcc instead of cpp
  (occurs at least on OpenBSD 5.2 with cpp/gcc 4.2.1).

This commit was SVN r5649.

11 years agotests/rename: minor cleanups
Brice Goglin [Sat, 25 May 2013 12:58:10 +0000 (12:58 +0000)]
tests/rename: minor cleanups

This commit was SVN r5648.

11 years agorename: add missing set_bgq_ and _netbsd_hooks(...
Brice Goglin [Fri, 24 May 2013 20:24:33 +0000 (20:24 +0000)]
rename: add missing set_bgq_ and _netbsd_hooks(...

rename: add missing set_bgq_ and _netbsd_hooks()

This commit was SVN r5646.

11 years agotests/rename: make these rules properly fail/su...
Brice Goglin [Fri, 24 May 2013 20:22:39 +0000 (20:22 +0000)]
tests/rename: make these rules properly fail/su...

tests/rename: make these rules properly fail/succeed on error/success

This commit was SVN r5645.

11 years agotests/rename: stop temporarily modifying autoge...
Brice Goglin [Fri, 24 May 2013 20:22:15 +0000 (20:22 +0000)]
tests/rename: stop temporarily modifying autoge...

tests/rename: stop temporarily modifying autogen/config.h files to enable renaming

make useless doesn't this.
make prepare now uses a local modified copy of the originals.

This commit was SVN r5644.

11 years agorename: Fix the renaming of hwloc_fls/ffs*
Brice Goglin [Fri, 24 May 2013 20:21:50 +0000 (20:21 +0000)]
rename: Fix the renaming of hwloc_fls/ffs*

hwloc_flsl/ffsl may be macros or static inlines depending on the platform.
We can't easily rename this because renaming occurs before the definition,
we don't know yet if it will be a macro or not, and we don't rename macros
(or we would redefine the #define).

Add an intermediate name in the case of static inline
(hwloc_ffsl_from_ffs32, hwloc_flsl_manual, etc.).
Rename those always-static-inline name.
And #define the final hwloc_flsl/ffsl to those, so that
hwloc_ffsl/flsl are always #define, and don't need renaming.

This prevents hwloc_ffsl/flsl symbols to miss the renaming on some
platforms.

This commit was SVN r5643.

11 years agotests/rename: hide hwloc_uint64_t false positiv...
Brice Goglin [Fri, 24 May 2013 12:57:02 +0000 (12:57 +0000)]
tests/rename: hide hwloc_uint64_t false positiv...

tests/rename: hide hwloc_uint64_t false positives

This commit was SVN r5642.

11 years agoBring v1.7.1 NEWS bullets in trunk
Brice Goglin [Tue, 21 May 2013 16:13:14 +0000 (16:13 +0000)]
Bring v1.7.1 NEWS bullets in trunk

This commit was SVN r5638.

11 years agotests/ports/freebsd: enable HAVE_SYS_SYSCTL_H
Brice Goglin [Mon, 20 May 2013 14:55:44 +0000 (14:55 +0000)]
tests/ports/freebsd: enable HAVE_SYS_SYSCTL_H

This commit was SVN r5634.

11 years agofreebsd: add #ifdef HAVE_SYS_SYSCTL_H around hw...
Brice Goglin [Mon, 20 May 2013 14:54:28 +0000 (14:54 +0000)]
freebsd: add #ifdef HAVE_SYS_SYSCTL_H around hw...

freebsd: add #ifdef HAVE_SYS_SYSCTL_H around hwloc_freebsd_node_meminfo_info()

It's needed for CTL_HW.

Thanks to Pavan Balaji.

This commit was SVN r5633.

11 years agocomponents: warn about instantiate failures (su...
Brice Goglin [Fri, 17 May 2013 20:22:26 +0000 (20:22 +0000)]
components: warn about instantiate failures (su...

components: warn about instantiate failures (such as pci/libpciaccess now) when verbose component messages

This commit was SVN r5632.

11 years agopci: fallback to linuxpci when libpciaccess fai...
Brice Goglin [Fri, 17 May 2013 20:21:12 +0000 (20:21 +0000)]
pci: fallback to linuxpci when libpciaccess fai...

pci: fallback to linuxpci when libpciaccess fails to initialize.

RHEL5 and FC9-12 have a buggy libpciaccess that only works for root.
Detect this early in pci instantiate() so that we can ignore the pci
component entirely and avoid uselessly conflicting with the linuxpci
one.

No need to do that for pciutils since no such bug is known
(if pciutils fails, linuxpci will likely fail as well), and
because splitting the pciutils init between instantiate() and
discover() would be harder because of the setjmp exit-workaround.

This commit was SVN r5631.

11 years agotests/embedded: fix for automake 1.13
Brice Goglin [Thu, 16 May 2013 14:50:51 +0000 (14:50 +0000)]
tests/embedded: fix for automake 1.13

This commit was SVN r5630.

11 years agopci: fix libpciaccess vendor/device ID for vir...
Brice Goglin [Thu, 16 May 2013 12:42:20 +0000 (12:42 +0000)]
pci: fix libpciaccess vendor/device ID for vir...

pci: fix libpciaccess vendor/device ID for virtual function devices in case of SR-IOV on Linux

libpciaccess shows 0xffff for vendor/device IDs for virtual functions.
Use Linux sysfs files to work-around the issue when available.

The actual fix requires to look for SR-IOV info in the physical
function, which requires root access on Linux. Left as TODO.

This commit was SVN r5627.

11 years agolinuxpci: read hardware revision and linkspeed ...
Brice Goglin [Wed, 15 May 2013 12:33:55 +0000 (12:33 +0000)]
linuxpci: read hardware revision and linkspeed ...

linuxpci: read hardware revision and linkspeed from the config cache

This brings linuxpci to almost the same features as the full PCI component.
Only bridges and names are now missing.

This commit was SVN r5626.

11 years agoFactorize out a hwloc_pci_find_linkspeed() in m...
Brice Goglin [Wed, 15 May 2013 12:33:31 +0000 (12:33 +0000)]
Factorize out a hwloc_pci_find_linkspeed() in m...

Factorize out a hwloc_pci_find_linkspeed() in misc.h as well

This commit was SVN r5625.

11 years agoMove hwloc_pci_find_cap() to misc.h so that lin...
Brice Goglin [Wed, 15 May 2013 12:33:03 +0000 (12:33 +0000)]
Move hwloc_pci_find_cap() to misc.h so that lin...

Move hwloc_pci_find_cap() to misc.h so that linuxpci may use it

This commit was SVN r5624.

11 years agopci: Fix libpciaccess retrieving of PCI link sp...
Brice Goglin [Wed, 15 May 2013 11:32:58 +0000 (11:32 +0000)]
pci: Fix libpciaccess retrieving of PCI link sp...

pci: Fix libpciaccess retrieving of PCI link speed

Make sure we don't wrongly exit the capability list parsing loop
after onlt one iteration because of an invalid cast
(config space size is often 256 when running as root).
Otherwise, we may miss the LNKSTA capability if it isn't the
first one in the list

(broken in commit r5286)

This commit was SVN r5620.

The following SVN revision numbers were found above:
  r5286 --> 5a0bcf05e702885ea799f4f63f90b3bdc3e0ca8a

11 years agoStop embedding libltdl, always use the system-w...
Brice Goglin [Wed, 15 May 2013 08:15:49 +0000 (08:15 +0000)]
Stop embedding libltdl, always use the system-w...

Stop embedding libltdl, always use the system-wide libltdl

The ltdl embedding caused problems to the hwloc embedding such as
  http://www.open-mpi.org/community/lists/hwloc-devel/2013/04/3659.php
We fixed the embedding AM_CONDITIONAL problem in
  https://svn.open-mpi.org/trac/hwloc/changeset/5605
but the generated tarballs now (sometimes) miss libltdl,
causing configure to break.
The patch in the first link above worked around that issue but...

* Embedding ltdl is useful when you rely on recent ltdl features,
  while ltdl 1.5 (couldn't test earlier) looks OK for hwloc,
  and that version is very old and available everywhere.
* the ltdl embedding ability isn't perfect in "recursive" mode
  (we had a hack for its config.h file in our configure
   see http://lists.gnu.org/archive/html/libtool/2012-08/msg00016.html)
* we only need ltdl when --enable-plugins (not by default)

That's enough reasons to consider not embedding ltdl anymore.
We now require people to install libltdl-dev/libtool-ltdl-dev
if they want plugins.

This commit was SVN r5618.

11 years agoconfigure: typo in a message
Brice Goglin [Tue, 14 May 2013 08:47:28 +0000 (08:47 +0000)]
configure: typo in a message

This commit was SVN r5615.

12 years agoconfigure: remove reverted/commented-out line t...
Brice Goglin [Thu, 9 May 2013 13:32:10 +0000 (13:32 +0000)]
configure: remove reverted/commented-out line t...

configure: remove reverted/commented-out line that is now officially useless

This commit was SVN r5611.