On 5 September 2017 at 15:58, Jens Axboe <axboe@xxxxxxxxx> wrote: > On 09/05/2017 08:54 AM, Tomohiro Kusumi wrote: >> I think I've made three fixes over the original two commits. >> >> 1. non O_DIRECT dio support -> committed -> now reverted >> 2. segfault on fio_memfree() -> committed -> now reverted >> 3. this one >> >> As far as I've seen this is it. > > Right, just checked (and reverted) and it's 5 changes all in > all for the change, not including the parent to this email, > which would have made it 6 in all. The original change from Weiping > clearly wasn't well tested or thought through, so it's better > to just kill it all and do it cleanly from scratch instead. Unfortunately it's been a problem magnetic with stacks of extra conditions turning up and corner cases to stumble over (see https://github.com/sitsofe/fio/commit/8fed4ccc87e39144643b1e32caddd882e6197e58 for yet another case that was going to need fixing). > That said, I'm not even convinced we need this change. Logically > it makes sense, but there's really nothing wrong with doing > a buffered layout + cache kill as we have been doing since > the dawn of time in fio. One of the benefits was that it stopped rm -f /tmp/fiofile; ./fio --loops=10 --filename /tmp/fiofile --bs=4k \ --size=1M --direct=1 --name=go reporting cached speeds on macOS (a platform where invalidation doesn't work). The sad thing is that the change wound up slowing layout right down because the I/O is potentially done in such small sizes. With the problems it attracted it need a re-think if it's to avoid attracting a never ending stream of workarounds. >> (I think pre read can do the same as this function, to avoid >> irrelevant errors, though pre read on dio is contradictory) > > Yeah, pre-read with O_DIRECT would be a waste of time. -- Sitsofe | http://sucs.org/~sits/ -- To unsubscribe from this list: send the line "unsubscribe fio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html