From: Andrew Morton <akpm@zip.com.au>
To: Rik van Riel <riel@conectiva.com.br>
Cc: "linux-mm@kvack.org" <linux-mm@kvack.org>
Subject: MAP_SHARED handling
Date: Thu, 05 Sep 2002 00:20:37 -0700 [thread overview]
Message-ID: <3D7705C5.E41B5D5F@zip.com.au> (raw)
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?
--
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 reply other threads:[~2002-09-05 7:20 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-09-05 7:20 Andrew Morton [this message]
2002-09-05 12:35 ` MAP_SHARED handling Rik van Riel
2002-09-05 16:52 ` Daniel Phillips
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=3D7705C5.E41B5D5F@zip.com.au \
--to=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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.