Re: [PATCH v2] tracing: Introduce pipe_cpumask to avoid race on trace_pipes
From: Steven Rostedt
Date: Fri Aug 18 2023 - 11:54:16 EST
On Fri, 18 Aug 2023 23:23:01 +0900
Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx> wrote:
> It uses trace_pipe_raw. I guess if splice(from trace_pipe_raw to virtio-serial)
> returns -1 and errno == EAGAIN, the trace data will be lost?
It shouldn't. If it does, then there's likely a bug. The code will block
and if an interrupt comes in it will return immediately without reading
from the buffer.
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/kernel/trace/trace.c#n8262
I don't see where it would return -EINTR and consume data, but I may be
missing something.
-- Steve