lkml.org 
[lkml]   [2005]   [Sep]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 04/21] mm: zap_pte_range dont dirty anon
    Hugh Dickins <hugh@veritas.com> wrote:
    >
    > zap_pte_range already avoids wasting time to mark_page_accessed on anon
    > pages: it can also skip anon set_page_dirty - the page only needs to be
    > marked dirty if shared with another mm, but that will say pte_dirty too.
    >

    Are you sure about this?

    > --- mm03/mm/memory.c 2005-09-24 19:26:38.000000000 +0100
    > +++ mm04/mm/memory.c 2005-09-24 19:27:05.000000000 +0100
    > @@ -574,12 +574,14 @@ static void zap_pte_range(struct mmu_gat
    > addr) != page->index)
    > set_pte_at(tlb->mm, addr, pte,
    > pgoff_to_pte(page->index));
    > - if (pte_dirty(ptent))
    > - set_page_dirty(page);
    > if (PageAnon(page))
    > dec_mm_counter(tlb->mm, anon_rss);
    > - else if (pte_young(ptent))
    > - mark_page_accessed(page);
    > + else {
    > + if (pte_dirty(ptent))
    > + set_page_dirty(page);
    > + if (pte_young(ptent))
    > + mark_page_accessed(page);
    > + }
    > tlb->freed++;
    > page_remove_rmap(page);
    > tlb_remove_page(tlb, page);

    What is the page is (for example) clean swapcache, having been recently
    faulted in. If this pte indicates that this process has modified the page
    and we don't run set_page_dirty(), the page could be reclaimed and the
    change is lost.

    Or what is the page was an anon page resulting from (say) a swapoff, and
    it's shared by two mm's and one has modified it and we drop that dirty pte?

    Or <other scenarios>.

    Need more convincing.
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-09-26 00:31    [W:0.024 / U:0.412 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site