Conversation
|
🤖 SemverChecks 🤖 No breaking API changes detected Note: this does not mean API is unchanged, or even that there are no breaking changes; simply, none of the detections triggered. |
If it's not-present --> present, my understanding is that in worst case CPU would trigger page fault. Once it's resolved, TLB would be updated. So, we don't need to flush TLB proactively. |
There are some corner cases that I can reproduce and that's why I wrote this PR :) |
What is the corner case? |
This is about a kernel-level page fault. we don't have demand paging / page fault handler for it. |
This PR fixes missing TLB flushes. In particular, it covers cases like cross-core kernel-page not-present -> present or PDE widening, which result in faults because we do not maintain VM areas for kernel address space such that a page fault handler cannot properly update the PTEs. This PR simply flushes corresponding TLB entries.