On a dual core machine, 100% system CPU usage with zero writes is seen on one core for 5-10 minutes, spending time in BTRFS threads.
On a single thread machine 100% system CPU is used and I haven't yet been able to cause it to hang entirely. I do observe almost completely 100% system CPU usage and very low IO rates, 0 IOPS for up to minutes at a time before it then goes to >1000 IOPs.
The system goes to IOWAIT when there is significant IO traffic, and otherwise kernel threads are consuming CPU.
However the latter is on a non-prewarmed EBS. So I am not sure if the behaviour we're seeing is entirely due to cold block storage where we have no latency/rate guarantees.
Generally, I can't tell if we have hit a bug in the BTRFS free extent code, or if it is all due to bad EBS performance and a spinlock somewhere.
(otherwise unloaded test machines)
On a dual core machine, 100% system CPU usage with zero writes is seen on one core for 5-10 minutes, spending time in BTRFS threads.
On a single thread machine 100% system CPU is used and I haven't yet been able to cause it to hang entirely. I do observe almost completely 100% system CPU usage and very low IO rates, 0 IOPS for up to minutes at a time before it then goes to >1000 IOPs.
The system goes to IOWAIT when there is significant IO traffic, and otherwise kernel threads are consuming CPU.
However the latter is on a non-prewarmed EBS. So I am not sure if the behaviour we're seeing is entirely due to cold block storage where we have no latency/rate guarantees.
Generally, I can't tell if we have hit a bug in the BTRFS free extent code, or if it is all due to bad EBS performance and a spinlock somewhere.