On 06/24, Oleg Nesterov wrote:
>
> Perhaps we can later optimize this code a bit? I mean something like
>
>       start_reachable = ...;
>       end_reachable = ...;
>
>       VMA_ITERATOR(vmi, mm, start_reachable);
>
>       for_each_vma(vmi, vma) {
>               if (!vma_is_special_mapping(...))
>                       continue;
>               if (vma->vm_start > end_reachable)
>                       break;
>               return vma;
>       }

I have looked into include/linux/mm.h, we have for_each_vma_range(). So I guess

        for_each_vma_range(vmi, vma, end_reachable) {
                if (vma_is_special_mapping(...))
                        return vma;
        }

should work.

Oleg.


Reply via email to