lkml.org 
[lkml]   [2013]   [Oct]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [patch 1/3] [PATCH] mm: migration -- Do not loose soft dirty bit if page is in migration state
On Tue, Oct 08, 2013 at 06:40:30PM +0400, Cyrill Gorcunov wrote:
> On Tue, Oct 08, 2013 at 10:11:40AM -0400, Naoya Horiguchi wrote:
> > > Index: linux-2.6.git/mm/memory.c
> > > ===================================================================
> > > --- linux-2.6.git.orig/mm/memory.c
> > > +++ linux-2.6.git/mm/memory.c
> > > @@ -837,6 +837,8 @@ copy_one_pte(struct mm_struct *dst_mm, s
> > > */
> > > make_migration_entry_read(&entry);
> > > pte = swp_entry_to_pte(entry);
> > > + if (pte_swp_soft_dirty(*src_pte))
> > > + pte = pte_swp_mksoft_dirty(pte);
> > > set_pte_at(src_mm, addr, src_pte, pte);
> > > }
> > > }
> >
> > When we convert pte to swap_entry, we convert soft-dirty bit in
> > pte_to_swp_entry(). So I think that it's better to convert it back
> > in swp_entry_to_pte() when we do swap_entry-to-pte conversion.
>
> No, soft dirty bit lays _only_ inside pte entry in memory, iow
> swp_entry_t never has this bit, thus to be able to find soft dirty
> status in swp_entry_to_pte you need to extend this function and
> pass pte entry itself as an argument, which eventually will bring
> more massive patch and will be a way more confusing I think.

OK, you're right. Thanks for explanation.

> Or I misunderstood you?

No, I misread the code, sorry.

Naoya


\
 
 \ /
  Last update: 2013-10-08 17:01    [W:0.044 / U:0.432 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site