banan-os/kernel/kernel
Bananymous 46d65471d9 Kernel: ATA now uses irqs instead of polling
Reading is now much slower at ~500 kB/s it was around 3 MB/s.
This is probably mostly due semaphore blocking taking atleast
until next reschedule (1 ms itervals). This will be a problem
as long as we are using only single processor.

I could try to use {READ/WRITE}_MULTIPLE commands, but since
most of the disk reads are 2 sectors (inode block size) this
will at most double the speed.

Most efficient speed up would of course be caching disk access
data and inodes overall.
2023-04-03 00:03:38 +03:00
..
FS Kernel: cleanup includes 2023-04-01 02:14:49 +03:00
Input Kernel: cleanup includes 2023-04-01 02:14:49 +03:00
Storage Kernel: ATA now uses irqs instead of polling 2023-04-03 00:03:38 +03:00
ACPI.cpp Kernel: ACPI unmap_header does not do anything 2023-03-28 02:56:44 +03:00
APIC.cpp Kernel: Move ACPI to its own file 2023-03-27 17:30:45 +03:00
CPUID.cpp All: rename every function from UpperCamelCase to snake_case 2023-02-01 21:05:44 +02:00
Debug.cpp Kernel: Disable color after Debug::dump_stack_trace 2023-03-08 02:41:44 +02:00
Device.cpp Kernel: Move DeviceManager to its own file 2023-03-30 22:39:45 +03:00
DeviceManager.cpp Kernel: ATA now uses irqs instead of polling 2023-04-03 00:03:38 +03:00
Font.cpp Kernel: Rework processes and VFS so we don't expose inodes 2023-03-26 04:30:57 +03:00
InterruptController.cpp Kernel: Create CriticalScope and fix kmalloc 2023-03-08 13:55:53 +02:00
PCI.cpp Kernel: PCIDevice is now class with getters and constructor 2023-03-08 02:41:44 +02:00
PIC.cpp All: rename every function from UpperCamelCase to snake_case 2023-02-01 21:05:44 +02:00
PIT.cpp Kernel: cleanup includes 2023-04-01 02:14:49 +03:00
Process.cpp Kernel: Process gets absolute paths for mount 2023-04-01 00:30:11 +03:00
RTC.cpp Kernel/BAN: move unix time conversion to BAN and add stat to Shell 2023-03-27 00:49:58 +03:00
SSP.cpp All: rename every function from UpperCamelCase to snake_case 2023-02-01 21:05:44 +02:00
Scheduler.cpp Kernel: Thread is no longer RefCounted 2023-03-30 19:16:51 +03:00
Semaphore.cpp Kernel: cleanup includes 2023-04-01 02:14:49 +03:00
Serial.cpp All: rename every function from UpperCamelCase to snake_case 2023-02-01 21:05:44 +02:00
Shell.cpp Kernel: Shell cleanup cat command 2023-04-01 00:54:39 +03:00
SpinLock.cpp Kernel: Thread is no longer RefCounted 2023-03-30 19:16:51 +03:00
Syscall.cpp Kernel/Userspace: Start initial work on userspace and syscalls 2023-03-13 15:32:46 +02:00
TTY.cpp Kernel: TTY buffer is resized on font size change 2023-03-22 02:09:22 +02:00
Thread.cpp Kernel: Thread is no longer RefCounted 2023-03-30 19:16:51 +03:00
VesaTerminalDriver.cpp Kernel: MMU now takes flags when allocating pages 2023-03-01 21:21:56 +02:00
build_libc.cpp Kernel: Add support for arrow keys in Shell 2023-01-13 15:07:24 +02:00
kernel.cpp Kernel: Move DeviceManager to its own file 2023-03-30 22:39:45 +03:00
kmalloc.cpp Kernel: kmalloc minimum align is forced to s_kmalloc_min_align 2023-03-09 14:37:25 +02:00