Fix hwloc issue on arm
This commit is contained in:
parent
f83a4a61bd
commit
4c1dd1d39f
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,2 +1,3 @@
|
|||||||
/hwloc-*.tar.bz2
|
/hwloc-*.tar.bz2
|
||||||
/lstopo.desktop
|
/lstopo.desktop
|
||||||
|
/32ppc-4n4c2c.tar.bz2
|
||||||
|
36
hwloc-arm.patch
Normal file
36
hwloc-arm.patch
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
diff -up hwloc-1.10.1/NEWS.arm hwloc-1.10.1/NEWS
|
||||||
|
diff -up hwloc-1.10.1/src/topology-linux.c.arm hwloc-1.10.1/src/topology-linux.c
|
||||||
|
--- hwloc-1.10.1/src/topology-linux.c.arm 2015-01-19 06:28:30.000000000 -0700
|
||||||
|
+++ hwloc-1.10.1/src/topology-linux.c 2015-04-04 20:25:11.519848174 -0600
|
||||||
|
@@ -2505,6 +2505,10 @@ look_powerpc_device_tree(struct hwloc_to
|
||||||
|
DIR *dt;
|
||||||
|
struct dirent *dirent;
|
||||||
|
|
||||||
|
+ /* only works for Power so far, and not useful on ARM */
|
||||||
|
+ if (strncmp(data->utsname.machine, "ppc", 3))
|
||||||
|
+ return;
|
||||||
|
+
|
||||||
|
ofroot = "/sys/firmware/devicetree/base/cpus";
|
||||||
|
ofrootlen = 34;
|
||||||
|
dt = hwloc_opendir(ofroot, root_fd);
|
||||||
|
@@ -2571,6 +2575,10 @@ look_powerpc_device_tree(struct hwloc_to
|
||||||
|
}
|
||||||
|
free(threads);
|
||||||
|
} else if ((unsigned int)-1 != reg) {
|
||||||
|
+ /* Doesn't work on ARM because cpu "reg" do not start at 0.
|
||||||
|
+ * We know the first cpu "reg" is the lowest. The others are likely
|
||||||
|
+ * in order assuming the device-tree shows objects in order.
|
||||||
|
+ */
|
||||||
|
cpuset = hwloc_bitmap_alloc();
|
||||||
|
hwloc_bitmap_set(cpuset, reg);
|
||||||
|
}
|
||||||
|
diff --git a/tests/linux/32ppc-4n4c2c.output b/tests/linux/32ppc-4n4c2c.output
|
||||||
|
index e0d73dc..733abb4 100644
|
||||||
|
--- a/tests/linux/32ppc-4n4c2c.output
|
||||||
|
+++ b/tests/linux/32ppc-4n4c2c.output
|
||||||
|
@@ -1,4 +1,4 @@
|
||||||
|
-Machine (P#0 total=129236992KB Backend=Linux)
|
||||||
|
+Machine (P#0 total=129236992KB PlatformName=pSeries PlatformModel="CHRP IBM,9125-F2A" Backend=Linux Architecture=ppc)
|
||||||
|
NUMANode L#0 (P#0 local=31195136KB total=31195136KB)
|
||||||
|
L3Cache L#0 (size=32768KB linesize=128)
|
||||||
|
L2Cache L#0 (size=4096KB linesize=128 ways=8)
|
10
hwloc.spec
10
hwloc.spec
@ -6,6 +6,11 @@ License: BSD
|
|||||||
Group: Applications/System
|
Group: Applications/System
|
||||||
URL: http://www.open-mpi.org/projects/hwloc/
|
URL: http://www.open-mpi.org/projects/hwloc/
|
||||||
Source0: http://www.open-mpi.org/software/hwloc/v1.10/downloads/%{name}-%{version}.tar.bz2
|
Source0: http://www.open-mpi.org/software/hwloc/v1.10/downloads/%{name}-%{version}.tar.bz2
|
||||||
|
# Updated test file for patch below
|
||||||
|
Source1: https://github.com/open-mpi/hwloc/raw/7a9b00834235ddd3c02699cbab7946edf6fc9030/tests/linux/32ppc-4n4c2c.tar.bz2
|
||||||
|
# Fix issue on ARM
|
||||||
|
# https://github.com/open-mpi/hwloc/issues/127
|
||||||
|
Patch0: hwloc-arm.patch
|
||||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
BuildRequires: cairo-devel
|
BuildRequires: cairo-devel
|
||||||
@ -76,6 +81,8 @@ Requires: %{name}-plugins%{?_isa} = %{version}-%{release}
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
|
%patch0 -p1 -b .arm
|
||||||
|
cp -a %SOURCE1 tests/linux/
|
||||||
|
|
||||||
%build
|
%build
|
||||||
autoreconf --force --install
|
autoreconf --force --install
|
||||||
@ -140,6 +147,9 @@ make check
|
|||||||
%{_libdir}/hwloc*
|
%{_libdir}/hwloc*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sat Apr 4 2015 Orion Poplwski <orion@cora.nwra.com> - 1.10.1-2
|
||||||
|
- Fix hwloc issue on arm
|
||||||
|
|
||||||
* Wed Apr 1 2015 Orion Poplwski <orion@cora.nwra.com> - 1.10.1-1
|
* Wed Apr 1 2015 Orion Poplwski <orion@cora.nwra.com> - 1.10.1-1
|
||||||
- Update to version 1.10.1
|
- Update to version 1.10.1
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user