mirror of
https://github.com/checkpoint-restore/criu.git
synced 2026-07-19 01:26:22 +00:00
No description
blcrcheckpointcontainercontainerscriudmtcphighly-availablelinuxmemory-trackingmigrationparasitepost-copyrestoresnapshotsuspenduserfaultfdzero-downtime
This patch tries to introduce lazy and hidden pid_dir support, meaning one don't have to worry about pid_dir but the optimization is still there. The patch relies on the fact that we work with many /proc/pid files for one pid, then for another pid and so on, i.e. not in a random manner. The idea is when we call open_proc() with a new pid for the first time, the appropriate /proc/PID directory is opened and its fd is stored. Next call to open_proc() with the same PID only need to check that the PID is not changed. In case PID is changed, we close the old one and open/store a new one. Now the code using open_proc() and friends: - does not need to carry proc_pid around, pid is enough - does not need to call open_pid_proc() The only thing that can't be done in that "lazy" mode is closing the last PID fd, thus close_pid_proc(). Signed-off-by: Kir Kolyshkin <kir@openvz.org> Acked-by: Pavel Emelyanov <xemul@parallels.com> Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org> |
||
|---|---|---|
| Documentation | ||
| include | ||
| test | ||
| tools | ||
| .gitignore | ||
| COPYING | ||
| cr-dump.c | ||
| cr-restore.c | ||
| cr-show.c | ||
| crtools.c | ||
| files.c | ||
| gen-offsets.sh | ||
| ipc_ns.c | ||
| libnetlink.c | ||
| log.c | ||
| Makefile | ||
| Makefile.inc | ||
| namespaces.c | ||
| parasite-syscall.c | ||
| parasite.c | ||
| parasite.lds.S | ||
| proc_parse.c | ||
| ptrace.c | ||
| README | ||
| restorer-log.c | ||
| restorer.c | ||
| restorer.lds.S | ||
| sockets.c | ||
| sysctl.c | ||
| util-net.c | ||
| util.c | ||
| uts_ns.c | ||
crtools ======= An utility to checkpoint/restore tasks. Some code snippets are borrowed from - Linux kernel (http://kernel.org/) - git (http://git-scm.com/) - kvm-tools (https://github.com/penberg/linux-kvm) - ptrace-parasite (https://code.google.com/p/ptrace-parasite/) Many thanks to these projects. Licensed under GPLv2 (http://www.gnu.org/licenses/gpl-2.0.txt)