Python multiprocessing.cpu_count () devuelve '1' en Nvidia Jetson TK1 de 4 núcleos

¿Alguien puede decirme por qué Pythonmultiprocessing.cpu_count() la función volvería1 cuando cuando se llama en un Jetson TK1 con cuatro procesadores ARMv7?

>>> import multiprocessing
>>> multiprocessing.cpu_count()
1

El tablero Jetson TK1 es más o menos directo de la caja, y nadie se ha metido con cpusets. Desde el mismo shell de Python puedo imprimir el contenido de/proc/self/status y me dice que el proceso debería tener acceso a los cuatro núcleos:

>>> print open('/proc/self/status').read()
----- (snip) -----
Cpus_allowed:   f
Cpus_allowed_list:      0-3
----- (snip) -----

¿Qué más podría estar causando este comportamientocpu_count()?

Editar:

Para probar la hipótesis de Klaus, utilicé el siguiente código para ejecutar un experimento muy simple:

import multiprocessing

def f(x):
    n = 0
    for i in xrange(10000):
        n = max(n, multiprocessing.cpu_count())
    return n

p = multiprocessing.Pool(5)
for i in range(10):
    print p.map(f, [1,2,3,4,5])

Que produjo el siguiente resultado:

[3, 3, 3, 3, 1]
[4, 3, 3, 3, 3]
[4, 3, 3, 3, 3]
[3, 3, 4, 3, 3]
[4, 3, 3, 3, 3]
[3, 3, 4, 3, 3]
[4, 3, 3, 3, 3]
[3, 3, 4, 3, 3]
[3, 3, 3, 4, 3]
[4, 3, 3, 3, 3]

Ejecutando solo una iteración dep.map(f, [1,2,3,4,5]) generalmente produce[1, 1, 1, 1, 1], aunque ocasionalmente un2 aparecerá como uno de los elementos de la lista.

Respuestas a la pregunta(1)

Su respuesta a la pregunta