On 08.12.2020 12:37, Johannes Thumshirn wrote:
On 08/12/2020 13:22, Javier González wrote:
Good idea. Are you thinking of a sysfs entry to select the backend?
Not sure on this one, initially I thought of a sysfs file, but then
how would you do it. One "global" sysfs entry is probably a bad idea.
Having one per block device to select native vs emulation maybe? And
a good way to benchmark.
I was thinking a per block device to target the use case where a certain
implementation / workload is better one way or the other.
The other idea would be a benchmark loop on boot like the raid library
does.
Then on the other hand, there might be workloads that run faster with
the emulation and some that run faster with the hardware acceleration.
I think these points are the reason the last attempts got stuck.
Yes. I believe that any benchmark we run would be biased in a certain
way. If we can move forward with a sysfs entry and default to legacy
path, we would not alter current behavior and enable NVMe copy offload
(for now) for those that want to use it. We can then build on top of it.
Does this sound like a reasonable approach?