Re: RFC: multiple concurrent I/O ops for copy_file_range(2)
- In reply to: Rick Macklem : "RFC: multiple concurrent I/O ops for copy_file_range(2)"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 03 Sep 2022 03:26:27 UTC
On Sat, Sep 03, 2022 at 03:11:03AM +0000, Rick Macklem wrote: > 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? > Note that UFS does not understand more than one stream of writes to single vnode. The result could be a severe fragmentation, which is relevant even for SSDs (due to large internal block size).