lkml.org 
[lkml]   [2007]   [Mar]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [patch 4/6] mm: merge populate and nopage into fault (fixes nonlinear)
    From
    Date
    On Wed, 2007-03-07 at 14:36 +0100, Nick Piggin wrote:
    > On Wed, Mar 07, 2007 at 02:19:22PM +0100, Peter Zijlstra wrote:
    > > On Wed, 2007-03-07 at 14:08 +0100, Nick Piggin wrote:
    > >
    > > > > > The thing is, I don't think anybody who uses these things cares
    > > > > > about any of the 'problems' you want to fix, do they? We are
    > > > > > interested in dirty pages only for the correctness issue, rather
    > > > > > than performance. Same as reclaim.
    > > > >
    > > > > If so, we can just stick to the dead slow but correct 'scan the full
    > > > > vma' page_mkclean() and nobody would ever trigger it.
    > > >
    > > > Not if we restricted it to root and mlocked tmpfs. But then why
    > > > wouldn't you just do it with the much more efficient msync walk,
    > > > so that if root does want to do writeout via these things, it does
    > > > not blow up?
    > >
    > > This is all used on ram based filesystems right, they all have
    > > BDI_CAP_NO_WRITEBACK afaik, so page_mkclean will never get called
    > > anyway. Mlock doesn't avoid getting page_mkclean called.
    > >
    > > Those who use this on a 'real' filesystem will get hit in the face by a
    > > linear scanning page_mkclean(), but AFAIK nobody does this anyway.
    >
    > But somebody might do it. I just don't know why you'd want to make
    > this _worse_ when the msync option would work?
    >
    > > Restricting it to root for such filesystems is unwanted, that'd severely
    > > handicap both UML and Oracle as I understand it (are there other users
    > > of this feature around?)
    >
    > Why? I think they all use tmpfs backings, don't they?

    Ooh, you only want to restrict remap_file_pages on mappings from bdi's
    without BDI_CAP_NO_WRITEBACK. Sure, I can live with that, and I suspect
    others can as well.

    > > msync() might never get called and then we're back with the old
    > > behaviour where we can surprise the VM with a ton of dirty pages.
    >
    > But we're root. With your patch, root *can't* do nonlinear writeback
    > well. Ever. With msync, at least you give them enough rope.

    True. We could even guesstimate the nonlinear dirty pages by subtracting
    the result of page_mkclean() from page_mapcount() and force an
    msync(MS_ASYNC) on said mapping (or all (nonlinear) mappings of the
    related file) when some threshold gets exceeded.

    > > > > What is the DoS scenario wrt reclaim? We really ought to fix that if
    > > > > real, those UML farms run on nothing but nonlinear reclaim I'd think.
    > > >
    > > > I guess you can just increase the computational complexity of
    > > > reclaim quite easily.
    > >
    > > Right, on first glance it doesn't look to be too bad, but I should take
    > > a closer look.
    >
    > Well I don't think UML uses nonlinear yet anyway, does it? Can they
    > make do with restricting nonlinear to mlocked vmas, I wonder? Probably
    > not.

    I think it does, but lets ask, Jeff?

    -
    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: 2007-03-07 14:57    [W:3.656 / U:0.320 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site