On Sun, Apr 26, 2009 at 2:43 PM, Corrado Zoccolo wrote: > * on my machine, there is a regression on sequential write I found that the regression was just an artifact of my testing (the test partition was almost full, and the written files were re-created at each test, resulting in non-uniform fragmentation across tests). Changing the test to preallocate also the write file made the test more repeateable, with the result that patched deadline and original perform equal. Here is the last patch of the series, that add I/O priority support to deadline. All requests are sorted into 3 levels of priorities : * 0: async reads/writes, and all Idle class requests * 1: sync Best Effort reads/writes, and sync Real Time writes * 2: Real Time reads. Aaron, I found your previous attempt at modifying deadline to use sync/async instead of read/write. My approach is slightly different, since I changed only the fifos to respect the new scheme, while the RB trees are still partitioned as reads vs writes. Since the RB trees are used for merging and for batch formation, having the RB trees as in original deadline should guarantee the same success rate for merging, and allow to create longer batches that span across priority levels, when requests on a given priority level are too few to fully utilize the disk bandwidth (this is usually the case for writes, where we have few sync writes to the journal, mixed with lots of async writes to the data). Corrado -- __________________________________________________________________________ dott. Corrado Zoccolo mailto:czoccolo@gmail.com PhD - Department of Computer Science - University of Pisa, Italy --------------------------------------------------------------------------