Page faults occurs when the process tries to access a memory that isnât backed by a physical page kernel raises a fault which loads a page. It happens on first access, stack expansion, COW, swap and much more. However it comes with a cost.Â
In this episode of the backend engineering show I dissect the need and the cost page faults in the kernel.Â
0:00 IntroÂ
4:00 Virtual memory
Abstraction of physical memory
Memory sharing
Allow more processes to run , unused go to disk
Numa, kernel can place memory near the cpu
12:00 VMA areas
Text/codeÂ
DataÂ
BSS
Heap
Stack
19:50 Kernel mode
25:30 What is a Page fault?
30:30 First access page fault
33:00 Stack Expansion page fault
34:30 CoW page fault
38:00 Swap page fault
39:39 File backed page fault
40:29 Permission page faultÂ
45:30 Summary