summaryrefslogtreecommitdiff
path: root/numpy
diff options
context:
space:
mode:
authorAnirudh Subramanian <anirudh2290@ufl.edu>2020-06-29 18:36:00 +0000
committerCharles Harris <charlesr.harris@gmail.com>2020-06-30 12:56:16 -0600
commit3dab4aae974c52b5cd3a1c7df67a26783b4bfbe0 (patch)
treef496f96a3871b103a46b139a9fd75c8acbeba838 /numpy
parent0d427e9a76a132d3ae1704ff39b4440c2d0b42e6 (diff)
downloadnumpy-3dab4aae974c52b5cd3a1c7df67a26783b4bfbe0.tar.gz
MAINT: Disable use_hugepages in case of ValueError
Diffstat (limited to 'numpy')
-rw-r--r--numpy/__init__.py17
1 files changed, 12 insertions, 5 deletions
diff --git a/numpy/__init__.py b/numpy/__init__.py
index 575e8ea3d..70c336106 100644
--- a/numpy/__init__.py
+++ b/numpy/__init__.py
@@ -293,11 +293,18 @@ else:
import os
use_hugepage = os.environ.get("NUMPY_MADVISE_HUGEPAGE", None)
if sys.platform == "linux" and use_hugepage is None:
- use_hugepage = 1
- kernel_version = os.uname().release.split(".")[:2]
- kernel_version = tuple(int(v) for v in kernel_version)
- if kernel_version < (4, 6):
- use_hugepage = 0
+ # If there is an issue with parsing the kernel version,
+ # set use_hugepages to 0. Usage of LooseVersion will handle
+ # the kernel version parsing better, but avoided since it
+ # will increase the import time. See: #16679 for related discussion.
+ try:
+ use_hugepage = 1
+ kernel_version = os.uname().release.split(".")[:2]
+ kernel_version = tuple(int(v) for v in kernel_version)
+ if kernel_version < (4, 6):
+ use_hugepage = 0
+ except ValueError:
+ use_hugepages = 0
elif use_hugepage is None:
# This is not Linux, so it should not matter, just enable anyway
use_hugepage = 1