]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - mm/rmap.c
mm: don't waste swap on locked pages
[net-next-2.6.git] / mm / rmap.c
index 0334c8f6b741072c4fb1fb4830223c1530e5919c..57ad276900c94903a2febd53e1c0d995958a38a9 100644 (file)
--- a/mm/rmap.c
+++ b/mm/rmap.c
@@ -283,7 +283,10 @@ static int page_referenced_one(struct page *page,
        if (!pte)
                goto out;
 
-       if (ptep_clear_flush_young(vma, address, pte))
+       if (vma->vm_flags & VM_LOCKED) {
+               referenced++;
+               *mapcount = 1;  /* break early from loop */
+       } else if (ptep_clear_flush_young(vma, address, pte))
                referenced++;
 
        /* Pretend the page is referenced if the task has the