On Thu, May 14, 2020 at 01:44:48PM -0400, Brian Foster wrote: > On Thu, May 14, 2020 at 09:33:17AM -0700, Darrick J. Wong wrote: > ISTM that the right thing to do here is merge this patch, finally fix > the last known stale data exposure vector, and then perhaps step back > and think about how we might improve performance of unwritten extents > (or whatever alternate scheme to avoid stale data exposure we might > think up) regardless of allocation policy or write path. That might even > make a decent side topic associated with the SSD allocation policy topic > proposal Dave recently posted. > > It looks like Christoph already reviewed the patch. I'm not sure if his > opinion changed it all after the subsequent discussion, but otherwise > that just leaves Dave's objection. Dave, any thoughts on this given the > test results and broader context? What do you think about getting this > patch merged and revisiting the whole unwritten extent thing > independently? I guess when we look at this in the broader context of "buffered IO already sucks real bad for high performance IO" then a few percent here or there doesn't really matter. Note, however, that the difference between dio+aio and buffered writes has nothing to do with unwritten extents - what you are seeing is the cost of the CPU copying the data into the page cache in the user process context vs just submitting IO. Essentially, IO submission time is way higher for buffered IO because of the data copy, hence a CPU can do less of them per second. IOWs, unwritten extents are not significant compared to the overhead the page cache adds to the IO path.... Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx