summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2018-01-18 22:23:13 +0100
committerMichał Górny <mgorny@gentoo.org>2018-01-18 22:25:17 +0100
commita4d33e643f3aa8cb5cf8b0555328e846e4f6f9de (patch)
tree63b5f5bbdbdfc31cd05ddfdce23dbffefc77a30c /sys-libs/libomp
parentsys-devel/clang: Rename patch directory 5.0.0 -> 5.0.1 (diff)
downloadgentoo-a4d33e643f3aa8cb5cf8b0555328e846e4f6f9de.tar.gz
gentoo-a4d33e643f3aa8cb5cf8b0555328e846e4f6f9de.tar.bz2
gentoo-a4d33e643f3aa8cb5cf8b0555328e846e4f6f9de.zip
sys-libs/libomp: List broken PDS scheduler versions
The sched_yield() call has been reintroduced in PDS 0.98i. Improve the kernel check to explicitly list which PDS versions are affected, and which -pf kernels are affected (sadly, no fixed version yet). Big thanks to Holger Hoffstätte for convincing upstream to fix this and all the research! Bug: https://bugs.gentoo.org/638410
Diffstat (limited to 'sys-libs/libomp')
-rw-r--r--sys-libs/libomp/libomp-4.0.1.ebuild5
-rw-r--r--sys-libs/libomp/libomp-5.0.1.ebuild5
-rw-r--r--sys-libs/libomp/libomp-6.0.9999.ebuild5
-rw-r--r--sys-libs/libomp/libomp-9999.ebuild5
4 files changed, 16 insertions, 4 deletions
diff --git a/sys-libs/libomp/libomp-4.0.1.ebuild b/sys-libs/libomp/libomp-4.0.1.ebuild
index 299e49921e10..920d364c8a85 100644
--- a/sys-libs/libomp/libomp-4.0.1.ebuild
+++ b/sys-libs/libomp/libomp-4.0.1.ebuild
@@ -43,7 +43,10 @@ S=${WORKDIR}/openmp-${PV/_/}.src
CMAKE_BUILD_TYPE=RelWithDebInfo
CONFIG_CHECK="~!SCHED_PDS"
-ERROR_SCHED_PDS="PDS scheduler is not supported as it does not implement sched_yield()"
+ERROR_SCHED_PDS="PDS scheduler versions >= 0.98c < 0.98i (e.g. used in kernels
+>= 4.13-pf11, no fixed release yet) do not implement sched_yield() call which
+may result in horrible performance problems with libomp. If you are using one
+of the specified kernel versions, you may want to disable the PDS scheduler."
python_check_deps() {
has_version "dev-python/lit[${PYTHON_USEDEP}]"
diff --git a/sys-libs/libomp/libomp-5.0.1.ebuild b/sys-libs/libomp/libomp-5.0.1.ebuild
index e53670dab6d4..9075688c9e49 100644
--- a/sys-libs/libomp/libomp-5.0.1.ebuild
+++ b/sys-libs/libomp/libomp-5.0.1.ebuild
@@ -43,7 +43,10 @@ S=${WORKDIR}/openmp-${PV/_/}.src
CMAKE_BUILD_TYPE=RelWithDebInfo
CONFIG_CHECK="~!SCHED_PDS"
-ERROR_SCHED_PDS="PDS scheduler is not supported as it does not implement sched_yield()"
+ERROR_SCHED_PDS="PDS scheduler versions >= 0.98c < 0.98i (e.g. used in kernels
+>= 4.13-pf11, no fixed release yet) do not implement sched_yield() call which
+may result in horrible performance problems with libomp. If you are using one
+of the specified kernel versions, you may want to disable the PDS scheduler."
python_check_deps() {
has_version "dev-python/lit[${PYTHON_USEDEP}]"
diff --git a/sys-libs/libomp/libomp-6.0.9999.ebuild b/sys-libs/libomp/libomp-6.0.9999.ebuild
index 461064323a15..5e156aca296c 100644
--- a/sys-libs/libomp/libomp-6.0.9999.ebuild
+++ b/sys-libs/libomp/libomp-6.0.9999.ebuild
@@ -44,7 +44,10 @@ DEPEND="${RDEPEND}
CMAKE_BUILD_TYPE=RelWithDebInfo
CONFIG_CHECK="~!SCHED_PDS"
-ERROR_SCHED_PDS="PDS scheduler is not supported as it does not implement sched_yield()"
+ERROR_SCHED_PDS="PDS scheduler versions >= 0.98c < 0.98i (e.g. used in kernels
+>= 4.13-pf11, no fixed release yet) do not implement sched_yield() call which
+may result in horrible performance problems with libomp. If you are using one
+of the specified kernel versions, you may want to disable the PDS scheduler."
python_check_deps() {
has_version "dev-python/lit[${PYTHON_USEDEP}]"
diff --git a/sys-libs/libomp/libomp-9999.ebuild b/sys-libs/libomp/libomp-9999.ebuild
index 630a7bf4f050..ad6d62ae7449 100644
--- a/sys-libs/libomp/libomp-9999.ebuild
+++ b/sys-libs/libomp/libomp-9999.ebuild
@@ -43,7 +43,10 @@ DEPEND="${RDEPEND}
CMAKE_BUILD_TYPE=RelWithDebInfo
CONFIG_CHECK="~!SCHED_PDS"
-ERROR_SCHED_PDS="PDS scheduler is not supported as it does not implement sched_yield()"
+ERROR_SCHED_PDS="PDS scheduler versions >= 0.98c < 0.98i (e.g. used in kernels
+>= 4.13-pf11, no fixed release yet) do not implement sched_yield() call which
+may result in horrible performance problems with libomp. If you are using one
+of the specified kernel versions, you may want to disable the PDS scheduler."
python_check_deps() {
has_version "dev-python/lit[${PYTHON_USEDEP}]"