Starting to play with dependent SQEs for io_uring. Enables things like "read data from here, then write to there". Or "open this file, then read this data from it". It's a powerful primitive, and eliminates wait points in sequences of operations.
I suspect that going from async buffered writeback to RWF_SYNC would require a significant number of queue entries for each process. And all of those would have to point to a userland 8KB buffer for each IO. It's not a problem if we just use two SQEs (write + sync_file_range).
-
-
Ah ok, yes that makes a lot more sense to me. I wasn't advocating using RWF_SYNC unless it did what you needed. Doubling the SQE count per write where you want to kick off writeback doesn't seem like a big deal at all.
-
The SQE isn't itself relevant - but the separate page cache lookups themselves aren't free (in fact, they're a bottleneck independent of this in some workloads already). So there'd be some benefit in being able to do that as one command.
End of conversation
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.