Re: [PATCH v2 1/3] mm: fixup pfnmap memory failure handling to use pgoff

From: Ankit Agrawal
Date: Wed Dec 17 2025 - 17:46:03 EST


>>       i_mmap_lock_read(mapping);
>>       rcu_read_lock();
>> @@ -2226,9 +2230,12 @@ static void collect_procs_pfn(struct address_space *mapping,
>>               t = task_early_kill(tsk, true);
>>               if (!t)
>>                       continue;
>> -             vma_interval_tree_foreach(vma, &mapping->i_mmap, pfn, pfn) {
>> -                     if (vma->vm_mm == t->mm)
>> -                             add_to_kill_pfn(t, vma, to_kill, pfn);
>> +             vma_interval_tree_foreach(vma, &mapping->i_mmap, 0, ULONG_MAX) {
>> +                     pgoff_t pgoff;
>
> IIUC, all vma will be traversed to find the final pgoff. This might not be a good idea
> because rcu lock is held and this traversal might take a really long time. Or am I miss
> something?

Hi Miaohe, the VMAs on the registered address space will be checked. For the nvgrace-gpu
user of this API in 3/3, there are only 3 VMAs on the registered address space (that are
associated with the vfio file).