On Fri, Dec 13, 2019 at 01:32:10AM +0000, Chris Mason wrote: > They just have different tradeoffs. O_DIRECT actively blows away caches > and can also force writes during reads, making RWF_UNCACHED a more > natural fit for some applications. There are fewer surprises, and some > services are willing to pay for flexibility with a memcpy. In general, > they still want to do some cache management because it reduces p90+ > latencies across the board, and gives them more control over which pages > stay in cache. We can always have a variant of O_DIRECT that doesn't do that and instead check if data was in the cache and then also copy / from to it in that case. I need some time to actually look through this series, so it might be pretty similar to the implementation, but if defined the right way it could be concurrent for at least the fast path of no cached pages.