-
Andrey Vagin authored
Some process can share one struct file-s, we may find them by "object IDs". A file descriptor is opened in one process and send to other via unix socket. The procedure of restoring files contains four stages. * Collect data about all file's descriptors On this stage we find process which will restore a file descriptor and create a list of processes, who should get this descriptor. * Create datagrams unix sockets If a file descriptor should be received, a unix socket is created instead of it. * Open file descriptors A process with the least pid opens a file and sends this file descriptors to all one who wait it. * Receive file descriptors. When we were thinking up this algoritm, we wanted to minimize a number of context switches. A number of context switches is proportional of a number of processes. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Acked-by:
Pavel Emelyanov <xemul@parallels.com> Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org>
d6a1cd0f
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
atomic.h | ||
bitops.h | ||
compiler.h | ||
crtools.h | ||
files.h | ||
image.h | ||
libnetlink.h | ||
list.h | ||
lock.h | ||
log.h | ||
parasite-syscall.h | ||
parasite.h | ||
ptrace.h | ||
restorer.h | ||
sockets.h | ||
syscall-codes.h | ||
syscall.h | ||
types.h | ||
unix_diag.h | ||
util.h |