On Wed, Aug 30, 2017 at 05:12:10PM +0300, Amir Goldstein wrote: > On Wed, Aug 30, 2017 at 4:46 PM, Christoph Hellwig <hch@xxxxxx> wrote: > > Oops. > > > > Yes, except for the case of calling xlog_state_release_iclog > > ourselves we can't claim that the cache has been flushed. In > > fact I'm not even sure that is save, if ic_refcnt makes > > xlog_state_release_iclog exit early, so we might have to > > pass additional information around there. > > With this change, for the multiple fsyncing tasks workload, the majority won't > be optimized, so the remaining code is only really optimizing the single > process doing seldom fsync case. > > I wonder if it's worth keeping the optimization around at all? I think it is. And we should get back to optimizing the multi-threaded cases soon using something like a sequence counter that checks if we issued a log sync after finishing the data writeback.