ladybird/Kernel
Tom bc5d6992a4 Kernel: Memory purging improvements
This adds the ability for a Region to define volatile/nonvolatile
areas within mapped memory using madvise(). This also means that
memory purging takes into account all views of the PurgeableVMObject
and only purges memory that is not needed by all of them. When calling
madvise() to change an area to nonvolatile memory, return whether
memory from that area was purged. At that time also try to remap
all memory that is requested to be nonvolatile, and if insufficient
pages are available notify the caller of that fact.
2021-01-01 23:43:44 +01:00
..
ACPI Everywhere: Re-format with clang-format-11 2020-12-31 21:51:00 +01:00
API Everywhere: Re-format with clang-format-11 2020-12-31 21:51:00 +01:00
Arch Everywhere: Re-format with clang-format-11 2020-12-31 21:51:00 +01:00
Devices Everywhere: Fix more typos 2020-12-31 01:47:41 +01:00
FileSystem Kernel: Memory purging improvements 2021-01-01 23:43:44 +01:00
Heap Kernel: Memory purging improvements 2021-01-01 23:43:44 +01:00
Interrupts Everywhere: Re-format with clang-format-11 2020-12-31 21:51:00 +01:00
Modules
Net Everywhere: Re-format with clang-format-11 2020-12-31 21:51:00 +01:00
PCI Everywhere: Re-format with clang-format-11 2020-12-31 21:51:00 +01:00
Storage Kernel: Allow to boot from a partition with partition UUID 2021-01-01 22:59:48 +01:00
Syscalls Kernel: Memory purging improvements 2021-01-01 23:43:44 +01:00
Tasks
Time Everywhere: Re-format with clang-format-11 2020-12-31 21:51:00 +01:00
TTY Everywhere: Re-format with clang-format-11 2020-12-31 21:51:00 +01:00
VM Kernel: Memory purging improvements 2021-01-01 23:43:44 +01:00
.gitignore
Assertions.h Everywhere: Switch from (void) to [[maybe_unused]] (#4473) 2020-12-21 00:09:48 +01:00
CMakeLists.txt Kernel: Allow to boot from a partition with partition UUID 2021-01-01 22:59:48 +01:00
CMOS.cpp
CMOS.h
CommandLine.cpp
CommandLine.h
Console.cpp
Console.h Kernel: Add a method to determine the desired permissions of a Device 2020-12-27 23:07:44 +01:00
CoreDump.cpp Kernel: Embed a Metadata notes entry in coredumps 2020-12-30 16:28:27 +01:00
CoreDump.h Kernel: Embed a Metadata notes entry in coredumps 2020-12-30 16:28:27 +01:00
DoubleBuffer.cpp
DoubleBuffer.h
Forward.h
init.cpp Kernel: Introduce a new partitioning subsystem 2020-12-27 23:07:44 +01:00
IO.h
KBuffer.h Kernel: Make KBuffer::try_create_with_bytes() actually copy the bytes 2020-12-23 00:40:11 +01:00
KBufferBuilder.cpp Kernel: Move KBufferBuilder to the fallible KBuffer API 2020-12-18 19:22:26 +01:00
KBufferBuilder.h Kernel: Move KBufferBuilder to the fallible KBuffer API 2020-12-18 19:22:26 +01:00
kprintf.cpp
KResult.h Everywhere: Re-format with clang-format-11 2020-12-31 21:51:00 +01:00
kstdio.h LibC: Enable compiler warnings for printf format strings 2020-12-26 10:05:50 +01:00
KSyms.cpp Kernel+LibELF: Stop doing ELF symbolication in the kernel 2020-12-25 01:03:46 +01:00
KSyms.h
linker.ld
Lock.cpp
Lock.h
LockMode.h
mkmap.sh
Module.h
Multiboot.h
PerformanceEventBuffer.cpp Kernel: Use fallible KBuffer API in PerformanceEventBuffer 2020-12-19 10:23:12 +01:00
PerformanceEventBuffer.h Everywhere: Re-format with clang-format-11 2020-12-31 21:51:00 +01:00
PhysicalAddress.h
Process.cpp Kernel: Memory purging improvements 2021-01-01 23:43:44 +01:00
Process.h Kernel: Add sys$set_coredump_metadata() syscall 2020-12-30 16:28:27 +01:00
ProcessGroup.cpp
ProcessGroup.h
Profiling.cpp Kernel+LibELF: Stop doing ELF symbolication in the kernel 2020-12-25 01:03:46 +01:00
Profiling.h
Ptrace.cpp Kernel+LibC: Introduce a "dumpable" flag for processes 2020-12-25 19:35:55 +01:00
Ptrace.h
Random.cpp
Random.h Kernel: Tag more methods and types as [[nodiscard]] 2020-12-27 11:09:30 +01:00
RTC.cpp
RTC.h
Scheduler.cpp AK: Remove custom %w format string specifier 2020-12-25 17:05:05 +01:00
Scheduler.h
SharedBuffer.cpp Kernel: Memory purging improvements 2021-01-01 23:43:44 +01:00
SharedBuffer.h Kernel: Memory purging improvements 2021-01-01 23:43:44 +01:00
SpinLock.h Kernel: Tag more methods and types as [[nodiscard]] 2020-12-27 11:09:30 +01:00
StdLib.cpp
StdLib.h
Syscall.cpp Kernel: Don't allow modifying IOPL via sys$ptrace() or sys$sigreturn() 2020-12-22 19:38:25 +01:00
Thread.cpp AK: Remove custom %w format string specifier 2020-12-25 17:05:05 +01:00
Thread.h Kernel: Fix BlockCondition::unblock return value 2020-12-31 10:52:58 +01:00
ThreadBlockers.cpp Kernel: Consolidate the various BlockCondition::unblock variants 2020-12-30 13:23:17 +01:00
ThreadTracer.cpp
ThreadTracer.h
TimerQueue.cpp Kernel: Improve time keeping and dramatically reduce interrupt load 2020-12-21 18:26:12 +01:00
TimerQueue.h Kernel: Improve time keeping and dramatically reduce interrupt load 2020-12-21 18:26:12 +01:00
UnixTypes.h Everywhere: Re-format with clang-format-11 2020-12-31 21:51:00 +01:00
UnveilNode.h Kernel: Allow 'elevating' unveil permissions if implicitly inherited from '/' 2020-12-26 16:10:04 +01:00
UserOrKernelBuffer.cpp
UserOrKernelBuffer.h
VirtualAddress.cpp AK+Format: Remove TypeErasedFormatParams& from format function. 2020-12-30 20:33:53 +01:00
VirtualAddress.h AK+Format: Remove TypeErasedFormatParams& from format function. 2020-12-30 20:33:53 +01:00
WaitQueue.cpp Everywhere: Fix more typos 2020-12-31 01:47:41 +01:00
WaitQueue.h