criu/include
Pavel Emelyanov cc918897b0 irmap: Introduce irmap on-disk cache
When dumping fsnotifies we may go to irmap to get inode->path
mapping. The irmap engine scans FS (in hinted locations) to
get one and it is slow even though we scan only part of the FS.

Since the above scanning is done while tasks are frozen the
freeze time goes up :(

Improve the situation by generating irmap cache in working dir
at pre-dump when tasks get unfrozen.

The on-disk irmap cache is PB file, it sits in -W directory
and can be loaded on dump/pre-dump start in memory. When
resolving the inode->path mapping irmap may meet these entries,
revalidate them and potentially save time.

After pre-dump the (re-)collected irmap data is written back
to irmap cache image. Typically entries written back are the
same read in on cache load.

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2014-01-30 16:20:16 +04:00
..
asm-generic asm: Add builtin_memcpy, builtin_memcmp generic helpers 2013-05-23 16:51:14 +04:00
bug.h shmem: don't include restorer.h in shmem.c 2013-11-06 12:38:43 +04:00
compiler.h include/compiler.h: Cleanup 2013-02-15 17:34:38 +04:00
cpu.h cpu: Make cpu routines being per-acrh 2013-02-18 18:42:08 +04:00
cr-service-const.h service: move constants to cr-service-const.h 2013-12-18 14:26:10 +04:00
cr-service.h rpc: Introduce CLI's --action-script analogue 2014-01-30 15:58:45 +04:00
cr-show.h headers: Add \Newline-s for readability sake 2013-11-15 17:00:14 +04:00
cr_options.h rpc: Introduce CLI's --action-script analogue 2014-01-30 15:58:45 +04:00
criu-log.h criu-log.h: fit macros in 80 columns 2013-12-20 16:09:13 +04:00
criu-plugin.h net: Add ability to dump external links with plugins 2013-12-26 22:39:04 +04:00
crtools.h v3 deduplication: add dedup comand to criu 2013-12-18 14:51:22 +04:00
err.h headers: Add err.h header 2013-04-02 20:27:51 +04:00
errno.h headers: Move ERESTART codes to errno.h 2013-11-14 22:22:21 +04:00
eventfd.h crtools: remove extra headers from headers 2013-11-06 18:17:45 +04:00
eventpoll.h crtools: remove extra headers from headers 2013-11-06 18:17:45 +04:00
fcntl.h headers: Move fcntl related data to include/fcntl.h 2013-11-14 22:13:10 +04:00
fdset.h headers: Add extern specificator to functions 2013-11-15 17:00:58 +04:00
fifo.h collect: Shorten common images collecting code 2013-08-21 03:52:18 +04:00
file-ids.h headers: Change "../protobuf/" to "protobuf/" 2013-02-15 17:33:06 +04:00
file-lock.h crtools: don't include crtools.h in other headers 2013-11-06 18:17:38 +04:00
files-reg.h dump: Don't forget to cleanup link remap if needed 2013-11-01 13:36:07 +04:00
files.h files: Pre-dump file descriptors 2014-01-30 16:20:15 +04:00
fsnotify.h crtools: remove extra headers from headers 2013-11-06 18:17:45 +04:00
image-desc.h img: Needed declarations for irmap-cache image file 2014-01-30 16:20:15 +04:00
image.h unix: add ability to set callbacks for external sockets (v5) 2013-12-20 15:28:41 +04:00
inet_diag.h headers: Unify include guards (in comments) and a few fixes 2012-12-25 22:40:24 +04:00
ipc_ns.h crtools: don't include crtools.h in other headers 2013-11-06 18:17:38 +04:00
irmap.h irmap: Introduce irmap on-disk cache 2014-01-30 16:20:16 +04:00
kcmp-ids.h headers: Add extern specificator to functions 2013-11-15 17:00:58 +04:00
kcmp.h headers: Move kcmp_type to kcmp.h 2013-11-14 22:13:59 +04:00
kerndat.h mm: don't dump the zero page 2014-01-30 14:31:39 +04:00
libnetlink.h headers: Unify include guards (in comments) and a few fixes 2012-12-25 22:40:24 +04:00
list.h criu: Several formatting fixes 2014-01-14 09:33:19 +04:00
lock.h atomic: Use atomic_read instead of atomic_get 2013-08-16 19:37:06 +04:00
log.h plugin: allow to use logging function in plugins 2013-12-18 21:52:12 +04:00
magic.h img: Needed declarations for irmap-cache image file 2014-01-30 16:20:15 +04:00
mem.h mem: Add PME_ bits for page frame retrieval 2013-05-23 12:51:27 +04:00
mman.h headers: Move MADV definitions to own mman.h 2013-11-14 22:48:30 +04:00
mount.h mount: Factor out mount tree build for NEWNS and non-NS cases 2013-12-12 16:19:48 +04:00
namespaces.h pre-dump: Collect mount info, root and nsmask 2014-01-30 16:20:15 +04:00
net.h headers: Add extern specificator to functions 2013-11-15 17:00:58 +04:00
netfilter.h headers: Add extern specificator to functions 2013-11-15 17:00:58 +04:00
netlink_diag.h headers: Add missing __CR_ at last endif 2013-11-15 16:59:57 +04:00
packet_diag.h headers: Unify include guards (in comments) and a few fixes 2012-12-25 22:40:24 +04:00
page-pipe.h headers: Add extern specificator to functions 2013-11-15 17:00:58 +04:00
page-read.h page-read: Fix naming 2013-12-18 14:55:22 +04:00
page-xfer.h v3 deduplication: add auto-dedup local 2013-12-18 14:52:04 +04:00
parasite-syscall.h headers: Add \Newline-s for readability sake 2013-11-15 17:00:14 +04:00
parasite.h crtools: include sys/time.h in parasite.h 2013-11-06 16:41:45 +04:00
pid.h headers: Add missing __CR_ at last endif 2013-11-15 16:59:57 +04:00
pipes.h collect: Shorten common images collecting code 2013-08-21 03:52:18 +04:00
plugin.h net: Add ability to dump external links with plugins 2013-12-26 22:39:04 +04:00
posix-timer.h headers: Add missing __CR_ at last endif 2013-11-15 16:59:57 +04:00
prctl.h headers: Move prctl constants to prctl.h 2013-11-14 22:19:43 +04:00
proc_parse.h proc-parse: Parse pid's fdinfo entries 2014-01-30 16:20:15 +04:00
protobuf-desc.h img: Needed declarations for irmap-cache image file 2014-01-30 16:20:15 +04:00
protobuf.h headers: Add extern specificator to functions 2013-11-15 17:00:58 +04:00
pstree.h headers: Add extern specificator to functions 2013-11-15 17:00:58 +04:00
ptrace.h ptrace: check, that PTRACE_LISTEN isn't defined yet 2013-12-23 13:54:19 +04:00
rbtree.h x86: moved x86-specific files into the directory arch/x86. 2013-01-09 17:02:47 +04:00
restorer.h headers: Drop uintX_t usage 2013-12-12 10:03:07 +04:00
rst-malloc.h whitespace-at-eol cleanup 2013-12-12 10:00:45 +04:00
rst_info.h headers: Add missing __CR_ at last endif 2013-11-15 16:59:57 +04:00
servicefd.h criu: Remove parent-img service fd 2014-01-24 16:12:46 +04:00
shmem.h headers: Add extern specificator to functions 2013-11-15 17:00:58 +04:00
sigframe.h parasite: don't include restorer.h in parasite-syscall.c 2013-11-06 12:39:36 +04:00
signalfd.h show: Replace one-line show_foo calls with args array 2013-08-24 04:00:32 +04:00
sk-inet.h headers: Add extern specificator to functions 2013-11-15 17:00:58 +04:00
sk-packet.h headers: Add extern specificator to functions 2013-11-15 17:00:58 +04:00
sk-queue.h crtools: move all stuff about vma together 2013-11-06 12:43:49 +04:00
sockets.h space-before-tab whitespace cleanup 2013-12-12 10:00:53 +04:00
stats.h headers: Add extern specificator to functions 2013-11-15 17:00:58 +04:00
string.h string: Add strlcat helper 2013-11-29 15:36:07 +04:00
syscall-types.h syscalls: Add proper syscalls definition. 2013-07-01 16:19:21 +04:00
sysctl.h headers: Unify include guards (in comments) and a few fixes 2012-12-25 22:40:24 +04:00
tty.h crtools: don't include crtools.h in other headers 2013-11-06 18:17:38 +04:00
tun.h headers: Add extern specificator to functions 2013-11-15 17:00:58 +04:00
unix_diag.h x86: moved x86-specific files into the directory arch/x86. 2013-01-09 17:02:47 +04:00
util-pie.h headers: Drop uintX_t usage 2013-12-12 10:03:07 +04:00
util.h daemon: Write own daemon routine 2014-01-30 15:58:41 +04:00
uts_ns.h headers: Add extern specificator to functions 2013-11-15 17:00:58 +04:00
vdso.h vdso: Diet include/vdso.h 2013-06-13 19:41:09 +04:00
vma.h vm: don't overwrite vma->shmid for private mappings 2013-11-22 18:19:08 +04:00
xmalloc.h headers: util.h -- Move memory helpers to xmalloc.h 2013-04-02 21:15:27 +04:00