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.