¿Cómo se activa el procesador inactivo del kernel de Linux cuando se crea una nueva tarea?

Soy novato en Linux Kernel. Actualmente, busqué códigos inactivos y tuve una pregunta. Cuando el procesador no tiene ninguna toma en su propia cola de ejecución, entonces puede entrar en modo inactivo, WFI específico (esperando la interrupción). (Todo lo que mencioné es sobre la arquitectura ARM, no X86. Entonces, algo está mal para X86). Después de permanecer en el estado WFI, tal vez otro procesador (no inactivo) quiera distribuir su tarea a este, procesador inactivo (por balance de carga). En ese momento un procesador ocupado hace que la tarea sea imigrada. En mi punto de vista, cuando la tarea está imigrada, el procesador inactivo debería activarse de manera inmejorable para procesar la tarea. ¿Correcto? Sin embargo, no pude encontrar ningún código que despertara al procesador inactivo, pero solo encontré códigos sobre el registro de la tarea en la cola de ejecución del procesador inactivo.

Me gustaría saber qué mecanismo hay detrás de activar el procesador cuando se asigna una nueva tarea. ¿O simplemente mueve la tarea de una cola a la otra en lugar de dejarla estar activa hasta que un IRQ impredecible la despierte?

Por favor, muéstrame la verdad :)

Respuestas a la pregunta(4)

Su respuesta a la pregunta