public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Oren Laadan <orenl@cs.columbia.edu>
To: Dave Hansen <dave@linux.vnet.ibm.com>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>,
	"Serge E. Hallyn" <serue@us.ibm.com>,
	Kirill Korotaev <dev@parallels.com>,
	containers@lists.linux-foundation.org,
	linux-kernel@vger.kernel.org, Nadia.Derbey@bull.net,
	Andrew Morton <akpm@linux-foundation.org>,
	nick@nick-andrew.net, Alexey Dobriyan <adobriyan@gmail.com>
Subject: Re: Checkpoint/restart (was Re: [PATCH 0/4] - v2 - Object creation with a specified id)
Date: Thu, 17 Jul 2008 19:19:51 -0400	[thread overview]
Message-ID: <487FD397.5040905@cs.columbia.edu> (raw)
In-Reply-To: <1215719252.9398.53.camel@nimitz>



Dave Hansen wrote:
> On Thu, 2008-07-10 at 12:21 -0700, Eric W. Biederman wrote:
>>> Are we talking about the VMA itself, or the memory backing the VMA?
>> The memory backing the VMA.  We need to store the page protections
>> that the memory was mapped with as well now that you point it out.  A
>> VMA is not user space visible, which is why we can arbitrarily split
>> and merge VMAs.
> 
> It is visible with /proc/$pid/{maps,smaps,numamaps?}.  That's the only
> efficient way I know of from userspace to figure out where userspace's
> memory is and if it *is* file backed, and what the permissions are.
> 
> We also can't truly split them arbitrarily because the memory cost of
> the VMAs themselves might become too heavy (the remap_file_pages()
> problem).
> 
> It gets trickier when things are also private mappings in addition to
> being in a file-backed VMA.  We *do* need to checkpoint those, but only
> the pages to which there was a write.
> 
> There's also the problem of restoring things read-only, but VM_MAYWRITE.
> If there's a high level of (non-COW'd) sharing of these anonymous areas,
> we may not be able to even restore the set of processes unless we can
> replicate the sharing.  We might run out of memory if the sharing isn't
> replicated.
> 
> Memory is fun! :)

Heh .. and it can get much worse.  By all means, the functions that analyze
and save the VMAs during checkpoint and later reconstruct them during restart
are the most complicated logic. The good news, however, is that it works :)

Oren.

> 
> -- Dave
> 

  parent reply	other threads:[~2008-07-17 23:22 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-18  5:44 [PATCH 0/4] - v2 - Object creation with a specified id Nadia.Derbey
2008-04-18  5:45 ` [PATCH 1/4] - v2 - Provide a new procfs interface to set next id Nadia.Derbey
2008-04-18  5:45 ` [PATCH 2/4] - v2 - Provide a new procfs interface to set next upid nr(s) Nadia.Derbey
2008-04-18  5:45 ` [PATCH 3/4] - v2 - IPC: use the target ID specified in procfs Nadia.Derbey
2008-04-18  5:45 ` [PATCH 4/4] - v2 - PID: " Nadia.Derbey
2008-04-18 17:07 ` [PATCH 0/4] - v2 - Object creation with a specified id Dave Hansen
2008-04-21 11:32   ` Nadia Derbey
2008-04-22 19:36 ` Checkpoint/restart (was Re: [PATCH 0/4] - v2 - Object creation with a specified id) Alexey Dobriyan
2008-04-22 18:56   ` Dave Hansen
2008-04-22 19:51     ` Serge E. Hallyn
2008-04-22 21:01     ` Alexey Dobriyan
2008-04-22 22:56       ` Dave Hansen
2008-04-23  6:40         ` Kirill Korotaev
2008-04-23 15:33           ` Dave Hansen
2008-04-24  7:00             ` Kirill Korotaev
2008-04-24 18:30               ` Dave Hansen
2008-04-24 23:13                 ` Oren Laadan
2008-04-24  1:19           ` Oren Laadan
2008-07-10  1:58             ` Eric W. Biederman
2008-07-10 17:12               ` Dave Hansen
2008-07-10 17:32                 ` Serge E. Hallyn
2008-07-10 18:55                   ` Eric W. Biederman
2008-07-10 19:06                     ` Dave Hansen
2008-07-10 19:21                       ` Eric W. Biederman
2008-07-10 19:47                         ` Dave Hansen
2008-07-11  0:32                           ` Alexey Dobriyan
2008-07-17 23:19                           ` Oren Laadan [this message]
2008-07-17 23:16                   ` Oren Laadan
2008-07-18 16:18                     ` Serge E. Hallyn
2008-07-17 23:14                 ` Oren Laadan
2008-07-17 23:09               ` Oren Laadan
2008-04-23 14:23 ` [PATCH 0/4] - v2 - Object creation with a specified id Pavel Machek

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=487FD397.5040905@cs.columbia.edu \
    --to=orenl@cs.columbia.edu \
    --cc=Nadia.Derbey@bull.net \
    --cc=adobriyan@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=containers@lists.linux-foundation.org \
    --cc=dave@linux.vnet.ibm.com \
    --cc=dev@parallels.com \
    --cc=ebiederm@xmission.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nick@nick-andrew.net \
    --cc=serue@us.ibm.com \
    /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