banan-os/kernel/kernel
Bananymous 2961a49dc7 Kernel: Optimize futexes
Add support for processor local futexes. These work the exact same way
as global ones, but only lock a process specific lock and use a process
specific hash map.

Also reduce the time futex lock is held. There was no need to hold the
global lock while validating addresses in the process' address space.
2026-01-09 22:27:59 +02:00
..
ACPI Kernel: Add support for SA_SIGINFO 2025-11-17 05:26:07 +02:00
Audio Kernel: Add ioctls to select audio device's output pin 2026-01-06 22:26:11 +02:00
Device Kernel: Implement proper memory region splitting 2025-11-13 04:20:53 +02:00
FS Kernel: Decrease the number of syncs done by ext2 inodes 2026-01-01 23:54:09 +02:00
Input Kernel: Add support for DualShock 3 controllers 2026-01-03 20:07:08 +02:00
Lock Kernel: Track the number of recursive spinlocks a thread is holding 2025-06-06 06:51:15 +03:00
Memory Kernel: Fix bitmap byte index calculation in PMM 2026-01-04 01:16:43 +02:00
Networking Kernel: Rework socket binding to an address 2025-12-31 19:28:55 +02:00
Storage Kernel: Rework storage device and disk cache locking 2026-01-02 18:06:56 +02:00
Terminal Kernel: Implement FIONREAD for tty and pty 2025-11-24 18:15:10 +02:00
Timer Kernel/LibC: Use builtin functions over inline asm 2026-01-09 15:39:19 +02:00
USB Kernel/LibInput: Rework Joystick handling 2026-01-07 19:01:07 +02:00
APIC.cpp Kernel: Fix IOAPIC max redirection entry fetching 2025-08-25 17:15:55 +03:00
BootInfo.cpp Kernel: Add support for multiboot 2025-08-05 03:09:24 +03:00
CPUID.cpp Kernel: Add syscall-less clock_gettime 2026-01-08 17:13:59 +02:00
Credentials.cpp Kernel/LibC: Implement {get,set,init}groups 2025-08-10 19:57:31 +03:00
Debug.cpp Kernel: Show QR code with panic logs on kernel panic 2025-10-28 05:50:19 +02:00
ELF.cpp Kernel/LibC: Implement chroot 2025-08-11 14:07:37 +03:00
Epoll.cpp Kernel: Remove minimum timeout of 100 ms from epoll 2025-08-15 18:28:11 +03:00
Errors.cpp Kernel: Add support for ATA CHS addressing and cleanup code 2024-11-19 20:39:32 +02:00
GDT.cpp Kernel: Use syscall/sysret for syscalls in x86_64 2026-01-09 15:18:58 +02:00
IDT.cpp Kernel: Use syscall/sysret for syscalls in x86_64 2026-01-09 15:18:58 +02:00
InterruptController.cpp Kernel: Remove lai as a dependecy 2024-04-10 04:39:48 +03:00
Interruptable.cpp Kernel: Fix interrupt system 2024-09-27 15:31:31 +03:00
OpenFileDescriptorSet.cpp Kernel: Implement basic F_{GET,SET}LK{,W} 2026-01-06 21:58:56 +02:00
PCI.cpp Kernel: Implement basic AC97 driver 2025-07-15 14:17:49 +03:00
PIC.cpp Kernel: Start all processors on kernel boot 2024-03-03 02:19:43 +02:00
Panic.cpp BAN/Kernel: Rework assertion/panic system 2024-03-04 11:41:54 +02:00
Process.cpp Kernel: Optimize futexes 2026-01-09 22:27:59 +02:00
Processor.cpp Kernel: Fix 32 bit target compile and runtime 2026-01-09 17:06:57 +02:00
Random.cpp Kernel: Clobber flags in `rdrand` 2025-07-18 19:36:37 +03:00
SSP.cpp All: Cleanup all files 2024-01-24 15:53:38 +02:00
Scheduler.cpp Kernel: Use syscall/sysret for syscalls in x86_64 2026-01-09 15:18:58 +02:00
Syscall.cpp Kernel: Use syscall/sysret for syscalls in x86_64 2026-01-09 15:18:58 +02:00
Thread.cpp Kernel: Fix 32 bit target compile and runtime 2026-01-09 17:06:57 +02:00
ThreadBlocker.cpp Kernel: Rewrite ThreadBlocker 2025-07-02 00:17:42 +03:00
kernel.cpp Kernel: Use syscall/sysret for syscalls in x86_64 2026-01-09 15:18:58 +02:00