Messages in this thread | | | From | Jens Axboe <> | Subject | Re: [RFC][PATCH 0/3] Skip I/O merges when disabled | Date | Thu, 24 Apr 2008 15:59:00 +0200 |
| |
On 24/04/2008, at 15.29, Andi Kleen <andi@firstfloor.org> wrote:
> "Alan D. Brunelle" <Alan.Brunelle@hp.com> writes: > >> The block I/O + elevator + I/O scheduler code spends a lot of time >> trying to merge I/Os -- rightfully so under "normal" circumstances. >> However, if one were to know that the incoming I/O stream was /very/ >> random in nature, the cycles are wasted. (This can be the case, for >> example, during OLTP-type runs.) >> >> This patch stream adds a per-request_queue tunable that (when set) >> disables merge attempts, thus freeing up a non-trivial amount of >> CPU cycles. > > It sounds interesting. But explicit tunables are always bad because > they will be only used by a elite few. Do you think it would be > possible instead to keep some statistics on how successfull merging > is and > when the success rate is very low disable it automatically for some > time until a time out? > > This way nearly everybody could get most of the benefit from this > change.
Not a good idea IMHO, it's much better with an explicit setting. That way you don't introduce indeterministic behavior.
| |