Re: [RFC v3][PATCH 1/9] Create syscalls: sys_checkpoint, sys_restart

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Oren Laadan
Date: Thursday, September 4, 2008 - 2:05 pm

Serge E. Hallyn wrote:

Not quite. Let me rephrase the motivation first:

There are occasions when we would like to keep the checkpoint data in the
kernel for some (relatively long) time, between syscalls. By "checkpoint
data" I mean references to memory contents (pages) and all the other data.

The two scenarios above are two examples: between the syscall to checkpoint
and the syscall to unfreeze and then write-back the data to a file (first
example), and for some time until a task may want to "go back in time"
(second example, useful for ultra fast "undo" for a task).

Note that in both cases when I say "keep in kernel" I mean before it is
written to a file, or to the network. Simply in memory, in some efficient
manner.

Subsequent syscalls will need to refer to a specific checkpoint data that
is kept in memory - e.g. to write-back to a file-descriptor, or to clean
up, or to restart from it. (At any single time a specific container may
have multiple checkpoints associated with it - eg. because they have not
yet been written back to storage but already taken).

Once the data is written back to a file descriptor, the in-kernel data can
be discarded and cleaned-up.

The main reason why I want to keep the data in the kernel and not instead
copy to user space, is efficiency: most of the checkpoint data is the memory
footprint; by keeping the data in the kernel, one can merely keep a COW
reference instead of a whole copy of everything (save space and copy time).

So, if we have keep data in kernel between syscalls, then we must have a
way to refer to it. The current implementation uses a very simple 'crid'
value to do that - although, clearly, at the moment it isn't used.

I hope this explains better.

Oren.

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[RFC v3][PATCH 0/9] Kernel based checkpoint/restart, Oren Laadan, (Thu Sep 4, 12:57 am)
[RFC v3][PATCH 4/9] Memory management (dump), Oren Laadan, (Thu Sep 4, 1:03 am)
[RFC v3][PATCH 5/9] Memory managemnet (restore), Oren Laadan, (Thu Sep 4, 1:04 am)
[RFC v3][PATCH 8/9] File descriprtors (dump), Oren Laadan, (Thu Sep 4, 1:05 am)
[RFC v3][PATCH 9/9] File descriprtors (restore), Oren Laadan, (Thu Sep 4, 1:06 am)
Re: [RFC v3][PATCH 8/9] File descriprtors (dump), Louis Rilling, (Thu Sep 4, 2:47 am)
Re: [RFC v3][PATCH 8/9] File descriprtors (dump), Oren Laadan, (Thu Sep 4, 7:43 am)
Re: [RFC v3][PATCH 8/9] File descriprtors (dump), Dave Hansen, (Thu Sep 4, 8:01 am)
Re: [RFC v3][PATCH 5/9] Memory managemnet (restore), Dave Hansen, (Thu Sep 4, 11:08 am)
Re: [RFC v3][PATCH 4/9] Memory management (dump), Dave Hansen, (Thu Sep 4, 11:25 am)
Re: [RFC v3][PATCH 8/9] File descriprtors (dump), Dave Hansen, (Thu Sep 4, 11:41 am)
Re: [RFC v3][PATCH 1/9] Create syscalls: sys_checkpoint, s ..., Oren Laadan, (Thu Sep 4, 2:05 pm)
Re: [RFC v3][PATCH 4/9] Memory management (dump), Oren Laadan, (Sat Sep 6, 6:54 pm)
Re: [RFC v3][PATCH 5/9] Memory managemnet (restore), Oren Laadan, (Sat Sep 6, 8:09 pm)
Re: [RFC v3][PATCH 8/9] File descriprtors (dump), Oren Laadan, (Sat Sep 6, 9:52 pm)
Re: [RFC v3][PATCH 4/9] Memory management (dump), Dave Hansen, (Mon Sep 8, 8:55 am)
Re: [RFC v3][PATCH 5/9] Memory managemnet (restore), Dave Hansen, (Mon Sep 8, 9:49 am)
Re: [RFC v3][PATCH 8/9] File descriprtors (dump), Dave Hansen, (Mon Sep 8, 9:57 am)
Re: [RFC v3][PATCH 5/9] Memory managemnet (restore), Oren Laadan, (Mon Sep 8, 11:01 pm)
Re: [RFC v3][PATCH 5/9] Memory managemnet (restore), Dave Hansen, (Wed Sep 10, 2:42 pm)
Cleanups for: [PATCH 5/9] Memory managemnet (restore), Dave Hansen, (Wed Sep 10, 3:00 pm)
Re: [RFC v3][PATCH 5/9] Memory managemnet (restore), Oren Laadan, (Thu Sep 11, 12:37 am)
Re: [RFC v3][PATCH 5/9] Memory managemnet (restore), Serge E. Hallyn, (Thu Sep 11, 8:38 am)
Re: [RFC v3][PATCH 5/9] Memory managemnet (restore), Dave Hansen, (Fri Sep 12, 9:34 am)