ladybird/Kernel
Tom 250a310454 Kernel: Release MM lock while yielding from inode page fault handler
We need to make sure other processors can grab the MM lock while we
wait, so release it when we might block. Reading the page from
disk may also block, so release it during that time as well.
2021-01-27 22:48:41 +01:00
..
ACPI Meta: Split debug defines into multiple headers. 2021-01-26 21:20:00 +01:00
API Kernel: Some futex improvements 2021-01-17 20:30:31 +01:00
Arch Kernel: Track processor idle state and wake processors when waking threads 2021-01-27 22:48:41 +01:00
Devices Meta: Split debug defines into multiple headers. 2021-01-26 21:20:00 +01:00
FileSystem Kernel: Make Processor::id a static function 2021-01-27 21:12:24 +01:00
Heap Meta: Split debug defines into multiple headers. 2021-01-26 21:20:00 +01:00
Interrupts Kernel: Use the CPU# as logical apic id 2021-01-27 22:48:41 +01:00
Modules Kernel: Module symbol declarations for type-checking 2020-08-12 20:40:59 +02:00
Net Meta: Split debug defines into multiple headers. 2021-01-26 21:20:00 +01:00
PCI Meta: Split debug defines into multiple headers. 2021-01-26 21:20:00 +01:00
Storage Meta: Split debug defines into multiple headers. 2021-01-26 21:20:00 +01:00
Syscalls Kernel: Remove Range "valid" state and use Optional<Range> instead 2021-01-27 21:14:42 +01:00
Tasks AK: Simplify constructors and conversions from nullptr_t 2021-01-12 09:11:45 +01:00
Time Kernel: Make Processor::id a static function 2021-01-27 21:12:24 +01:00
TTY Meta: Split debug defines into multiple headers. 2021-01-26 21:20:00 +01:00
VM Kernel: Release MM lock while yielding from inode page fault handler 2021-01-27 22:48:41 +01:00
.gitignore Meta: Removed all gitignore in the source tree only keeping the root one 2019-06-30 10:41:26 +02:00
Assertions.h Everywhere: Switch from (void) to [[maybe_unused]] (#4473) 2020-12-21 00:09:48 +01:00
CMakeLists.txt Kernel: Implement RamdiskDevice 2021-01-22 22:17:39 +01:00
CMOS.cpp Kernel: Absorb LibBareMetal back into the kernel 2020-05-16 12:00:04 +02:00
CMOS.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
CommandLine.cpp Meta+Kernel: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
CommandLine.h Kernel: Copy command line to a safe place 2020-08-25 09:48:48 +02:00
Console.cpp Kernel+LibC: Turn errno codes into a strongly typed enum 2021-01-20 23:20:02 +01:00
Console.h Kernel: Make device generate their own names 2021-01-22 22:17:39 +01:00
CoreDump.cpp Kernel: Create core dumps with S_IFREG set (regular file) 2021-01-23 17:59:42 +01:00
CoreDump.h Kernel: Embed a Metadata notes entry in coredumps 2020-12-30 16:28:27 +01:00
Debug.h.in Meta: Split debug defines into multiple headers. 2021-01-26 21:20:00 +01:00
DoubleBuffer.cpp Kernel: Merge PurgeableVMObject into AnonymousVMObject 2021-01-01 23:43:44 +01:00
DoubleBuffer.h Kernel: Move block condition evaluation out of the Scheduler 2020-11-30 13:17:02 +01:00
Forward.h Kernel: Some futex improvements 2021-01-17 20:30:31 +01:00
FutexQueue.cpp Meta: Split debug defines into multiple headers. 2021-01-26 21:20:00 +01:00
FutexQueue.h Kernel: Some futex improvements 2021-01-17 20:30:31 +01:00
init.cpp Kernel: Ensure that HPET is initialized before using random the first time 2021-01-26 21:14:44 +01:00
IO.h Kernel: Convert a bunch of String::format() => String::formatted() 2021-01-11 22:07:01 +01:00
KBuffer.h AK: Simplify constructors and conversions from nullptr_t 2021-01-12 09:11:45 +01:00
KBufferBuilder.cpp Kernel: Improve ProcFS behavior in low memory conditions 2021-01-03 22:12:19 +01:00
KBufferBuilder.h Kernel: Improve ProcFS behavior in low memory conditions 2021-01-03 22:12:19 +01:00
kprintf.cpp Everywhere: Replace a bundle of dbg with dbgln. 2021-01-09 21:11:09 +01:00
KResult.h Everywhere: Replace a bundle of dbg with dbgln. 2021-01-22 22:14:30 +01:00
kstdio.h LibC: Enable compiler warnings for printf format strings 2020-12-26 10:05:50 +01:00
KSyms.cpp Kernel: Do not assert if unable to load kernel symbols 2021-01-22 22:17:39 +01:00
KSyms.h Kernel: Update cryptically-named functions related to symbolication 2020-04-08 17:19:46 +02:00
linker.ld Kernel: Move kmalloc heaps and super pages inside .bss segment 2021-01-22 22:17:39 +01:00
Lock.cpp Meta: Split debug defines into multiple headers. 2021-01-26 21:20:00 +01:00
Lock.h Everywhere: Use CMake to generate AK/Debug.h. 2021-01-25 09:47:36 +01:00
LockMode.h Kernel: Fix Lock race causing infinite spinning between two threads 2020-12-16 23:38:17 +01:00
mkmap.sh Build: Switch to CMake :^) 2020-05-14 20:15:18 +02:00
Module.h Kernel: Move all code into the Kernel namespace 2020-02-16 01:27:42 +01:00
Multiboot.h Kernel: Parse boot modules from Multiboot specification 2021-01-22 22:17:39 +01:00
PerformanceEventBuffer.cpp Kernel+LibC: Turn errno codes into a strongly typed enum 2021-01-20 23:20:02 +01:00
PerformanceEventBuffer.h Kernel: Prune uninteresting kernel frames from profiling samples 2021-01-17 14:36:53 +01:00
PhysicalAddress.h Everywhere: Replace a bundle of dbg with dbgln. 2021-01-09 21:11:09 +01:00
Process.cpp Kernel: Keep a list of threads per Process 2021-01-27 22:48:41 +01:00
Process.h Kernel: Keep a list of threads per Process 2021-01-27 22:48:41 +01:00
ProcessGroup.cpp Kernel: Move block condition evaluation out of the Scheduler 2020-11-30 13:17:02 +01:00
ProcessGroup.h Kernel: Move block condition evaluation out of the Scheduler 2020-11-30 13:17:02 +01:00
Ptrace.cpp Kernel+LibC: Turn errno codes into a strongly typed enum 2021-01-20 23:20:02 +01:00
Ptrace.h Meta+Kernel: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
Random.cpp Kernel: Add RTC as fallback entropy source if HPET is not found 2021-01-26 21:14:44 +01:00
Random.h Kernel: Make use of interrupts as an entropy source 2021-01-24 22:16:18 +01:00
RTC.cpp Kernel: Minor tweak to now() computation 2020-08-26 08:52:07 +02:00
RTC.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Scheduler.cpp Kernel: Implement thread priority queues 2021-01-27 22:48:41 +01:00
Scheduler.h Kernel: Implement thread priority queues 2021-01-27 22:48:41 +01:00
SpinLock.h Kernel: Tag more methods and types as [[nodiscard]] 2020-12-27 11:09:30 +01:00
StdLib.cpp Kernel: Add safe atomic functions 2021-01-17 20:30:31 +01:00
StdLib.h Kernel: Add safe atomic functions 2021-01-17 20:30:31 +01:00
Syscall.cpp Kernel: Track previous mode when entering/exiting traps 2021-01-27 21:12:24 +01:00
Thread.cpp Kernel: Keep a list of threads per Process 2021-01-27 22:48:41 +01:00
Thread.h Kernel: Keep a list of threads per Process 2021-01-27 22:48:41 +01:00
ThreadBlockers.cpp Meta: Split debug defines into multiple headers. 2021-01-26 21:20:00 +01:00
ThreadTracer.cpp Kernel: PID/TID typing 2020-08-10 11:51:45 +02:00
ThreadTracer.h Kernel: PID/TID typing 2020-08-10 11:51:45 +02:00
TimerQueue.cpp Kernel: Improve time keeping and dramatically reduce interrupt load 2020-12-21 18:26:12 +01:00
TimerQueue.h Kernel: Specify default memory order for some non-synchronizing Atomics 2021-01-04 19:13:52 +01:00
UnixTypes.h Kernel+LibC: Add _SC_TTY_NAME_MAX 2021-01-18 22:28:56 +01:00
UnveilNode.h Kernel: Allow 'elevating' unveil permissions if implicitly inherited from '/' 2020-12-26 16:10:04 +01:00
UserOrKernelBuffer.cpp AK: Add StringBuilder::appendff using the new format. 2020-09-22 15:06:40 +02:00
UserOrKernelBuffer.h FileSystem: Use OutputMemoryStream instead of BufferStream. 2020-09-15 20:36:45 +02:00
VirtualAddress.h AK: Add Formatter<FormatString> as helper class. 2021-01-09 21:11:09 +01:00
WaitQueue.cpp Meta: Split debug defines into multiple headers. 2021-01-26 21:20:00 +01:00
WaitQueue.h Kernel: Fix some race conditions with Lock and waiting/waking threads 2021-01-25 22:54:55 +01:00