RFC: multiple concurrent I/O ops for copy_file_range(2)

From: Rick Macklem <rmacklem_at_uoguelph.ca>
Date: Sat, 03 Sep 2022 03:11:03 UTC
Hi,

A recent discussion involving copy_file_range(2) performance
included a suggestion that, maybe, copying of subranges
should be done concurrently.

Although I cannot be 100% sure, I think that this would
involve using multiple kernel threads (taskqueue or similar)
to issue I/O operations on the file system(s) for blocks
(of f_iosize maybe?) concurrently, to improve performance.

Doing this in a system call is unusual, to say the least but, then,
copy_file_range(2) is an unusual system call to begin with.

I have not attempted to code this up as of yet.

So, what do others think of this idea?

rick