Как ядро linux разбудит незанятый процессор при создании новой задачи?

Я новичок в ядре Linux. В настоящее время я изучил пустые коды и получил вопрос. Когда процессор не имеет тактов в своей собственной очереди выполнения, он может перейти в режим ожидания, определенный WFI (ожидание прерывания). (Все, что я упомянул, касается архитектуры ARM, а не X86. Так что что-то не так для X86.) После пребывания в состоянии WFI, возможно, другой процессор (не бездействующий) захочет распространить свою задачу на этот, незанятый процессор (по распределению нагрузки). В это время занятый процессор делает задачу иммигрированной. На мой взгляд, когда задача переносится, неработающий процессор должен активировать иммиграцию для ее обработки. правильно? Тем не менее, я не смог найти никаких кодов, которые пробуждают незанятый процессор, а нашел только коды о регистрации задачи в очередь выполнения бездействующего процессора.

Я хотел бы знать, какой механизм стоит за пробуждением процессора, когда дается новая задача. Или он просто перемещает задачу из одной очереди в другую, чем позволяет ей оставаться, пока ее не разбудит какой-то непредсказуемый IRQ?

Пожалуйста, покажи мне правду :)

Ответы на вопрос(4)

Ваш ответ на вопрос