[CRIU] [PATCH 4/5] kdat: Cache kdat object into /run/criu.kdat (v3)
Dmitry Safonov
dsafonov at virtuozzo.com
Thu Apr 27 08:14:25 PDT 2017
On 04/27/2017 05:58 PM, Pavel Emelyanov wrote:
> 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
>
> Signed-off-by: Pavel Emelyanov <xemul at virtuozzo.com>
Reviewed-by: Dmitry Safonov <dsafonov at virtuozzo.com>
There is still one nit below, heh.
> ---
> Makefile.install | 3 +-
> criu/Makefile.crtools | 1 +
> criu/include/kerndat.h | 1 +
> criu/include/magic.h | 6 ++++
> criu/kerndat.c | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++
> 5 files changed, 95 insertions(+), 1 deletion(-)
>
> diff --git a/Makefile.install b/Makefile.install
> index f1e5415..ddde93d 100644
> --- a/Makefile.install
> +++ b/Makefile.install
> @@ -7,6 +7,7 @@ MANDIR := $(PREFIX)/share/man
> LIBDIR := $(PREFIX)/lib
> INCLUDEDIR := $(PREFIX)/include
> LIBEXECDIR := $(PREFIX)/libexec
> +RUNDIR := /run
An optional nit: if this will be
RUNDIR ?= /run
then package maintainer will not need a patch to correct this according
to distribution and just will need to run `make RUNDIR=<...>`
--
Dmitry
More information about the CRIU
mailing list