Dear btrfs experts, 

I just tried to make use of btrfs send / receive for incremental backups (using 
btrbk to simplify the process). 
It seems that on my two machines, btrfs send gets stuck after transferring some 
GiB - it's not fully halted, but instead of making full use of the available 
I/O, I get something < 500 kiB on average,
which are just some "full speed spikes" with many seconds / minutes of no I/O 
in between. 

During this "halting", btrfs send eats one full CPU core. 
A "perf top" shows this is spent in "find_parent_nodes" and "__merge_refs" 
inside the kernel. 
I am using btrfs-progs 4.7 and kernel 4.7.0. 

I googled a bit and found related patchwork 
(https://patchwork.kernel.org/patch/9238987/) which seems to workaround high 
load in this area and mentions a real solution is proposed but not yet there. 

Since this affects two machines of mine and backupping my root volume would 
take about 80 hours in case I can extrapolate the average rate, this means 
btrfs send is unusable to me. 

Can I assume this is a common issue which will be fixed in a later kernel 
release (4.8, 4.9) or can I do something to my FS's to workaround this issue? 

One FS is only two weeks old, the other one now about 1 year. I did some 
balancing at some points of time to have more unallocated space for trimming,
and used duperemove regularly to free space. One FS has skinny extents, the 
other has not. 

Mount options are "rw,noatime,compress=zlib,ssd,space_cache,commit=120". 

Apart from that: No RAID or any other special configuration involved. 

Cheers and any help appreciated, 
        Oliver
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to