mirror of
https://github.com/RGBCube/serenity
synced 2026-01-14 11:00:59 +00:00
This patch adds three separate per-process fault counters:
- Inode faults
An inode fault happens when we've memory-mapped a file from disk
and we end up having to load 1 page (4KB) of the file into memory.
- Zero faults
Memory returned by mmap() is lazily zeroed out. Every time we have
to zero out 1 page, we count a zero fault.
- CoW faults
VM objects can be shared by multiple mappings that make their own
unique copy iff they want to modify it. The typical reason here is
memory shared between a parent and child process.
|
||
|---|---|---|
| .. | ||
| AnonymousVMObject.cpp | ||
| AnonymousVMObject.h | ||
| InodeVMObject.cpp | ||
| InodeVMObject.h | ||
| MemoryManager.cpp | ||
| MemoryManager.h | ||
| PageDirectory.cpp | ||
| PageDirectory.h | ||
| PhysicalAddress.h | ||
| PhysicalPage.cpp | ||
| PhysicalPage.h | ||
| PhysicalRegion.cpp | ||
| PhysicalRegion.h | ||
| RangeAllocator.cpp | ||
| RangeAllocator.h | ||
| Region.cpp | ||
| Region.h | ||
| VirtualAddress.h | ||
| VMObject.cpp | ||
| VMObject.h | ||