On Fri, 2003-07-04 at 16:01, Marcelo Tosatti wrote: > Chris, > > Would you please separate those tree fixes in separate diffs? > > For me it seems low latency and fix-pausing patches should be enough for > "better" IO fairness. I might be wrong about that, though. > > Lets try this: Include elevator-low-latency in -pre3 (which I'm trying to > release today), then fix pausing in -pre4. I don't believe elevator-low-latency is good without fix-pausing, we need the smp corner cases fix-pausing provides. > If the IO fairness still doesnt > get somewhat better for general use (well get isolated user reports and > benchmarks for both the two patches), then I might consider the q->full > patch (it has throughtput drawbacks and I prefer avoiding a tunable > there). > > > Sounds good? We effectively had this in 2.4.19-aa and 2.4.20-aa, and people still reported stalls on those kernels. So, aside from testing them separately I'm not sure what benefit we really get. I really like the tunable for max_queue_sectors at least (without the q->full overload), I'd like to get that in sometime during 2.4.22-pre if we take elevator-low-latency. It's a holiday weekend here, so I don't have a huge amount of time to rediff and test. The code below is fix-pausing and elevator-low-latency combined, without any of the q->full code. It is lightly tested, so please run it through a few paces locally if you plan on applying it. I've also attached a patch I've been working on to solve the latencies a different way. bdflush-progress.diff changes balance_dirty to wait on bdflush instead of trying to start io. It helps a lot here (both throughput and latency) but hasn't yet been tested on a box with tons of drives. -chris