From: Daniel Phillips <phillips@arcor.de>
To: Andrew Morton <akpm@zip.com.au>, Rik van Riel <riel@conectiva.com.br>
Cc: "linux-mm@kvack.org" <linux-mm@kvack.org>
Subject: Re: MAP_SHARED handling
Date: Thu, 5 Sep 2002 18:52:47 +0200 [thread overview]
Message-ID: <E17mzs8-00068y-00@starship> (raw)
In-Reply-To: <3D7705C5.E41B5D5F@zip.com.au>
On Thursday 05 September 2002 09:20, Andrew Morton wrote:
> One thing bugs me a little bit.
>
> A program has a huge MAP_SHARED segment and dirties it. The VM
> walks the LRU, propagating the pte dirtiness into the pageframe
> and *immediately* writes the page out:
>
> switch (try_to_unmap(page))
> case SWAP_SUCCESS:
> break;
> }
>
> if (PageDirty(page))
> vm_writeback(page->mapping);
>
> This has a few small irritations.
>
> - We'll be calling ->vm_writeback() once per page, and it'll only
> discover a single dirty page on swapper_space.dirty_pages.
>
> This is a little CPU-inefficient. Be nicer to build up a few
> dirty pages on swapper_space before launching vm_writeback
> against it.
>
> - My dirty page accounting tells lies. In /proc/meminfo, `Dirty'
> is just a few tens of kilobytes, and `Writeback' is a meg or two.
>
> But in reality, there are a huge number of dirty pages - we just
> don't know about them yet.
>
> And there's some benefit in making `Dirty' more accurate, because
> that will cause balance_dirty_pages() to clamp down harder on
> write(2) callers.
>
>
> So.... Could we do something like: if the try_to_unmap() call turned
> the page from !PageDirty to PageDirty, give it another go around the
> list?
Why not just ensure the page is scheduled for writing, sometime,
we don't care exactly when as long as it's relatively soon. Just bump
the page's mapping to the hot end of your writeout list and let things
take their course.
--
Daniel
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/
next prev parent reply other threads:[~2002-09-05 16:52 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-09-05 7:20 Andrew Morton
2002-09-05 12:35 ` Rik van Riel
2002-09-05 16:52 ` Daniel Phillips [this message]
2002-09-05 17:47 ` Andrew Morton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=E17mzs8-00068y-00@starship \
--to=phillips@arcor.de \
--cc=akpm@zip.com.au \
--cc=linux-mm@kvack.org \
--cc=riel@conectiva.com.br \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox