On Fri, May 15, 2020 at 06:04:24PM -0700, Ralph Campbell wrote:
The test driver uses an xa_array to store virtual to physical address translations for a simulated hardware device. The MMU notifier invalidation callback is used to keep the table consistent with the CPU page table and is frequently called only for a page or two. However, if the test process exits unexpectedly or is killed, the range can be [0..ULONG_MAX] in which case calling xa_erase() for every possible PFN results in CPU timeouts. Use xa_for_each_range() to efficiently erase entries in the range.
Signed-off-by: Ralph Campbell rcampbell@nvidia.com
This patch is based on Jason Gunthorpe's hmm tree and should be folded into the ("mm/hmm/test: add selftest driver for HMM") patch once this patch is reviewed, etc.
v1 -> v2: Use xa_for_each_range() instead of special casing [0..ULONG_MAX].
lib/test_hmm.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
I squashed this in
Thanks, Jason