MOS Source Code
|
#include <mos/tasks/task_types.h>
Go to the source code of this file.
Functions | |
__BEGIN_DECLS void | tasks_init () |
void | scheduler_init () |
char | thread_state_str (thread_state_t state) |
void | unblock_scheduler (void) |
Unblock the scheduler, so that APs can start scheduling. | |
void | enter_scheduler (void) |
Enter the scheduler and switch to the next thread. | |
void | scheduler_add_thread (thread_t *thread) |
Add a thread to the scheduler, so that it can be scheduled. | |
void | scheduler_remove_thread (thread_t *thread) |
Remove a thread from the scheduler. | |
void | scheduler_wake_thread (thread_t *thread) |
Wake a thread. | |
void | reschedule (void) |
reschedule. | |
void | blocked_reschedule (void) |
Mark the current task as blocked and reschedule. | |
__nodiscard bool | reschedule_for_waitlist (waitlist_t *waitlist) |
__BEGIN_DECLS void tasks_init | ( | ) |
Definition at line 46 of file tasks.c.
Referenced by mos_start_kernel().
void scheduler_init | ( | ) |
Definition at line 50 of file schedule.c.
Referenced by mos_start_kernel().
char thread_state_str | ( | thread_state_t | state | ) |
Definition at line 14 of file schedule.c.
Referenced by _thread_do_print(), and reschedule().
Unblock the scheduler, so that APs can start scheduling.
Definition at line 60 of file schedule.c.
Referenced by mos_start_kernel().
Enter the scheduler and switch to the next thread.
Definition at line 67 of file schedule.c.
Referenced by mos_start_kernel(), and platform_ap_entry().
Add a thread to the scheduler, so that it can be scheduled.
thread |
Definition at line 78 of file schedule.c.
Referenced by create_thread(), elf_create_process(), kthread_create(), process_do_fork(), and reschedule().
Remove a thread from the scheduler.
thread |
Definition at line 85 of file schedule.c.
Wake a thread.
thread |
Definition at line 91 of file schedule.c.
Referenced by signal_send_to_thread(), timer_do_wakeup(), and waitlist_wake().
reschedule.
Definition at line 107 of file schedule.c.
Referenced by blocked_reschedule(), enter_scheduler(), MOS_STATIC_ASSERT(), riscv64_trap_handler(), thread_exit_locked(), timer_msleep(), and x86_pit_timer_handler().
Mark the current task as blocked and reschedule.
Definition at line 165 of file schedule.c.
Referenced by ipc_connect_to_server(), ipc_server_accept(), reschedule_for_waitlist(), and timer_msleep().
__nodiscard bool reschedule_for_waitlist | ( | waitlist_t * | waitlist | ) |
Definition at line 174 of file schedule.c.
Referenced by console_io_read(), futex_wait(), pipe_read(), pipe_write(), process_wait_for_pid(), and thread_wait_for_tid().