On Wed, Dec 12, 2018 at 08:26:39PM -0500, Steven Rostedt wrote: > On Thu, 13 Dec 2018 03:39:38 +0300, wrote: > > > btw, I didn't ask for the implementation to be ugly. > > You don't have to introduce polling into the kernel if you don't want to, > > userspace is perfectly capable of invoking wait4(2) in a loop. > > Just block the tracee, notify the tracer, and let it pick up the pieces. > > Note, there's been some discussion offlist to only have perf set a flag > when it dropped an event and have the ptrace code do the heavy lifting > of blocking the task and waking it back up. I think that would be a > cleaner solution and wont muck with perf as badly.
Yes, if perf could be instructed to invoke something like tracehook_report_syscall_entry/exit when it drops the event of entering/exiting syscall, that should probably be enough for the ptracer to do the recovery. -- ldv
signature.asc
Description: PGP signature