lkml.org 
[lkml]   [2001]   [Jun]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: 2.4.6-pre2, pre3 VM Behavior
    Date
    On Thursday 14 June 2001 17:10, John Stoffel wrote:
    > >> The file _could_ be a temporary file, which gets removed before
    > >> we'd get around to writing it to disk. Sure, the chances of this
    > >> happening with a single file are close to zero, but having 100MB
    > >> from 200 different temp files on a shell server isn't unreasonable
    > >> to expect.
    >
    > Daniel> This still doesn't make sense if the disk bandwidth isn't
    > Daniel> being used.
    >
    > And can't you tell that a certain percentage of buffers are owned by a
    > single file/process? It would seem that a simple metric of
    >
    > if ##% of the buffer/cache is used by 1 process/file, start
    > writing the file out to disk, even if there is no pressure.
    >
    > might do the trick to handle this case.

    Buffers and file pages are owned by the vfs, not processes pre se, so it
    makes accounting harder. In this case you don't care: it's a file, so in the
    absence of memory pressure and with disk bandwidth available it's better to
    get the data onto disk sooner rather than later. (This glosses over the
    question of mmap's, by the way.) It's pretty hard to see why there is any
    benefit at all in delaying, but it's clear there's a benefit in terms of data
    safety and a further benefit in terms of doing what the user expects.

    > >> Maybe we should just see if anything in the first few MB of
    > >> inactive pages was freeable, limiting the first scan to something
    > >> like 1 or maybe even 5 MB maximum (freepages.min? freepages.high?)
    > >> and flushing as soon as we find more unfreeable pages than that ?
    >
    > Daniel> For file-backed pages what we want is pretty simple: when 1)
    > Daniel> disk bandwidth is less than xx% used 2) memory pressure is
    > Daniel> moderate, just submit whatever's dirty. As pressure increases
    > Daniel> and bandwidth gets loaded up (including read traffic) leave
    > Daniel> things on the inactive list longer to allow more chances for
    > Daniel> combining and better clustering decisions.
    >
    > Would it also be good to say that pressure should increase as the
    > buffer.free percentage goes down?

    Maybe - right now getblk waits until it runs completely out of buffers of a
    given size before trying to allocate more, which means that sometimes an io
    will be delayed by the time it takes to complete a page_launder cycle. Two
    reasons why it may not be worth doing anything about this: 1) we will move
    most of the buffer users into the page cache in due course 2) the frequency
    of this kind of io delay is *probably* pretty low.

    > It won't stop you from filling the
    > buffer, but it should at least start pushing out pages to disk
    > earlier.

    --
    Daniel
    -
    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 12:55    [W:6.221 / U:0.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site