0 votos

¿Cómo desactivar los núcleos de la CPU en el Samsung Galaxy A8?

Necesito apagar los núcleos de la CPU para hacer mediciones de energía de conjuntos de núcleos de la CPU de forma aislada (lo que significa que quiero ejecutar una aplicación en un conjunto de núcleos de la CPU y apagar los núcleos de la CPU que no están en el conjunto). He mirado la documentación sobre el Android linux kernel source y dice lo siguiente:

P: ¿Cómo puedo desconectar lógicamente una CPU?
R: Haz lo siguiente.
#echo 0 > /sys/devices/system/cpu/cpuX/online
Una vez que la desconexión lógica es exitosa, compruebe
#cat /proc/interrupts
Ahora no debería ver la CPU que ha eliminado. También el archivo online reportará el estado como 0 cuando una cpu si está fuera de línea y 1 cuando está en línea.

Para mostrar el estado actual de la cpu.

#cat /sys/devices/system/cpu/cpuX/online

Pero cuando escribo 0 en el archivo en línea, sigue informando que la CPU está en línea incluso con permisos de superusuario y marcando el archivo como escribible ( chmod +w ).

Me imagino que el kernel está habilitando la cpu de nuevo después de haberla deshabilitado. Además no intenté desactivar la CPU 0 porque en la misma documentación dice que no es removible en algunas arquitecturas, este comportamiento está ocurriendo en otras CPUs.

¿Necesito reconstruir el kernel para habilitar el hotplug de la cpu o es un problema específico de la arquitectura? Tal vez mi cpu no soporta hotplugs.

Lo que he probado hasta ahora

  • Escribir a /sys/devices/system/cpu/cpuN/online con un dispositivo rooteado. ( echo "0" > ./sys/device/...../online )
  • Cambiando el kernel por uno personalizado e intentando de nuevo el paso anterior. (El kernel instalado era Quantum Kernel)
  • Utilizando adiutor del núcleo para apagar las CPUs en la pestaña CPU (esto apaga la CPU por un tiempo y luego se vuelve a encender)
  • Usando su en adb shell para cambiar los permisos de los archivos en sysfs ( chmod 664 /sys/devices/...../online ) y luego tratar de escribir en él.

Información sobre el dispositivo
Modelo: Samsung Galaxy A8 (SM-A530F)
Versión para Android: Android Pie (9)
El núcleo: Quantum Kernel V4
Versión del núcleo: 4.4.111-Quantum_pie.V4.0-A530F
Procesador: Samsung Exynos Octa 7885
Arquitectura: aarch64

EDIT: Olvidé mencionar que mi dispositivo está rooteado.

0voto

Dmitry Puntos 1

Esto ayuda en el Galaxy-S7:

echo 0 > /sys/devices/system/cpu/cpuhotplug/enabled
echo 0 > /sys/devices/system/cpu/cpu0/online

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X