[lkml]   [2019]   [Sep]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[PATCH 0/9] restart_block: Prepare the ground for dumping timeout

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

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 <>
Cc: Alexander Viro <>
Cc: Andrei Vagin <>
Cc: Andy Lutomirski <>
Cc: Cyrill Gorcunov <>
Cc: Dmitry Safonov <>
Cc: Ingo Molnar <>
Cc: Oleg Nesterov <>
Cc: Pavel Emelyanov <>
Cc: Thomas Gleixner <>

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(-)


 \ /
  Last update: 2019-09-09 12:24    [W:0.119 / U:12.800 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site