On Sat, Jun 26 2010, Christoph Hellwig wrote: > > - Stop idling on all the WRITE_SYNC IO. There is no reasonable way to > > tell whether there will be more IO or not from applicatoin. This will > > impact direct writes, O_SYNC writes and fsync(). > > > > If direct IO application is submitting writes with a delay in between > > it can be starved out in presnce of competing workloads. > > So what application does this? It isn't about apps having a small delay between submissions, not sure where Vivek gets that from. Even if you submit back to back, there's still very small time where the io scheduler will switch to something else if there's other io pending. This happens instantly when the sync request finishes - if we don't idle for any given request, then we of course go to service someone else with pending io. The whole idling/anticipation is all about knowing when to stall the queue very briefly for sync io, allowing that single sync stream to make good progress for a while before switching to something else. This switching back and forth potentially destroyes throughput for the O_DIRECT writer, especially for disks with write through caching. Christoph, you seem not to agree on the concept of idling. As Nick writes in another reply, the difference in performance when you get it right is staggering. We don't idle the disk for kicks and laughs. I wont rule out bugs, both in the handling and the signalling of idling. But as a concept, it is definitely sound and proven. -- Jens Axboe -- 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