|
| 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) |
| |
| | PERCPU_DEFINE_CTOR (sched_t, _pcpu_sched) |
| |
| 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_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) |
| | Perform a scheduling operation.
|
| |
| bool | sched_is_idle (cpu_t *cpu) |
| | Checks if the CPU is currently idle.
|
| |
| 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_disable (void) |
| | Disables preemption on the current CPU.
|
| |
| void | sched_enable (void) |
| | Enables preemption on the current CPU.
|
| |
| void | sched_exits (const char *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_EXITS, void, const char *status) |
| |
| | SYSCALL_DEFINE (SYS_THREAD_EXIT, void) |
| |
| | SYSCALL_DEFINE (SYS_YIELD, uint64_t) |
| |