Andrew Morton wrote: > > A collection of patches to make ext3 & 4 use barriers by > > default, and to call blkdev_issue_flush on fsync if they > > are enabled. > > Last time this came up lots of workloads slowed down by 30% so I > dropped the patches in horror. Apart from batching larger journal commits, I thought of another way which might improve write performance with barriers. Basically, right now a barrier prevents any write I/Os from being moved before or after it in the elevator, as well as issuing commands itself. It may be that relaxing barriers to allow moving writes when it's fine will allow the elevator to schedule writes to reduce seeking? A clear example of when it's fine is data=ordered, overwriting data in a file. Those data writes don't have to be ordered against other filesystem activity which is triggering journal commits. So they could be moved around barrier ops, if the elevator deems that would reduce seeks or to coalesce ops. Similar arguments apply to moving writes past fsync() flushes, but the rules are a bit different. -- Jamie -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html