banan-os/kernel/include/kernel
Bananymous ed82a18e2a Kernel: Fix deadlock in ext2 filesystem
If multiple threads were waiting for more block buffers without anyone
releasing them, they ended up in a deadlock.

Now we store 6 blocks for 8 threads. If a thread already has a block
buffer, it will not have to wait for a new one. Only if there are more
than 8 threads using blocks, will it block until there are free slots
for a thread available.
2026-01-10 00:30:30 +02:00
..
ACPI Kernel: Add missing ACPI resource header 2025-08-19 16:23:30 +03:00
API Kernel: Use syscall/sysret for syscalls in x86_64 2026-01-09 15:18:58 +02:00
Audio Kernel: Add ioctls to select audio device's output pin 2026-01-06 22:26:11 +02:00
Device Kernel: Add support for DualShock 3 controllers 2026-01-03 20:07:08 +02:00
FS Kernel: Fix deadlock in ext2 filesystem 2026-01-10 00:30:30 +02:00
Input Kernel: Add support for DualShock 3 controllers 2026-01-03 20:07:08 +02:00
Lock Kernel: Implement basic RWLock 2026-01-02 17:50:22 +02:00
Memory Kernel: Implement proper memory region splitting 2025-11-13 04:20:53 +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/LibC: Rework TIOC{G,S}WINSZ more linux like 2025-06-28 19:40:54 +03:00
Timer Kernel: Add syscall-less clock_gettime 2026-01-08 17:13:59 +02:00
USB Kernel: Expose usb device's device descriptor 2026-01-08 13:46:11 +02:00
APIC.h Kernel: Add API to reserve GSI instead of irq 2025-04-01 23:09:30 +03:00
Arch.h Kernel: Replace i386 with i686 2024-03-26 02:48:26 +02:00
Attributes.h Kernel: add NEVER_INLINE and make Interruptable not constructable 2023-10-13 16:17:27 +03:00
BananBootloader.h Kernel: Add support for text mode terminal 2025-04-18 02:45:06 +03:00
BootInfo.h Kernel: Don't ignore modules passed with multiboot2 2025-07-02 00:17:42 +03:00
CPUID.h Kernel: Add syscall-less clock_gettime 2026-01-08 17:13:59 +02:00
Credentials.h Kernel/LibC: Implement {get,set,init}groups 2025-08-10 19:57:31 +03:00
Debug.h Kernel: Implement HD audio driver 2026-01-06 22:26:10 +02:00
ELF.h Kernel/LibC: Implement chroot 2025-08-11 14:07:37 +03:00
Epoll.h BuildSystem: binutils1.39->1.44, gcc12.2.0->15.1.0 2025-06-19 19:00:50 +03:00
Errors.h Kernel: Add support for ATA CHS addressing and cleanup code 2024-11-19 20:39:32 +02:00
GDT.h Kernel: Use syscall/sysret for syscalls in x86_64 2026-01-09 15:18:58 +02:00
IDT.h Kernel: Use syscall/sysret for syscalls in x86_64 2026-01-09 15:18:58 +02:00
IO.h All: Cleanup all files 2024-01-24 15:53:38 +02:00
InterruptController.h Kernel: Implement API for sending IPIs for only one processor 2024-07-21 17:30:59 +03:00
InterruptStack.h Kernel: Rewrite the whole scheduler and re-architecture SMP handling 2024-07-22 00:33:50 +03:00
Interruptable.h Kernel: Fix interrupt system 2024-09-27 15:31:31 +03:00
MMIO.h All: Cleanup all files 2024-01-24 15:53:38 +02:00
OpenFileDescriptorSet.h Kernel: Implement fd passing with SCM_RIGTHS 2025-11-12 00:06:36 +02:00
PCI.h Kernel: Use syscall/sysret for syscalls in x86_64 2026-01-09 15:18:58 +02:00
PIC.h Kernel: Force PCI irq line usage when not using APIC 2024-07-23 09:08:00 +03:00
Panic.h Kernel: Show QR code with panic logs on kernel panic 2025-10-28 05:50:19 +02:00
Process.h Kernel: Optimize futexes 2026-01-09 22:27:59 +02:00
Processor.h Kernel/LibC: Use builtin functions over inline asm 2026-01-09 15:39:19 +02:00
ProcessorID.h Kernel: Make thread unblocking O(1) 2024-07-24 00:31:01 +03:00
RSDP.h Kernel: Parse RSDP from multiboot headers if exists 2024-01-26 00:49:42 +02:00
Random.h Kernel: Fix Random.h includes 2025-05-13 10:16:21 +03:00
Scheduler.h Kernel: Cleanup scheduling while idling 2025-12-31 19:28:55 +02:00
SchedulerQueueNode.h Kernel: Rewrite ThreadBlocker 2025-07-02 00:17:42 +03:00
Thread.h Kernel: Add syscall-less clock_gettime 2026-01-08 17:13:59 +02:00
ThreadBlocker.h Kernel: Rewrite ThreadBlocker 2025-07-02 00:17:42 +03:00
multiboot.h Kernel: Add missing multiboot.h 2025-08-05 17:12:26 +03:00
multiboot2.h Kernel: Don't ignore modules passed with multiboot2 2025-07-02 00:17:42 +03:00