Intel (2)

Maks

Comprobar que Kernel de linux detecte y gestione e-cores

Puede ser que el kernel de linux no detecte los e-cores como debe, no es que no los detecte y estén des-habilitado, si no que detecta todos los cores iguales y no hace distinción de ello.

Veamos cpu_capacity, aquí deberían haber variaciones pero no las hay.

# grep . /sys/devices/system/cpu/cpu*/cpu_capacity
/sys/devices/system/cpu/cpu0/cpu_capacity:1024
/sys/devices/system/cpu/cpu10/cpu_capacity:1024
/sys/devices/system/cpu/cpu11/cpu_capacity:1024
/sys/devices/system/cpu/cpu12/cpu_capacity:1024
/sys/devices/system/cpu/cpu13/cpu_capacity:1024
/sys/devices/system/cpu/cpu14/cpu_capacity:1024
/sys/devices/system/cpu/cpu15/cpu_capacity:1024
/sys/devices/system/cpu/cpu1/cpu_capacity:1024
/sys/devices/system/cpu/cpu2/cpu_capacity:1024
/sys/devices/system/cpu/cpu3/cpu_capacity:1024
/sys/devices/system/cpu/cpu4/cpu_capacity:1024
/sys/devices/system/cpu/cpu5/cpu_capacity:1024
/sys/devices/system/cpu/cpu6/cpu_capacity:1024
/sys/devices/system/cpu/cpu7/cpu_capacity:1024
/sys/devices/system/cpu/cpu8/cpu_capacity:1024
/sys/devices/system/cpu/cpu9/cpu_capacity:1024

Los e-cores, deben tener un valor más bajo para que el kernel decida darles las tareas de menor prioridad, que el kernel vea la capacidad de todos por igual es un problema.

EDIT: He estado leyendo y resulta que cpu_capacity es un valor que el kernel usa casi exclusivamente en arquitectura ARM . En Intel x86, el kernel confía más en el HFI y en las tablas ACPI, por eso aunque marque 1024 en todos, el Scheduler no se deja engañar, por eso más abajo vemos que esto solo aparece en 6.17.x en debian testing y seǵun la actualización desaparece....

Mas info:
https://www.kernel.org/doc/Documentation/devicetree/bindings/arm/cpu-capacity.txt

 

Sin embargo intel_pstate esta habilitado

# cat /sys/devices/system/cpu/intel_pstate/status
active
Continue reading...
Maks

Más allá del htop: E-Cores y P-cores de forma gráfica en Alder Lake i5-12600K, como cambian de core los procesos en linux.

Desde que instalé mi i5-12600, he estado obsesionado con entender cómo gestiona Linux su arquitectura híbrida. En herramientas como htop o btop, vemos porcentajes de uso que se actualizan cada pocos segundos. 

Hoy vamos a bajar al nivel del kernel para ver cómo el scheduler de Linux (el orquestador de procesos) mueve los hilos entre núcleos de alto rendimiento (P-Cores) y de eficiencia (E-Cores).

Como vemos en la imagen ( HTOP )Core 6, 8 y 11 están usando el 100 % del CPUPero, ¿qué pasa realmente en la escala de microsegundos?

Continue reading...