From dc87e4b88551f64cb4053d8ea72dffc0c3675413 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Charles-Fran=C3=A7ois=20Natali?= Date: Mon, 13 Jul 2015 21:01:39 +0100 Subject: [PATCH] Issue #23530: Improve os.cpu_count() description. Patch by Julian Taylor. --- Doc/library/multiprocessing.rst | 9 +++++++-- Doc/library/os.rst | 5 +++++ Misc/ACKS | 1 + Modules/posixmodule.c | 6 ++++-- 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/Doc/library/multiprocessing.rst b/Doc/library/multiprocessing.rst index 8703f8f5eca..e74430df7e1 100644 --- a/Doc/library/multiprocessing.rst +++ b/Doc/library/multiprocessing.rst @@ -869,8 +869,13 @@ Miscellaneous .. function:: cpu_count() - Return the number of CPUs in the system. May raise - :exc:`NotImplementedError`. + Return the number of CPUs in the system. + + This number is not equivalent to the number of CPUs the current process can + use. The number of usable CPUs can be obtained with + ``len(os.sched_getaffinity(0))`` + + May raise :exc:`NotImplementedError`. .. seealso:: :func:`os.cpu_count` diff --git a/Doc/library/os.rst b/Doc/library/os.rst index 16e5019f862..0acb8a570f7 100644 --- a/Doc/library/os.rst +++ b/Doc/library/os.rst @@ -3596,6 +3596,11 @@ Miscellaneous System Information Return the number of CPUs in the system. Returns None if undetermined. + This number is not equivalent to the number of CPUs the current process can + use. The number of usable CPUs can be obtained with + ``len(os.sched_getaffinity(0))`` + + .. versionadded:: 3.4 diff --git a/Misc/ACKS b/Misc/ACKS index 8a007ea9dcb..e4ba783953f 100644 --- a/Misc/ACKS +++ b/Misc/ACKS @@ -1385,6 +1385,7 @@ William Tanksley Christian Tanzer Steven Taschuk Amy Taylor +Julian Taylor Monty Taylor Anatoly Techtonik Gustavo Temple diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index ec8c526c0aa..23d74a3e0e2 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -5760,7 +5760,7 @@ os.sched_getaffinity pid: pid_t / -Return the affinity of the process identified by pid. +Return the affinity of the process identified by pid (or the current process if zero). The affinity is returned as a set of CPU identifiers. [clinic start generated code]*/ @@ -11201,7 +11201,9 @@ get_terminal_size(PyObject *self, PyObject *args) /*[clinic input] os.cpu_count -Return the number of CPUs in the system; return None if indeterminable. +Return the number of CPUs in the system; return None if indeterminable. This +number is not equivalent to the number of CPUs the current process can use. +The number of usable CPUs can be obtained with ``len(os.sched_getaffinity(0))`` [clinic start generated code]*/ static PyObject *