banan-os/kernel/include/kernel
Bananymous c936aac777 Kernel: Optimize scheduler idling
Now after each interrupt we will ask the scheduler to reschedule
if the current thread is the idle thread. This allows semaphore
unblocking to be practically instant when there is only one thread
executing.

Now disk reading is back to ~3 MB/s for single threaded process
2023-04-03 01:51:05 +03:00
..
FS Kernel: Fix traversing back from mount points 2023-04-01 01:54:35 +03:00
Input Kernel: Add Semaphore to block threads 2023-03-30 18:46:33 +03:00
Storage Kernel: ATA now uses irqs instead of polling 2023-04-03 00:03:38 +03:00
ACPI.h Kernel: Rework the whole input system 2023-03-29 03:05:16 +03:00
APIC.h All: rename every function from UpperCamelCase to snake_case 2023-02-01 21:05:44 +02:00
Arch.h Kernel: fix ARCH() macro and add helper macros for push/pop 2023-02-19 18:52:25 +02:00
Attributes.h Kernel: Initial work on new scheduler with queues 2023-03-08 02:41:44 +02:00
CPUID.h All: rename every function from UpperCamelCase to snake_case 2023-02-01 21:05:44 +02:00
CriticalScope.h Kernel: Create CriticalScope and fix kmalloc 2023-03-08 13:55:53 +02:00
Debug.h All: rename every function from UpperCamelCase to snake_case 2023-02-01 21:05:44 +02:00
Device.h Kernel: cleanup includes 2023-04-01 02:14:49 +03:00
DeviceManager.h Kernel: Move DeviceManager to its own file 2023-03-30 22:39:45 +03:00
Font.h BAN: Modify Span constructors to keep constness correctly 2023-03-23 14:26:03 +02:00
GDT.h Kernel: Initialize GDT in kernel code 2023-03-01 21:21:56 +02:00
IDT.h Kernel: I have no idea what this commit does 2023-01-26 02:55:37 +02:00
IO.h Kernel: Add IO functions inl, outl, and ins{b,w,l} to read into buffer 2023-02-24 12:39:38 +02:00
InterruptController.h Kernel: Create CriticalScope and fix kmalloc 2023-03-08 13:55:53 +02:00
LockGuard.h All: Move to c++20 2023-02-09 23:05:26 +02:00
MMU.h Kernel: MMU now takes flags when allocating pages 2023-03-01 21:21:56 +02:00
PCI.h Kernel: PCIDevice is now class with getters and constructor 2023-03-08 02:41:44 +02:00
PIC.h All: rename every function from UpperCamelCase to snake_case 2023-02-01 21:05:44 +02:00
PIT.h Kernel: PIT now has very barebones sleep 2023-02-16 17:53:25 +02:00
Panic.h Kernel: panic now disables interrupts as the first thing 2023-03-01 21:21:56 +02:00
Process.h Kernel: Improve locking in Process, VFS and ATAController 2023-03-30 22:02:16 +03:00
RTC.h Kernel/BAN: move unix time conversion to BAN and add stat to Shell 2023-03-27 00:49:58 +03:00
Scheduler.h Kernel: Optimize scheduler idling 2023-04-03 01:51:05 +03:00
Semaphore.h Kernel: ATA now uses irqs instead of polling 2023-04-03 00:03:38 +03:00
Serial.h All: rename every function from UpperCamelCase to snake_case 2023-02-01 21:05:44 +02:00
Shell.h Kernel: Rework the whole input system 2023-03-29 03:05:16 +03:00
SpinLock.h Kernel: Create RecursiveSpinLock and add it to Process 2023-03-24 01:32:35 +02:00
Syscall.h Kernel/Userspace: Start initial work on userspace and syscalls 2023-03-13 15:32:46 +02:00
TTY.h Kernel: Fonts can now be parsed from the filesystem and set to terminal 2023-02-22 22:29:31 +02:00
TerminalDriver.h Kernel: Add prefs font for terminal output before file system 2023-02-23 01:22:50 +02:00
Thread.h Kernel: cleanup includes 2023-04-01 02:14:49 +03:00
VesaTerminalDriver.h Kernel: Add prefs font for terminal output before file system 2023-02-23 01:22:50 +02:00
kmalloc.h Kernel: rewrite the whole kmalloc (again) 2023-02-22 16:32:50 +02:00
kprint.h All: rename every function from UpperCamelCase to snake_case 2023-02-01 21:05:44 +02:00
multiboot.h BAN: Formatter now uses perfect forwarding on its arguments 2023-03-08 21:31:26 +02:00