W jaki sposób jądro Linuksa budzi bezczynny procesor po utworzeniu nowego zadania?

Jestem nowicjuszem w Linuksie. Obecnie zajrzałem do kodów jałowych i miałem pytanie. Gdy procesor nie ma żadnych zadań we własnej kolejce, może przejść do trybu bezczynności, określonego WFI (wating na przerwanie). (Wszystko, o czym wspomniałem, dotyczy architektury ARM nie X86. Więc coś jest nie tak dla X86.) Po pozostaniu w stanie WFI, być może inny procesor (nie bezczynny) chce rozłożyć swoje zadanie na ten bezczynny procesor (według bilansu obciążenia). W tym czasie zajęty procesor powoduje migrację zadania. Z mojego punktu widzenia, gdy zadanie jest imigrowane, bezczynny procesor powinien się obudzić, aby przetworzyć zadanie. dobrze? Jednak nie mogłem znaleźć żadnych kodów budzących bezczynny procesor, ale tylko znalazłem kody dotyczące rejestrowania zadania w kolejce uruchamiania bezczynnego procesora.

Chciałbym wiedzieć, jaki mechanizm stoi za budzeniem procesora po podaniu nowego zadania. Lub po prostu przenieś zadanie z jednej kolejki do drugiej, niż pozwalaj, aż się obudzi nieprzewidywalne IRQ?

Pokaż mi prawdę :)

questionAnswers(4)

yourAnswerToTheQuestion