ladybird/Kernel/VM
Andreas Kling 379bcd26e4 Kernel: Avoid O(n) loop over zones when allocating from PhysicalRegion
We now keep all the PhysicalZones on one of two intrusive lists within
the PhysicalRegion.

The "usable" list contains all zones that can be allocated from,
and the "full" list contains all zones with no free pages.
2021-07-13 23:08:45 +02:00
..
AllocationStrategy.h Everywhere: Use "the SerenityOS developers." in copyright headers 2021-04-29 00:59:26 +02:00
AnonymousVMObject.cpp Kernel: Remove "supervisor" bit from PhysicalPage 2021-07-12 11:09:42 +02:00
AnonymousVMObject.h Kernel: Rename VMObject::clone() => try_clone() 2021-07-11 19:09:02 +02:00
ContiguousVMObject.cpp Kernel: Remove API for requesting physical allocation alignment 2021-07-13 22:40:25 +02:00
ContiguousVMObject.h Kernel: Remove API for requesting physical allocation alignment 2021-07-13 22:40:25 +02:00
InodeVMObject.cpp Kernel: Remove unused header includes in VM subtree 2021-07-11 21:37:38 +02:00
InodeVMObject.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
MappedROM.h Kernel: Pull apart CPU.h 2021-06-24 00:38:23 +02:00
MemoryManager.cpp Kernel: Remove PhysicalRegion::finalize_capacity() 2021-07-13 22:40:25 +02:00
MemoryManager.h Kernel: Remove API for requesting physical allocation alignment 2021-07-13 22:40:25 +02:00
PageDirectory.cpp Kernel: Remove "supervisor" bit from PhysicalPage 2021-07-12 11:09:42 +02:00
PageDirectory.h Kernel: Use Forward.h headers more 2021-07-11 14:14:51 +02:00
PageFaultResponse.h Everywhere: Use "the SerenityOS developers." in copyright headers 2021-04-29 00:59:26 +02:00
PhysicalPage.cpp Kernel: Implement zone-based buddy allocator for physical memory 2021-07-13 22:40:25 +02:00
PhysicalPage.h Kernel: Implement zone-based buddy allocator for physical memory 2021-07-13 22:40:25 +02:00
PhysicalRegion.cpp Kernel: Avoid O(n) loop over zones when allocating from PhysicalRegion 2021-07-13 23:08:45 +02:00
PhysicalRegion.h Kernel: Avoid O(n) loop over zones when allocating from PhysicalRegion 2021-07-13 23:08:45 +02:00
PhysicalZone.cpp Kernel: Implement zone-based buddy allocator for physical memory 2021-07-13 22:40:25 +02:00
PhysicalZone.h Kernel: Avoid O(n) loop over zones when allocating from PhysicalRegion 2021-07-13 23:08:45 +02:00
PrivateInodeVMObject.cpp Kernel: Rename VMObject::clone() => try_clone() 2021-07-11 19:09:02 +02:00
PrivateInodeVMObject.h Kernel: Rename VMObject::clone() => try_clone() 2021-07-11 19:09:02 +02:00
ProcessPagingScope.cpp Kernel: Remove unused header includes in VM subtree 2021-07-11 21:37:38 +02:00
ProcessPagingScope.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
PurgeablePageRanges.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
PurgeablePageRanges.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Range.cpp Kernel: Move special sections into Sections.h 2021-06-24 00:38:23 +02:00
Range.h Kernel: Add formatter for Kernel::Range 2021-07-11 19:42:00 +02:00
RangeAllocator.cpp Kernel: Remove unused header includes in VM subtree 2021-07-11 21:37:38 +02:00
RangeAllocator.h Kernel: Move special sections into Sections.h 2021-06-24 00:38:23 +02:00
Region.cpp Kernel: Allow Lock to block from BlockCondition 2021-07-12 11:27:18 +02:00
Region.h Kernel: Allow Lock to block from BlockCondition 2021-07-12 11:27:18 +02:00
RingBuffer.cpp Kernel: Add support for reading from VirtIOConsole 2021-07-09 13:19:21 +04:30
RingBuffer.h Kernel: Support multiport for VirtIOConsole 2021-07-09 13:19:21 +04:30
ScatterGatherList.cpp Kernel: Rename various *VMObject::create*() => try_create() 2021-07-11 17:55:29 +02:00
ScatterGatherList.h Kernel: Remove unused header includes in VM subtree 2021-07-11 21:37:38 +02:00
SharedInodeVMObject.cpp Kernel: Use "new (nothrow)" for SharedInodeVMObject 2021-07-11 21:56:26 +02:00
SharedInodeVMObject.h Kernel: Rename VMObject::clone() => try_clone() 2021-07-11 19:09:02 +02:00
Space.cpp Kernel: Make Region splitting OOM-safe 2021-07-11 18:52:27 +02:00
Space.h Kernel: Make Region splitting OOM-safe 2021-07-11 18:52:27 +02:00
TypedMapping.h Kernel/TypedMapping: Round up length with offset_in_page 2021-07-02 13:16:12 +02:00
VMObject.cpp Kernel: Store VMObject physical pages in a FixedArray 2021-07-11 17:42:31 +02:00
VMObject.h Kernel: Rename VMObject::clone() => try_clone() 2021-07-11 19:09:02 +02:00