Actually Linux's wake_up_process does nothing but changing a process' state from TASK_(UN)INTERRUPTIBLE to TASK_RUNNING and then it may be chosen for running the next time schedule() is invoked depending on its priority (counter-parameter in task_struct for the processes scheduled under OTHER-policy and rt_proirity-parameter for real-time processes scheduled under FIFO or RobinRound (RR)).
Best regards. Kostya. |