Sono novizio su Linux Kernel. Attualmente, ho esaminato i codici inattivi e ho avuto una domanda. Quando il processore non ha taks nel proprio runqueue, allora è possibile che entri in modalità inattiva, specifico WFI (in attesa di interrupt). (Tutto ciò che ho menzionato riguarda l'architettura ARM non X86. Quindi qualcosa è sbagliato per X86.) Dopo essere rimasto nello stato WFI, forse un altro processore (non inattivo) desidera distribuire lo attività a questo processore inattivo (dal bilanciamento del carico) . A quel tempo un processore occupato, , rende l'attività migrata. Dal mio punto di vista, quando l'attività è stata migrata, il processore inattivo dovrebbe svegliarsi immidiatley per elaborare l'attività. destra? Tuttavia, non sono riuscito a trovare codici che attivano il processore inattivo, ma hanno trovato solo codici sulla registrazione dell'attività per l'esecuzione inattiva del processore.In che modo il kernel di Linux attiva il processore inattivo quando viene creata una nuova attività?
Mi piacerebbe sapere quale meccanismo è dietro al risveglio del processore quando viene assegnato un nuovo compito. Oppure spostare l'attività da una coda ad un'altra piuttosto che lasciarla fino a quando non viene risvegliato dall'IR2 imprevedibile di ?
Vi prego di mostrare la verità :)
Questo è per il thread wakeup, non per il wakeup della CPU. Il flag PF_WAKE_UP_IDLE è assente nel kernel Linux 3.18 e successivi. – Zhifei