|
| static | _Atomic (clock_t) |
| |
| static int64_t | sched_node_compare (const rbnode_t *aNode, const rbnode_t *bNode) |
| |
| static void | sched_node_update (rbnode_t *node) |
| |
| static bool | sched_is_cache_hot (thread_t *thread, clock_t uptime) |
| |
| void | sched_client_init (sched_client_t *client) |
| | Initialize the scheduler context for a thread.
|
| |
| void | sched_client_update_veligible (sched_client_t *client, vclock_t newVeligible) |
| |
| static void | sched_vtime_reset (sched_t *sched, clock_t uptime) |
| |
| static void | sched_vtime_update (sched_t *sched, clock_t uptime) |
| |
| static void | sched_enter (sched_t *sched, thread_t *thread, clock_t uptime) |
| |
| static void | sched_leave (sched_t *sched, thread_t *thread, clock_t uptime) |
| |
| static cpu_t * | sched_get_least_loaded (void) |
| |
| static thread_t * | sched_steal (void) |
| |
| static thread_t * | sched_first_eligible (sched_t *sched) |
| |
| void | sched_init (sched_t *sched) |
| | Initialize the scheduler for a CPU.
|
| |
| void | sched_start (thread_t *bootThread) |
| | Starts the scheduler by jumping to the boot thread.
|
| |
| void | sched_submit (thread_t *thread) |
| | Submits a thread to the scheduler.
|
| |
| static void | sched_verify_min_eligible (sched_t *sched, rbnode_t *node) |
| |
| static void | sched_verify (sched_t *sched) |
| |
| void | sched_do (interrupt_frame_t *frame, cpu_t *self) |
| | Perform a scheduling operation.
|
| |
| bool | sched_is_idle (cpu_t *cpu) |
| | Checks if the CPU is currently idle.
|
| |
| thread_t * | sched_thread (void) |
| | Retrieves the currently running thread.
|
| |
| process_t * | sched_process (void) |
| | Retrieves the process of the currently running thread.
|
| |
| thread_t * | sched_thread_unsafe (void) |
| | Retrieves the currently running thread without disabling interrupts.
|
| |
| process_t * | sched_process_unsafe (void) |
| | Retrieves the process of the currently running thread without disabling interrupts.
|
| |
| uint64_t | sched_nanosleep (clock_t timeout) |
| | Sleeps the current thread for a specified duration in nanoseconds.
|
| |
| void | sched_yield (void) |
| | Yield the current thread's time slice to allow other threads to run.
|
| |
| void | sched_process_exit (int32_t status) |
| | Terminates the currently executing process and all it's threads.
|
| |
| void | sched_thread_exit (void) |
| | Terminates the currently executing thread.
|
| |
| | SYSCALL_DEFINE (SYS_NANOSLEEP, uint64_t, clock_t nanoseconds) |
| |
| | SYSCALL_DEFINE (SYS_PROCESS_EXIT, void, int32_t status) |
| |
| | SYSCALL_DEFINE (SYS_THREAD_EXIT, void) |
| |
| | SYSCALL_DEFINE (SYS_YIELD, uint64_t) |
| |