mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
gnu: hwloc@1: Update to 1.11.13.
* gnu/packages/patches/hwloc-1-test-btrfs.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/mpi.scm (hwloc-1): Use it and update to 1.11.13. Co-authored-by: Ludovic Courtès <ludovic.courtes@inria.fr>
This commit is contained in:
parent
2c73e654fe
commit
37fa61364e
3 changed files with 58 additions and 2 deletions
|
@ -1273,6 +1273,7 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/hueplusplus-mbedtls.patch \
|
%D%/packages/patches/hueplusplus-mbedtls.patch \
|
||||||
%D%/packages/patches/hurd-cross.patch \
|
%D%/packages/patches/hurd-cross.patch \
|
||||||
%D%/packages/patches/hurd-xattr.patch \
|
%D%/packages/patches/hurd-xattr.patch \
|
||||||
|
%D%/packages/patches/hwloc-1-test-btrfs.patch \
|
||||||
%D%/packages/patches/i7z-gcc-10.patch \
|
%D%/packages/patches/i7z-gcc-10.patch \
|
||||||
%D%/packages/patches/icecat-makeicecat.patch \
|
%D%/packages/patches/icecat-makeicecat.patch \
|
||||||
%D%/packages/patches/icecat-avoid-bundled-libraries.patch \
|
%D%/packages/patches/icecat-avoid-bundled-libraries.patch \
|
||||||
|
|
|
@ -57,7 +57,7 @@
|
||||||
;; to migrate to 2.0.
|
;; to migrate to 2.0.
|
||||||
(package
|
(package
|
||||||
(name "hwloc")
|
(name "hwloc")
|
||||||
(version "1.11.12")
|
(version "1.11.13")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://www.open-mpi.org/software/hwloc/v"
|
(uri (string-append "https://www.open-mpi.org/software/hwloc/v"
|
||||||
|
@ -65,7 +65,8 @@
|
||||||
"/downloads/hwloc-" version ".tar.bz2"))
|
"/downloads/hwloc-" version ".tar.bz2"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0za1b9lvrm3rhn0lrxja5f64r0aq1qs4m0pxn1ji2mbi8ndppyyx"))))
|
"1j69p8a1pjpbpwn4w7l4dfxmaxxqikchjzqw1ncw05zmcmvlnjd4"))
|
||||||
|
(patches (search-patches "hwloc-1-test-btrfs.patch"))))
|
||||||
|
|
||||||
(properties
|
(properties
|
||||||
;; Tell the 'generic-html' updater to monitor this URL for updates.
|
;; Tell the 'generic-html' updater to monitor this URL for updates.
|
||||||
|
|
54
gnu/packages/patches/hwloc-1-test-btrfs.patch
Normal file
54
gnu/packages/patches/hwloc-1-test-btrfs.patch
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
From 093316a897a2eb4972a7a3a5888f40975d03f6bf Mon Sep 17 00:00:00 2001
|
||||||
|
From: Brice Goglin <Brice.Goglin@inria.fr>
|
||||||
|
Date: Tue, 5 Apr 2022 17:39:50 +0200
|
||||||
|
Subject: [PATCH] linux: (partial) fix the discovery of hugepages on btrfs
|
||||||
|
fsroot
|
||||||
|
|
||||||
|
btrfs always returns 1 in directory stat.st_nlink.
|
||||||
|
It breaks make check in tests/linux/ because the hugepages discovery
|
||||||
|
uses st_nlink to allocate the memory page_types array.
|
||||||
|
|
||||||
|
Always allocate at least 3 page_types slots
|
||||||
|
(enough for all known cases, 1 for normal, 2 for huge pages)
|
||||||
|
|
||||||
|
(partially cherry-picked from commit 7f351cec9bfe54a031f35ad16c9cfb99784d76dc)
|
||||||
|
|
||||||
|
We don't reallocate later if needed as in 2.x commit 7f351cec9bfe54a031f35ad16c9cfb99784d76dc
|
||||||
|
because v1.11 doesn't deserve a complete fix. Just commit the minimal change
|
||||||
|
so that tests/linux/2i386-2t-hugepagesizecount with HWLOC_PAGESIZE_DEBUG=4096
|
||||||
|
doesn't crash in btrfs anymore (test-topology.sh fails during make check if /tmp is in btrfs).
|
||||||
|
|
||||||
|
Thanks to Philippe Swartvagher for the report.
|
||||||
|
|
||||||
|
Signed-off-by: Brice Goglin <Brice.Goglin@inria.fr>
|
||||||
|
---
|
||||||
|
src/topology-linux.c | 11 +++++++++--
|
||||||
|
1 file changed, 9 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/topology-linux.c b/src/topology-linux.c
|
||||||
|
index 58c275fea..269eca7f5 100644
|
||||||
|
--- a/src/topology-linux.c
|
||||||
|
+++ b/src/topology-linux.c
|
||||||
|
@@ -1,6 +1,6 @@
|
||||||
|
/*
|
||||||
|
* Copyright © 2009 CNRS
|
||||||
|
- * Copyright © 2009-2019 Inria. All rights reserved.
|
||||||
|
+ * Copyright © 2009-2022 Inria. All rights reserved.
|
||||||
|
* Copyright © 2009-2013, 2015 Université Bordeaux
|
||||||
|
* Copyright © 2009-2014 Cisco Systems, Inc. All rights reserved.
|
||||||
|
* Copyright © 2015 Intel, Inc. All rights reserved.
|
||||||
|
@@ -2329,7 +2329,14 @@ hwloc_get_procfs_meminfo_info(struct hwloc_topology *topology,
|
||||||
|
|
||||||
|
err = hwloc_stat("/sys/kernel/mm/hugepages", &st, data->root_fd);
|
||||||
|
if (!err) {
|
||||||
|
- types = 1 + st.st_nlink-2;
|
||||||
|
+ types = 1 /* normal non-huge size */ + st.st_nlink - 2 /* ignore . and .. */;
|
||||||
|
+ if (types < 3)
|
||||||
|
+ /* some buggy filesystems (e.g. btrfs when reading from fsroot)
|
||||||
|
+ * return wrong st_nlink for directories (always 1 for btrfs).
|
||||||
|
+ * use 3 as a sane default (default page + 2 huge sizes).
|
||||||
|
+ * hwloc_parse_hugepages_info() will extend it if needed.
|
||||||
|
+ */
|
||||||
|
+ types = 3;
|
||||||
|
has_sysfs_hugepages = 1;
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue