criu/images
Laurent Dufour 4ebfa9813b ppc64: handle transactional memory state
The Power 8 introduces the transactional memory (TM) operations (see
Power ISA 3.0 for details).

The support for the transactional memory operation during the
checkpoint and restart requires extended ptrace API provided by the
kernel 4.8.

When checkpointing a thread while a transactional memory operation is
in progress, the TM checkpointed state is checkpointed through the new
ptrace API. If these new APIs are not available, the checkpoint is
aborted and an explicit error is reported.

At restart time, the TM state is pushed on the stack frame to be
reloaded by the kernel when reading the stack frame.

Only suspended TM operation could be checkpointed since active one
will be aborted once a system call is made. Suspended operation will
be aborted as well, and the checkpointed thread is expected to handle
the TM failure as usual (retrying is a good option).

Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
Reviewed-by: Dmitry Safonov <dsafonov@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
2016-09-06 19:31:22 +03:00
..
google/protobuf build: Move @protobuf dir into @images 2016-02-15 15:32:27 +03:00
autofs.proto protobuf: autofs entry introduced 2016-07-05 23:06:58 +03:00
binfmt-misc.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
cgroup.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
core-aarch64.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
core-arm.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
core-ppc64.proto ppc64: handle transactional memory state 2016-09-06 19:31:22 +03:00
core-x86.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
core.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
cpuinfo.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
creds.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
eventfd.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
eventpoll.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
ext-file.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
fdinfo.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
fh.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
fifo.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
file-lock.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
fown.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
fs.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
fsnotify.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
ghost-file.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
inventory.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
ipc-desc.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
ipc-msg.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
ipc-sem.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
ipc-shm.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
ipc-var.proto ipc/sysctl: c/r kernel.{msg_next_id,sem_next_id,shm_next_id} 2016-09-06 18:58:26 +03:00
Makefile protobuf: autofs entry introduced 2016-07-05 23:06:58 +03:00
mm.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
mnt.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
netdev.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
ns.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
opts.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
packet-sock.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
pagemap.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
pipe-data.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
pipe.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
pstree.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
regfile.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
remap-file-path.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
rlimit.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
rpc.proto rpc: Report back first error message on failure 2016-09-06 19:31:21 +03:00
sa.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
seccomp.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
siginfo.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
signalfd.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
sk-inet.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
sk-netlink.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
sk-opts.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
sk-packet.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
sk-unix.proto unix: don't drop the path on unix sockets if they don't exist 2016-08-01 16:51:05 +03:00
stats.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
sysctl.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
tcp-stream.proto tcp: dump and restore window parameters 2016-08-08 15:20:47 +03:00
time.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
timer.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
timerfd.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
tty.proto tty: Restore peers uid, gid 2016-09-06 19:31:22 +03:00
tun.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
userns.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
utsns.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00
vma.proto Add missing "proto2" syntax marker 2016-07-07 12:38:39 +03:00