On Mon, Aug 28, 2023 at 04:38:01AM +0000, Kasireddy, Vivek wrote: > Turns out, calling hmm_range_fault() from the invalidate callback was indeed > a problem and the reason why new pages were not faulted-in. In other words, > it looks like the invalidate callback is not the right place to invoke hmm_range_fault() > as the PTEs may not have been cleared. Yes, that is correct, you can't even do the locking properly if you invoke things like this. mmu_interval_read_retry() should continually fail while you are within the invalidate callback. Jason