Re: [RFC PATCH 04/10] pipe: Use head and tail pointers for the ring, not cursor and length [ver #2]

From: David Howells
Date: Fri Dec 06 2019 - 17:15:43 EST


Johannes Hirte <johannes.hirte@xxxxxxxxxxxxx> wrote:

> > Convert pipes to use head and tail pointers for the buffer ring rather than
> > pointer and length as the latter requires two atomic ops to update (or a
> > combined op) whereas the former only requires one.
>
> This change breaks firefox on my system. I've noticed that some pages
> doesn't load correctly anymore (e.g. facebook, spiegel.de). The pages
> start loading and than stop. Looks like firefox is waiting for some
> dynamic loading content. I've bisected to this commit, but can't revert
> because of conflicts.

There are a number of patches committed to upstream in the last couple of days
that might fix your problem. See:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/

and look for:

pipe: Fix iteration end check in fuse_dev_splice_write()
pipe: fix incorrect caching of pipe state over pipe_wait()
pipe: Fix missing mask update after pipe_wait()
pipe: Remove assertion from pipe_poll()

David