|
|
@@ -1609,6 +1609,8 @@ static int rmap_walk_anon(struct page *page, struct rmap_walk_control *rwc)
|
|
|
struct vm_area_struct *vma = avc->vma;
|
|
|
unsigned long address = vma_address(page, vma);
|
|
|
|
|
|
+ cond_resched();
|
|
|
+
|
|
|
if (rwc->invalid_vma && rwc->invalid_vma(vma, rwc->arg))
|
|
|
continue;
|
|
|
|
|
|
@@ -1658,6 +1660,8 @@ static int rmap_walk_file(struct page *page, struct rmap_walk_control *rwc)
|
|
|
vma_interval_tree_foreach(vma, &mapping->i_mmap, pgoff, pgoff) {
|
|
|
unsigned long address = vma_address(page, vma);
|
|
|
|
|
|
+ cond_resched();
|
|
|
+
|
|
|
if (rwc->invalid_vma && rwc->invalid_vma(vma, rwc->arg))
|
|
|
continue;
|
|
|
|