xfs_file_splice_read: possible circular locking dependency detected

Linus Torvalds torvalds at linux-foundation.org
Tue Sep 13 22:49:58 CDT 2016


On Tue, Sep 13, 2016 at 8:16 PM, Al Viro <viro at zeniv.linux.org.uk> wrote:
>
>> So feel free to try maxing out using only a small handful of
>> pipe_buffer entries. Returning partial IO from splice() is fine.
>
>         Are you sure that nobody's growing the output pipe buffer before
> doing splice() into it as a way to reduce the amount of iterations?

Do we care?

There's a lot of people who use large buffers. That doesn't
necessarily mean that it is the right thing to do. A small buffer that
we can allocate on-stack might well be better even if it causes more
iterations.

I'd also like to simplify the splice code if at all possible.
Particularly as there really aren't necessarily all that many actual
users of it. So if we can say "screw that" and just allocate a small
buffer on stack, and people end up iterating a bit more, so what? The
point of splice is to avoid the data copies and VM games, not to make
big buffers.

             Linus



More information about the xfs mailing list