From: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
To: IWAMOTO Toshihiro <iwamoto@valinux.co.jp>
Cc: Hirokazu Takahashi <taka@valinux.co.jp>,
haveblue@us.ibm.com, raybry@engr.sgi.com, linux-mm@kvack.org
Subject: Re: question on page-migration code
Date: Fri, 15 Apr 2005 09:53:55 -0300 [thread overview]
Message-ID: <20050415125355.GA19190@logos.cnet> (raw)
In-Reply-To: <20050415064138.4AD8E70471@sv1.valinux.co.jp>
Hi Toshihiro,
On Fri, Apr 15, 2005 at 03:41:38PM +0900, IWAMOTO Toshihiro wrote:
> At Thu, 14 Apr 2005 12:57:34 -0300,
> Marcelo Tosatti wrote:
> >
> > On Wed, Apr 13, 2005 at 07:48:00PM +0900, Hirokazu Takahashi wrote:
>
> > 2) PG_dirty bit set on anonymous pages which have been migrated.
> >
> > > ray> I guess it seems to me that if a page has pte dirty set, but doesn't have
> > > ray> PG_dirty set, then that state should be carried over to the newpage after
> > > ray> a migration, rather than sweeping the pte dirty bit into the PG_dirty bit.
> >
> > The dirty bit is set by swap allocation and freeing code.
> >
> > > The implementation might be as follows:
> > > - to make try_to_unmap_one() record dirty bit in anywhere
> > > instead of calling set_page_dirty().
> > > - to make touch_unmapped_address() call get_user_pages() with
> > > the record of the dirty bit.
> >
> > Quoting Ray:
> > "Checking /proc/vmstat/pgpgout appears to indicate that the pages I am
> > migrating are being swapped out when I see the migration slow down,
> > although something is fishy with pgpgout."
> >
> > Anonymous pages seem to the problem Ray is seeing, except (1) which
> > vanishes with ext2/ext3 as he reports.
>
> I think Ray is using the word "swap" to mean "page out" and anonymous
> pages are irrelevant here, judging from his another mail (quoted below).
Ah, OK.
> At Tue, 12 Apr 2005 00:43:42 -0500,
> Ray Bryant wrote:
> : BTW, the program that I am testing creates a relatively large mapped file,
> : and, as you guessed, this file is backed by XFS. Programs that just use
> : large amounts of anonymous storage are not effected by this problem, I
> : would imagine.
>
> > One point is that if free memory is below the safe watermarks, the
> > system will vmscan, allocating swap & writing out, which is expected.
>
> If there are enough RAM, mmaped dirty pages shouldn't be written back.
> However, memory migration triggers writebacks.
>
> > > However, we have to remember that there must exit some race conditions.
> > > For example, it may fail to restore the dirty bit since the process
> > > address spaces might be deleted during the memory migration.
> > > This may occur as the process isn't suspended during the migration.
> >
> > The PG_dirty bit is set, by the migration code, for anonymous pages only.
>
> If a file page is mmaped and its PTE is dirty, the page gets PG_dirty
> bit when it is unmapped.
Right.
> > That said, I see no need to reset PG_dirty in case it was not set before
> > migration, as you propose.
>
> I think PG_dirty should be reset, as the side effect is probably
> unacceptable for Ray's application. It would be a bit more
> complicated than just changing page and PTE bits, but I think it's
> doable.
Yes, makes sense.
Question: Who is causing the writeouts here?
Is there memory pressure or is it pdflush?
Its not the migration code? (that would be a problem I think).
--
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/ .
Don't email: <a href=mailto:"aart@kvack.org"> aart@kvack.org </a>
next prev parent reply other threads:[~2005-04-15 12:53 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-04-07 22:16 question on page-migration code Ray Bryant
2005-04-07 18:08 ` Marcelo Tosatti
2005-04-11 14:20 ` Ray Bryant
2005-04-11 18:31 ` Ray Bryant
2005-04-11 23:41 ` Hirokazu Takahashi
2005-04-12 4:57 ` Ray Bryant
2005-04-12 5:43 ` Ray Bryant
2005-04-13 2:30 ` IWAMOTO Toshihiro
2005-04-13 4:43 ` Hirokazu Takahashi
2005-04-15 6:41 ` IWAMOTO Toshihiro
2005-04-15 12:53 ` Marcelo Tosatti [this message]
2005-04-18 10:37 ` IWAMOTO Toshihiro
2005-04-12 16:46 ` Dave Hansen
2005-04-13 10:48 ` Hirokazu Takahashi
2005-04-14 15:57 ` Marcelo Tosatti
2005-04-19 2:46 ` Ray Bryant
2005-04-20 18:16 ` Marcelo Tosatti
2005-04-12 19:29 ` Ray Bryant
2005-04-11 19:00 ` Ray Bryant
2005-04-11 19:59 ` Ray Bryant
2005-04-07 22:44 ` Ray Bryant
-- strict thread matches above, loose matches on Subject: below --
2005-04-07 23:05 Ray Bryant
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=20050415125355.GA19190@logos.cnet \
--to=marcelo.tosatti@cyclades.com \
--cc=haveblue@us.ibm.com \
--cc=iwamoto@valinux.co.jp \
--cc=linux-mm@kvack.org \
--cc=raybry@engr.sgi.com \
--cc=taka@valinux.co.jp \
/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.