From: Andrea Arcangeli <andrea@suse.de>
To: chrisl@vmware.com
Cc: Andrew Morton <akpm@digeo.com>,
linux-kernel@vger.kernel.org, chrisl@gnuchina.org
Subject: Re: writepage return value check in vmscan.c
Date: Thu, 24 Oct 2002 20:40:05 +0200 [thread overview]
Message-ID: <20021024184005.GT3354@dualathlon.random> (raw)
In-Reply-To: <20021024183024.GC1398@vmware.com>
On Thu, Oct 24, 2002 at 11:30:24AM -0700, chrisl@vmware.com wrote:
> On Thu, Oct 24, 2002 at 01:31:06PM +0200, Andrea Arcangeli wrote:
> > On Thu, Oct 24, 2002 at 01:36:43AM -0700, Andrew Morton wrote:
> >
> > you need to preallocate the file, then to mmap it. If you do, the kernel
> > won't throw the data away. So the fix for vmware is to preallocate the
> > file and later to mmap it. This way you will be notified by -ENOSPC if
> > you run out of disk/shmfs space. Other than this I'm not so against the
> > MAP_SHARED like Andrew, the reason the API is not so clean is that we
> > cannot have an API at all inside a page fault to notify userspace that
> > the ram modifications cannot be written to disk. the page fault must be
> > transparent, there's no retvalue, so if you run out of disk space during
> > the page fault, the page fault cannot easily tell userspace. As said the
> > fix is very easy and consists in preallocating the space on disk (I
> > understand that on shmfs it may not be extremely desiderable since you
> > may prefer to defer allocation lazily to when you will need the memory
> > but assuming your allocations are worthwhile it won't make difference
> > after a few minutes/hours of usage and this way you will trap the -ENOSPC).
>
> But preallocate the vmware ram file on disk is too expensive. It will slow
> down the guest OS boot up a lot. Many user measure how fast vmware is by
> counting how many seconds it takes to boot a windows guest for example.
> For those virtual machine which have 2G or ram, how long does it take
> to write a file with 2G of data?
unfortunately I see no way around it and patching the kernel to loop
forever on dirty pages that may never be possible to write doesn't look
safe. You could check the free space on the fs and bug the user if it
has less than 2G free (still it's not 100% reliable, it's a racy check,
but you could also add a 100% reliable option that slowdown the startup
of the vm but that guarantees no corruption can happen).
Furthmore if your machine has 2G of data you're likely to have >2G of
ram and shmfs should be quick allocating 2G in such case, maybe 2/3
seconds?
Andrea
next prev parent reply other threads:[~2002-10-24 18:33 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 [this message]
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
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=20021024184005.GT3354@dualathlon.random \
--to=andrea@suse.de \
--cc=akpm@digeo.com \
--cc=chrisl@gnuchina.org \
--cc=chrisl@vmware.com \
--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).