aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/kern_sched.c
AgeCommit message (Collapse)Author
2024-05-21kernel: sched: Fix commentIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-05-21kernel: Initial sched rewriteIan Moffett
- Introduce dynamic scheduling policy - Introduce MLFQ scheduling - Clean up a lot of code Signed-off-by: Ian Moffett <ian@osmora.org>
2024-05-19kernel: sched: Align 'tdq_lock' on cache line sizeIan Moffett
The lock should be aligned on a cache line boundary so it isn't in a cache line with other data. This is important for 'tdq_lock' as it is used by every processor which constantly acquires and releases it. This alignment can reduce how violently cache lines bounce between processor local caches. Signed-off-by: Ian Moffett <ian@osmora.org>
2024-05-16kernel: sched: Move loader code away from schedIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-04-26kernel: sched: Expose sched_init_stack()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-04-26kernel: sched: Move sched stack macros to sched.hIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-04-26kernel: sched: Move sys_exit() from kern_syscall.cIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-04-26kernel: Implement basic loader_unload()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-04-26kernel: sched: Add support for early preemptionIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-04-25kernel: sched: Use exec_args for argp, envp, etcIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-04-22kernel: auxv: Add AT_PAGESIZEIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-04-21kernel: sched: Ensure td is removed from queueIan Moffett
Upon sched_exit(), the thread should not be in the queue Signed-off-by: Ian Moffett <ian@osmora.org>
2024-04-21kernel: sched: Create idle threadIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-04-16kernel: vm_map: Add mmap() and munmap()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-04-10kernel: signals: Add initial signal implementationIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-04-10kernel: sched: Lock thread upon sched_exit()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-04-09kernel: sched: Remove useless whitespaceIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-04-06kernel: sched: Load init by itselfIan Moffett
This is temporary Signed-off-by: Ian Moffett <ian@osmora.org>
2024-04-04kernel: sched: Pass init auxv to dynldIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-03-25kernel: filedesc: Return status in fd_alloc()Ian Moffett
It is better for fd_alloc() to return the status and have one of the arguments point to an output than have fd_alloc() return the allocated file descriptor just like that. Signed-off-by: Ian Moffett <ian@osmora.org>
2024-03-21kernel: sched: Fix stack init codeIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-03-18kernel: sched: Fix PID assignmentIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-03-17kernel: loader: Keep track of program addr rangeIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-03-16kernel: sched: Cleanup context switch commentsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-03-15kernel: Add basic file descriptor supportIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-03-15kernel: sched: Use this_td() to get threadIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-03-15kernel: sched: Add routine to get current threadIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-03-14kernel: sched: Remove useless declarationIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-03-14kernel: sched: Rework sched_init()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-03-14kernel: sched: Add exit routineIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-03-14kernel: sched: Keep track of stack and privilegeIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-03-13kernel/amd64: machdep: Add context switch helperIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-03-13kernel/amd64: machdep: Add pcb init codeIan Moffett
This commit adds a processor specific routine which sets up the Process Control Block for a thread Signed-off-by: Ian Moffett <ian@osmora.org>
2024-03-13kernel: sched: Improve stack init codeIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-03-07kernel: sched: Add support for user threadsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-03-07kern: sched: Refactor queue and ctx switch codeQuinn Stephens
Signed-off-by: Quinn Stephens <quinn@osmora.org> Signed-off-by: Ian Moffett <ian@osmora.org>
2024-02-26kernel: sched: Fix mistake in context switch codeIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-02-26kernel: sched: Fix broken preemptionsIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-02-26kernel: sched: Fix PID allocation logicIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-02-26kernel: sched: Create schedvar.hIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-02-23kernel: Add initial scheduler implementationIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2024-02-14kernel: cpu: Add hint_spinwait()Ian Moffett
This commit introduces a macro that must exist per architecture (even if it does nothing) to ensure it is machine independent. Signed-off-by: Ian Moffett <ian@osmora.org>
2024-02-11kernel: sched: Add initial sched related codeIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>