linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: chrisl@vmware.com
To: Andrea Arcangeli <andrea@suse.de>
Cc: Andrew Morton <akpm@digeo.com>,
	linux-kernel@vger.kernel.org, chrisl@gnuchina.org,
	Alan Cox <alan@lxorguk.ukuu.org.uk>
Subject: Re: writepage return value check in vmscan.c
Date: Tue, 29 Oct 2002 20:13:53 -0800	[thread overview]
Message-ID: <20021030041353.GA1798@vmware.com> (raw)
In-Reply-To: <20021028213225.GL13972@dualathlon.random>

On Mon, Oct 28, 2002 at 10:32:25PM +0100, Andrea Arcangeli wrote:

> the reason it isn't easily feasible is that you can learn that the
> writepage fails way after the process isn't mapping the page anymore and

Hmm, nice to know that. When I do bigmm test, I see it kswapd call to
writepage. You are telling me at that point, bigmm is dead already?
I did not know enough about the vm system. If program did not map
this memory any more. It is ok to drop then. VMware do not care about
what is left on the ram file at all.

Thanks for you long explain.

Chris

> we can't keep unowned unwriteable dirty pages  around for long, we've to
> drop them. if the vm tried to writepage it means no one single task had
> such page mapped, so at that time of the failure we've no clue of who to
> notify for such page, all tasks just thought to have written the data
> successfully when the pte dirty bit is been trasmitted to the page dirty
> bit, by the time the page dirty bit is lost because writepage fails it's
> too late to let know the task about it, the task may be exited long ago.
> We lose track of the task when we trasmit the dirty information
> from pagetable to pte, and only after that happens we will attempt a
> writepage. So as far as I can tell the only way to fix it and to for
> example reliably send a signal to a task to notify a write is been lost,
> is to run the fs get_block(create = 1) while trasmitting the dirty bit
> from pte_t to page_t, which isn't a trivial change, certainly not
> something that would be confortable to do in 2.4 and it would affect
> performance, it is much cleaner and efficient to deal with the fs only
> at the page_t phyical pagecache layer rather than at the pte layer.
> Lefting unowned, unfreeable pages around by marking the page dirty when
> block_write_full_page fails, doesn't look a viable option, the kernel
> could do nothing but loop forever trying to write in such case.
> 
> Andrea



      reply	other threads:[~2002-10-30  4:06 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-10-24  8:25 writepage return value check in vmscan.c chrisl
2002-10-24  8:36 ` Andrew Morton
2002-10-24  9:15   ` Alan Cox
2002-10-24 11:44     ` Andrea Arcangeli
2002-10-24 16:12       ` Andrew Morton
2002-10-24 17:59     ` chrisl
2002-10-24 11:31   ` Andrea Arcangeli
2002-10-24 18:30     ` chrisl
2002-10-24 18:40       ` Andrea Arcangeli
2002-10-24 19:14         ` Rik van Riel
2002-10-24 19:25           ` Andrew Morton
2002-10-24 17:57   ` chrisl
2002-10-24 18:33     ` Andrea Arcangeli
2002-10-24 19:15       ` chrisl
2002-10-24 20:41         ` Andrea Arcangeli
2002-10-24 21:17           ` chrisl
2002-10-24 20:46         ` Andrew Morton
2002-10-24 21:23           ` chrisl
2002-10-24 21:29             ` Andrew Morton
2002-10-25 16:11               ` Paul Larson
2002-10-25 16:31                 ` Christoph Hellwig
2002-10-25 17:07                 ` Rik van Riel
2002-10-25 18:44         ` Andrew Morton
2002-10-28 19:17           ` chrisl
2002-10-28 19:53             ` Andrew Morton
2002-10-28 20:38               ` chrisl
2002-10-28 21:14               ` Andrea Arcangeli
2002-10-28  8:28         ` Christoph Rohland
2002-10-28 18:44           ` chrisl
2002-10-28 19:22             ` Andrea Arcangeli
2002-10-28 19:29               ` chrisl
2002-10-29  6:10               ` Randy.Dunlap
2002-10-29  7:08                 ` Andreas Dilger
2002-10-28 19:58       ` chrisl
2002-10-28 21:32         ` Andrea Arcangeli
2002-10-30  4:13           ` chrisl [this message]

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=20021030041353.GA1798@vmware.com \
    --to=chrisl@vmware.com \
    --cc=akpm@digeo.com \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=andrea@suse.de \
    --cc=chrisl@gnuchina.org \
    --cc=linux-kernel@vger.kernel.org \
    /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;
as well as URLs for NNTP newsgroup(s).