¿Dónde se establece la configuración predeterminada para los interruptores de línea de comandos en el código fuente del kernel en Android?

Mi dispositivo Android es de cuatro núcleos. Pero durante el arranque solo hay 2 núcleos activos. CPU_HOTPLUG está habilitado. En dumpstate encontré:

maxcpus=2

en las opciones de la línea de comandos. Quería hacer este maxcpus=4 . Tengo todo el código fuente conmigo. Quería establecer este valor maxcpus en el código fuente (especialmente en la configuración predeterminada).

Entonces mi pregunta es: ¿En qué archivo se realiza esta configuración de valor predeterminado? Lo grep'ed a través de la fuente en la plataforma y el kernel. Pero no obtuve ninguna pista. Creo que este código se encuentra en el gestor de arranque. Si es así, por favor guíame.

Respuestas (1)

Supongo que CPU_HOTPLUG significa que el gobernador de CPU hotplug está habilitado en su sistema. El gobernador de CPU hotplug puede hacer que el núcleo de la CPU esté en línea o fuera de línea según la carga total del sistema. Entonces, es posible que sus otros dos núcleos estén fuera de línea en este momento.

Puede verificar los núcleos de CPU exactos por,

$ cat /sys/dispositivos/sistema/cpu/presente

Esto mostrará el total de núcleos en su sistema. O puede hacer "ls /sys/devices/system/cpu/cpu*" y luego ver los directorios cpu0,cpu1,... Esos son sus diferentes núcleos.

Si no puede encontrar 4 núcleos (0,1,2,3) en ese directorio, entonces hay algún problema con su sistema.

Puede cambiar el gobernador de la CPU a otro, por ejemplo, bajo demanda para utilizar los cuatro núcleos. Pero puede usar más batería.

Espero que esto ayude.

[actualización] Además, si se refiere a establecer la línea de comando predeterminada del kernel desde la configuración, entonces está disponible en,

Símbolo: CMDLINE [=]

Tipo: cadena

Indicador: cadena de comando del kernel predeterminada

Definido en arch/arm/Kconfig:1766

Ubicación: -> Opciones de arranque

en la ventana de configuración del menú del núcleo.

En general, en Android, la línea de comandos del kernel es parte de la imagen de arranque y no esta predeterminada, pero aún puede probarlo. Si el gestor de arranque pasa la cadena de la línea de comandos del kernel, esta configuración se ignorará.

Buena suerte.

Gracias, pero lo descubrí yo mismo. Está bajo el archivo kernel_board_config del proveedor en mi caso