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

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

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

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

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

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