The .change_pte() MMU notifier callback was intended as an
optimization. The original point of it was that KSM could tell KVM to flip
its secondary PTE to a new location without having to first zap it. At
the time there was also an .invalidate_page() callback; both of them were
*not* bracketed by calls to mmu_notifier_invalidate_range_{start,end}(),
and .invalidate_page() also doubled as a fallback implementation of
.change_pte().
Later on, however, both callbacks were changed to occur within an
invalidate_range_start/end() block.
In the case of .change_pte(), commit
|
||
|---|---|---|
| .. | ||
| events | ||
| misc | ||
| stages | ||
| bpf_probe.h | ||
| define_custom_trace.h | ||
| define_trace.h | ||
| perf.h | ||
| syscall.h | ||
| trace_custom_events.h | ||
| trace_events.h | ||