Lines Matching full:splice
117 // Make reads from the raw pipe blocking so that splice() can sleep.
124 // Note: O_NONBLOCK seems to be ignored by splice() on the target pipe. The
126 // SPLICE_F_NONBLOCK flag passed to splice().
130 // splice() is woken up when the ~CpuReader() dtor destroys the pipes.
152 // The kernel's splice implementation for the trace pipe doesn't generate a
155 // trace fd (which prevents another splice from starting), raise SIGPIPE and
156 // wait for the worker to exit (i.e., to guarantee no splice is in progress)
173 // staging pipe at least one page at a time. This is done using the splice(2)
183 // First do a blocking splice which sleeps until there is at least one
186 ssize_t splice_res = splice(trace_fd, nullptr, staging_write_fd, nullptr,
189 // The kernel ftrace code has its own splice() implementation that can
190 // occasionally fail with transient errors not reported in man 2 splice.
193 PERFETTO_DPLOG("Transient splice failure -- retrying");
206 splice_res = splice(trace_fd, nullptr, staging_write_fd, nullptr,
210 PERFETTO_PLOG("splice");