lkml.org 
[lkml]   [2009]   [Mar]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [uClinux-dev] RE: [PATCH] NOMMU: Pages allocated to a ramfs inode's pagecache may get wrongly discarded
From
Date
On Thu, 2009-03-12 at 11:29 +0000, Jamie Lokier wrote:
> Berkhan, Enrik (GE Infra, Oil & Gas) wrote:
> > Andrew Morton wrote:
> > > On Wed, 11 Mar 2009 15:30:35 +0000
> > > David Howells <dhowells@redhat.com> wrote:
> > >> From: Enrik Berkhan <Enrik.Berkhan@ge.com>
> > >> The solution is to mark the pages dirty at the point of allocation by
> > >> the truncation code.
> > >
> > > Was there a specific reason for using the low-level SetPageDirty()?
> >
> > No, no specific reason. It was just my first try of a fix after spotting
> > the problem. After a short discussion with David, we decided to wait for
> > others' comments on using the low-/high-level approach.
>
> Tangentially related...
>
> Does the vm pageout logic include or skip these "dirty" pages looking
> for candidates to flush to storage? What about with MMU?

Includes them, regular pageout will try to do the writeout to clean them
and then discard them.

The ramfs stuff is rather icky in that it adds the pages to the aging
list, marks them dirty, but does not provide a writeout method.

This will make the paging code scan over them (continuously) trying to
clean them, failing that (lack of writeout method) and putting them back
on the list.


\
 
 \ /
  Last update: 2009-03-12 12:55    [from the cache]
©2003-2011 Jasper Spaans