From: "Robin H. Johnson" <robb...@gentoo.org>

portage.util.cpuinfo.get_cpu_count was only used in one spot before, and
other call-sites just used multiprocessing.cpu_count() directly.

Replace all multiprocessing.cpu_count() calls with get_cpu_count() in
portage.util.cpuinfo, to ensure consistency in CPU calculation.

Signed-off-by: Robin H. Johnson <robb...@gentoo.org>
---
 lib/portage/dbapi/porttree.py              |  4 ++--
 lib/portage/util/futures/executor/fork.py  |  4 ++--
 lib/portage/util/futures/iter_completed.py | 18 +++++++++---------
 3 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/lib/portage/dbapi/porttree.py b/lib/portage/dbapi/porttree.py
index 2ff3e1b34..64a5f3681 100644
--- a/lib/portage/dbapi/porttree.py
+++ b/lib/portage/dbapi/porttree.py
@@ -1471,11 +1471,11 @@ def _async_manifest_fetchlist(portdb, repo_config, cp, 
cpv_list=None,
        @param cpv_list: list of ebuild cpv values for a Manifest
        @type cpv_list: list
        @param max_jobs: max number of futures to process concurrently (default
-               is multiprocessing.cpu_count())
+               is portage.util.cpuinfo.get_cpu_count())
        @type max_jobs: int
        @param max_load: max load allowed when scheduling a new future,
                otherwise schedule no more than 1 future at a time (default
-               is multiprocessing.cpu_count())
+               is portage.util.cpuinfo.get_cpu_count())
        @type max_load: int or float
        @param loop: event loop
        @type loop: EventLoop
diff --git a/lib/portage/util/futures/executor/fork.py 
b/lib/portage/util/futures/executor/fork.py
index 72844403c..add7b3c9e 100644
--- a/lib/portage/util/futures/executor/fork.py
+++ b/lib/portage/util/futures/executor/fork.py
@@ -7,13 +7,13 @@ __all__ = (
 
 import collections
 import functools
-import multiprocessing
 import os
 import sys
 import traceback
 
 from portage.util._async.AsyncFunction import AsyncFunction
 from portage.util.futures import asyncio
+from portage.util.cpuinfo import get_cpu_count
 
 
 class ForkExecutor(object):
@@ -24,7 +24,7 @@ class ForkExecutor(object):
        This is entirely driven by an event loop.
        """
        def __init__(self, max_workers=None, loop=None):
-               self._max_workers = max_workers or multiprocessing.cpu_count()
+               self._max_workers = max_workers or get_cpu_count()
                self._loop = asyncio._wrap_loop(loop)
                self._submit_queue = collections.deque()
                self._running_tasks = {}
diff --git a/lib/portage/util/futures/iter_completed.py 
b/lib/portage/util/futures/iter_completed.py
index 31b5e0c78..4c48ea0fe 100644
--- a/lib/portage/util/futures/iter_completed.py
+++ b/lib/portage/util/futures/iter_completed.py
@@ -2,11 +2,11 @@
 # Distributed under the terms of the GNU General Public License v2
 
 import functools
-import multiprocessing
 
 from portage.util._async.AsyncTaskFuture import AsyncTaskFuture
 from portage.util._async.TaskScheduler import TaskScheduler
 from portage.util.futures import asyncio
+from portage.util.cpuinfo import get_cpu_count
 
 
 def iter_completed(futures, max_jobs=None, max_load=None, loop=None):
@@ -18,11 +18,11 @@ def iter_completed(futures, max_jobs=None, max_load=None, 
loop=None):
        @param futures: iterator of asyncio.Future (or compatible)
        @type futures: iterator
        @param max_jobs: max number of futures to process concurrently (default
-               is multiprocessing.cpu_count())
+               is portage.util.cpuinfo.get_cpu_count())
        @type max_jobs: int
        @param max_load: max load allowed when scheduling a new future,
                otherwise schedule no more than 1 future at a time (default
-               is multiprocessing.cpu_count())
+               is portage.util.cpuinfo.get_cpu_count())
        @type max_load: int or float
        @param loop: event loop
        @type loop: EventLoop
@@ -47,11 +47,11 @@ def async_iter_completed(futures, max_jobs=None, 
max_load=None, loop=None):
        @param futures: iterator of asyncio.Future (or compatible)
        @type futures: iterator
        @param max_jobs: max number of futures to process concurrently (default
-               is multiprocessing.cpu_count())
+               is portage.util.cpuinfo.get_cpu_count())
        @type max_jobs: int
        @param max_load: max load allowed when scheduling a new future,
                otherwise schedule no more than 1 future at a time (default
-               is multiprocessing.cpu_count())
+               is portage.util.cpuinfo.get_cpu_count())
        @type max_load: int or float
        @param loop: event loop
        @type loop: EventLoop
@@ -61,8 +61,8 @@ def async_iter_completed(futures, max_jobs=None, 
max_load=None, loop=None):
        """
        loop = asyncio._wrap_loop(loop)
 
-       max_jobs = max_jobs or multiprocessing.cpu_count()
-       max_load = max_load or multiprocessing.cpu_count()
+       max_jobs = max_jobs or portage.util.cpuinfo.get_cpu_count()
+       max_load = max_load or portage.util.cpuinfo.get_cpu_count()
 
        future_map = {}
        def task_generator():
@@ -120,11 +120,11 @@ def iter_gather(futures, max_jobs=None, max_load=None, 
loop=None):
        @param futures: iterator of asyncio.Future (or compatible)
        @type futures: iterator
        @param max_jobs: max number of futures to process concurrently (default
-               is multiprocessing.cpu_count())
+               is portage.util.cpuinfo.get_cpu_count())
        @type max_jobs: int
        @param max_load: max load allowed when scheduling a new future,
                otherwise schedule no more than 1 future at a time (default
-               is multiprocessing.cpu_count())
+               is portage.util.cpuinfo.get_cpu_count())
        @type max_load: int or float
        @param loop: event loop
        @type loop: EventLoop
-- 
2.18.0


Reply via email to