lkml.org 
[lkml]   [2002]   [Sep]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: invalidate_inode_pages in 2.5.32/3
Daniel Phillips wrote:
>
> On Wednesday 11 September 2002 02:38, Andrew Morton wrote:
> > Daniel Phillips wrote:
> > >
> > > > ...
> > > We do get
> > > around to walking the ptes at file close I believe. Is that not driven by
> > > zap_page_range, which moves any orphaned pte dirty bits down into the struct
> > > page?
> >
> > Nope, close will just leave all the pages pte-dirty or PageDirty in
> > memory. truncate will nuke all the ptes and then the pagecache.
> >
> > But the normal way in which pte-dirty pages find their way to the
> > backing file is:
> >
> > - page reclaim runs try_to_unmap or
> >
> > - user runs msync(). (Which will only clean that mm's ptes!)
> >
> > These will run set_page_dirty(), making the page visible to
> > one of the many things which run writeback.
>
> So we just quietly drop any dirty memory mapped to a file if the user doesn't
> run msync? Is that correct behaviour? It sure sounds wrong.
>

If the page is truncated then yes. (indirectly: the pte dirty
state gets flushed into PG_dirty which is then invalidated).

Otherwise, no. The pte dirtiness is propagated into PG_dirty when
the pte is detached from the page. See try_to_unmap_one() - it is
quite straightforward.
-
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-03-22 13:28    [W:0.093 / U:1.688 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site