Forwarded privately.
Agreed.
Here are the results again with barriers disabled for Corrado's patch:
fs_mark: 348.2 files/sec
fio: 53324.6 KB/s
Remember that deadline was seeing 450 files/sec and 78 MB/s. So, in
this case, the buffered reader appears to be starved. Looking into this
further, I found that the journal thread is running with I/O priority 0,
while the fio and fs_mark processes are running at the default (4).
Because the jbd thread has a higher I/O priority, its requests are
always closer to the front of the sort list, and thus the sync-noidle
workload is chosen more often than the sync workload. This essentially
results in an elevated I/O priority for the fs_mark process as well.
While troubling, that problem is not directly related to the problem
we're looking at.
So, I'm still in favor of Corrado's approach. Are there any remaining
dissenting opinions on this?
Cheers,
Jeff
--