xfs
[Top] [All Lists]

Re: shrink_active_list/try_to_release_page bug? (was Re: xfs trace in 4.

To: Holger Hoffstätte <holger@xxxxxxxxxxxxxxxxxxxxxx>
Subject: Re: shrink_active_list/try_to_release_page bug? (was Re: xfs trace in 4.4.2 / also in 4.3.3 WARNING fs/xfs/xfs_aops.c:1232 xfs_vm_releasepage)
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Fri, 3 Jun 2016 09:08:13 +1000
Cc: Stefan Priebe - Profihost AG <s.priebe@xxxxxxxxxxxx>, linux-mm@xxxxxxxxx, Minchan Kim <minchan@xxxxxxxxxx>, Brian Foster <bfoster@xxxxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx, "xfs@xxxxxxxxxxx" <xfs@xxxxxxxxxxx>
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <57502A2E.60702@xxxxxxxxxxxxxxxxxxxxxx>
References: <574BEA84.3010206@xxxxxxxxxxxx> <20160530223657.GP26977@dastard> <20160531010724.GA9616@bbox> <20160531025509.GA12670@dastard> <20160531035904.GA17371@bbox> <20160531060712.GC12670@dastard> <574D2B1E.2040002@xxxxxxxxxxxx> <20160531073119.GD12670@dastard> <575022D2.7030502@xxxxxxxxxxxx> <57502A2E.60702@xxxxxxxxxxxxxxxxxxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
On Thu, Jun 02, 2016 at 02:44:30PM +0200, Holger Hoffstätte wrote:
> On 06/02/16 14:13, Stefan Priebe - Profihost AG wrote:
> > 
> > Am 31.05.2016 um 09:31 schrieb Dave Chinner:
> >> On Tue, May 31, 2016 at 08:11:42AM +0200, Stefan Priebe - Profihost AG 
> >> wrote:
> >>>> I'm half tempted at this point to mostly ignore this mm/ behavour
> >>>> because we are moving down the path of removing buffer heads from
> >>>> XFS. That will require us to do different things in ->releasepage
> >>>> and so just skipping dirty pages in the XFS code is the best thing
> >>>> to do....
> >>>
> >>> does this change anything i should test? Or is 4.6 still the way to go?
> >>
> >> Doesn't matter now - the warning will still be there on 4.6. I think
> >> you can simply ignore it as the XFS code appears to be handling the
> >> dirty page that is being passed to it correctly. We'll work out what
> >> needs to be done to get rid of the warning for this case, wether it
> >> be a mm/ change or an XFS change.
> > 
> > Any idea what i could do with 4.4.X? Can i safely remove the WARN_ONCE
> > statement?
> 
> By definition it won't break anything since it's just a heads-up message,
> so yes, it should be "safe". However if my understanding of the situation
> is correct, mainline commit f0281a00fe "mm: workingset: only do workingset
> activations on reads" (+ friends) in 4.7 should effectively prevent this
> from happenning. Can someone confirm or deny this?

I don't think it will.  The above commits will avoid putting
/write-only/ dirty pages on the active list from the write() syscall
vector, but it won't prevent pages that are read first then dirtied
from ending up on the active list. e.g. a mmap write will first read
the page from disk to populate the page (hence it ends up on the
active list), then the page gets dirtied and ->page_mkwrite is
called to tell the filesystem....

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx

<Prev in Thread] Current Thread [Next in Thread>