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@xxxxxxxxxx> > --- > > 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