On Tue, Oct 08, 2013 at 01:00:21PM +0400, Cyrill Gorcunov wrote: > In case if a page we are inspecting is laying in swap we may > occasionally report it as having soft dirty bit (even if it > is clean). pte_soft_dirty helper should be called on present > pte only. > > Signed-off-by: Cyrill Gorcunov <[email protected]> > Cc: Pavel Emelyanov <[email protected]> > Cc: Andy Lutomirski <[email protected]> > Cc: Andrew Morton <[email protected]> > Cc: Matt Mackall <[email protected]> > Cc: Xiao Guangrong <[email protected]> > Cc: Marcelo Tosatti <[email protected]> > Cc: KOSAKI Motohiro <[email protected]> > Cc: Stephen Rothwell <[email protected]> > Cc: Peter Zijlstra <[email protected]> > Cc: "Aneesh Kumar K.V" <[email protected]>
Looks nice to me. Reviewed-by: Naoya Horiguchi <[email protected]> > --- > fs/proc/task_mmu.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > Index: linux-2.6.git/fs/proc/task_mmu.c > =================================================================== > --- linux-2.6.git.orig/fs/proc/task_mmu.c > +++ linux-2.6.git/fs/proc/task_mmu.c > @@ -941,6 +941,8 @@ static void pte_to_pagemap_entry(pagemap > frame = pte_pfn(pte); > flags = PM_PRESENT; > page = vm_normal_page(vma, addr, pte); > + if (pte_soft_dirty(pte)) > + flags2 |= __PM_SOFT_DIRTY; > } else if (is_swap_pte(pte)) { > swp_entry_t entry; > if (pte_swp_soft_dirty(pte)) > @@ -960,7 +962,7 @@ static void pte_to_pagemap_entry(pagemap > > if (page && !PageAnon(page)) > flags |= PM_FILE; > - if ((vma->vm_flags & VM_SOFTDIRTY) || pte_soft_dirty(pte)) > + if ((vma->vm_flags & VM_SOFTDIRTY)) > flags2 |= __PM_SOFT_DIRTY; > > *pme = make_pme(PM_PFRAME(frame) | PM_STATUS2(pm->v2, flags2) | flags); > > -- > To unsubscribe, send a message with 'unsubscribe linux-mm' in > the body to [email protected]. For more info on Linux MM, > see: http://www.linux-mm.org/ . > Don't email: <a href=mailto:"[email protected]"> [email protected] </a> > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

