Please excuse my ignorance of the internals, but from a neutral view, I think
that an efficient design could be like this :
- not one, but two elevators, one for read requests, one for write requests.
- may be one couple of these elevators for each physical device to ease
parallelism, but I'm not sure.
- we would process one of the request queues (either reads or writes), and
after a user-settable amount of requests processed, we would switch to the
other one if it contains pending requests. For each request processed, we
would take a look at the other queue, to see if a request for a very close
location exists, in which case we would also switch.
This would bring the advantage of the latency/throughput balance being
Please excuse me if it's impossible in the current design or if it's already
done this way and fails. I just wanted to add my 2 euro-cents here.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to firstname.lastname@example.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/