Re: [PATCH v20 00/12] Implement copy offload support
From: Damien Le Moal
Date: Tue Jun 04 2024 - 03:39:45 EST
On 6/4/24 16:16, Hannes Reinecke wrote:
> On 6/4/24 06:32, Christoph Hellwig wrote:
>> On Mon, Jun 03, 2024 at 10:53:39AM +0000, Nitesh Shetty wrote:
>>> The major benefit of this copy-offload/emulation framework is
>>> observed in fabrics setup, for copy workloads across the network.
>>> The host will send offload command over the network and actual copy
>>> can be achieved using emulation on the target (hence patch 4).
>>> This results in higher performance and lower network consumption,
>>> as compared to read and write travelling across the network.
>>> With this design of copy-offload/emulation we are able to see the
>>> following improvements as compared to userspace read + write on a
>>> NVMeOF TCP setup:
>>
>> What is the use case of this? What workloads does raw copies a lot
>> of data inside a single block device?
>>
>
> The canonical example would be VM provisioning from a master copy.
> That's not within a single block device, mind; that's more for copying
> the contents of one device to another.
Wouldn't such use case more likely to use file copy ?
I have not heard a lot of cases where VM images occupy an entire block device,
but I may be mistaken here...
> But I wasn't aware that this approach is limited to copying within a
> single block devices; that would be quite pointless indeed.
Not pointless for any FS doing CoW+Rebalancing of block groups (e.g. btrfs) and
of course GC for FSes on zoned devices. But for this use case, an API allowing
multiple sources and one destination would be better.
--
Damien Le Moal
Western Digital Research