Chris Murphy wrote:
>I suggest reproducing the problem and issuing sysrq+w and then post
>the entire resulting output for a developer to evaluate. I find it's

I'll give that a try.

>I see this is btrfs-receive workload, so I wouldn't guess it's
>suvolume lock contention unless the contention is happening with a
>single shared parent subvolume into which all the receive subvolumes
>are going (e.g. subvol id 5). I'm not sure how to alleviate it.

Well, machine A has 32GB RAM and is running
multiple simultaneous btrfs-receive instances, but the machine rarely locks up
unless I increase the total reception rate beyond 5MB/s.

Machine B has 8GB RAM and is running at most a single btrfs-receive instance,
but it is much more susceptible to hangups.  The maximum reception rate
here is 3MB/s.

In both cases all received subvolumes are created inside the same master
parent (subvol id 5).  The only difference is that machine A receives multiple
subvolumes simultaneously, and machine B serialises reception (it basically
receives subvolumes from a single source (machine A)), but the subvolumes here
*are* created back to back (so maybe the previous btrfs-receive is still
late flushing buffers to disk when the new btrfs-receive already starts).
-- 
Stephen.

Reply via email to