No description
Find a file
Pavel Emelyanov 07a00662ad kdat: Cache kdat object into /run/criu.kdat (v4)
Doing kerndat checks on every criu start is way too slow. We
need some way to speed this checks up on a particular box.

As suggested by Andre, Dima and Mike let's try to keep the
collected kdat bits into some tmpfs file. Keeping it on
tmpfs would invaludate this cache on every machine reboot.

There have been many suggestions how to generate this file,
my proposal is to create it once the kdat object is filled
by criu, w/o any explicit command. Optionally we can add
'criu kdat --save|--drop' actions to manage this file.

v2:
* don't ignore return code of write() (some glibcs complain)
* unlink tmp file in case rename failed

v3:
* add one more magic into kerndat_s which is the 'date +%s'
* ignore any errors opening or saving cache. Only size/magic
  mismatch matters (and result in dropping the cache)
* cache file path is Makefile-configurable (RUNDIR)
* don't save cache if kerndat auto-detection failed

v4:
* Use ?= for RUNDIR definition.

Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
2017-05-10 04:34:43 +03:00
compel compel: Add more arguments to compel_wait_task() 2017-05-10 04:26:56 +03:00
contrib scripts/install-debian-packages: add libnl-route-3-dev 2017-05-10 03:56:47 +03:00
coredump python: specify python2 as .py interpreter 2017-04-17 18:35:58 +03:00
crit python: specify python2 as .py interpreter 2017-04-17 18:35:58 +03:00
criu kdat: Cache kdat object into /run/criu.kdat (v4) 2017-05-10 04:34:43 +03:00
Documentation Extend the parser to accept negative options 2017-05-10 04:07:00 +03:00
images img: Move sigactions into core 2017-05-10 04:19:25 +03:00
include/common x86/asm: move user code selector values to common 2017-03-15 00:06:17 +03:00
lib pycriu: Dont produce zombies 2017-05-10 04:13:41 +03:00
scripts build/nmk: rename arm64 => aarch64 2017-05-10 04:13:43 +03:00
soccr soccr: fix log messages and add a few more 2017-05-10 04:13:42 +03:00
test test/zdtm/static: split ofd_file_locks.h to .c/.h 2017-05-10 04:26:56 +03:00
.gitignore .gitignore: remove a leftover 2017-04-02 18:12:10 +03:00
.mailmap repo: Add mailmap file 2012-03-25 23:31:20 +04:00
.travis.yml travis: run tests with asan 2017-04-11 09:00:49 +03:00
COPYING COPYING: fix a typo in a preamble 2016-08-11 16:18:43 +03:00
CREDITS Add the CREDITS file 2012-07-30 13:52:37 +04:00
INSTALL.md Makefile.install: rm unused vars/target 2017-02-06 13:48:49 +03:00
Makefile make: don't run feature-tests for tags/etags/cscope 2017-05-10 04:20:37 +03:00
Makefile.compel compel: make plugins .a archives 2017-04-02 18:12:10 +03:00
Makefile.config make: Report dependencies absence more exactly 2017-05-10 04:13:42 +03:00
Makefile.install kdat: Cache kdat object into /run/criu.kdat (v4) 2017-05-10 04:34:43 +03:00
Makefile.versions criu: Version 3.0 2017-04-24 11:46:26 +03:00
README.md Add ascciinema tour on basic criu features. 2016-06-16 16:37:06 +03:00

CRIU (Checkpoint and Restore in Userspace)

An utility to checkpoint/restore tasks. Using this tool, you can freeze a running application (or part of it) and checkpoint it to a hard drive as a collection of files. You can then use the files to restore and run the application from the point it was frozen at. The distinctive feature of the CRIU project is that it is mainly implemented in user space.

The project home is at http://criu.org.

Pages worth starting with are:

A video tour on basic CRIU features

CRIU introduction

How to contribute