Hi, I'm trying to address an issue in CRIU (Checkpoint Restore In Userspace) about timed syscalls restart. It's not possible to use restart_syscall() as the majority of applications does, as after restore the kernel doesn't know anything about a syscall that may have been interrupted on checkpoint. That's because the tasks are re-created from scratch and so there isn't task_struct::restart_block set on a new task. As a preparation, unify timeouts for different syscalls in restart_block. On contrary, I'm struggling with patches that introduce the new ptrace() request API. I'll speak about difficulties of designing new ptrace operation on Containers Microconference at Plumbers [with a hope to find the sensible solution]. Cc: Adrian Reber <adrian@xxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Andrei Vagin <avagin@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: Dmitry Safonov <0x7f454c46@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: containers@xxxxxxxxxxxxxxxxxxxxxxxxxx Cc: linux-fsdevel@xxxxxxxxxxxxxxx Dmitry Safonov (9): futex: Remove unused uaddr2 in restart_block restart_block: Prevent userspace set part of the block select: Convert __esimate_accuracy() to ktime_t select: Micro-optimise __estimate_accuracy() select: Convert select_estimate_accuracy() to take ktime_t select: Extract common code into do_sys_ppoll() select: Use ktime_t in do_sys_poll() and do_poll() select/restart_block: Convert poll's timeout to u64 restart_block: Make common timeout fs/eventpoll.c | 4 +- fs/select.c | 214 ++++++++++++--------------------- include/linux/poll.h | 2 +- include/linux/restart_block.h | 11 +- kernel/futex.c | 14 +-- kernel/time/alarmtimer.c | 6 +- kernel/time/hrtimer.c | 14 ++- kernel/time/posix-cpu-timers.c | 10 +- kernel/time/posix-stubs.c | 8 +- kernel/time/posix-timers.c | 8 +- 10 files changed, 115 insertions(+), 176 deletions(-) -- 2.23.0