Re: [RFC] Block IO Controller V2 - some results

From: Corrado Zoccolo
Date: Wed Nov 18 2009 - 11:20:27 EST


Hi Vivek,
On Wed, Nov 18, 2009 at 4:32 PM, Vivek Goyal <vgoyal@xxxxxxxxxx> wrote:
> o Currently we wait on sync-noidle service tree so that sync-noidle type of
> Âworkload does not get swamped by sync-idle or async type of workload. Don't
> Âdo this idling if there are no sync-idle or async type of queues in the group
> Âand there are other groups to dispatch the requests from and user has decided
> Ânot to wait on slow groups to achieve better throughput. (group_idle=0).
>
> ÂThis will make sure if some group is doing just random IO and does not
> Âhave sufficient IO to keep the disk busy, we will move onto other groups to
> Âdispatch the requests from and utilize the storage better.
>
This group will be treated unfairly, if the other groups are doing
sequential I/O:
It will dispatch one request every 100ms (at best), and every 300ms at worst.
I can't see how this is any better than having a centralized service
tree for all sync-noidle queues.

Probably it is better to just say:
* if the user wants isolation (group_idle should be named
group_isolation), the no-idle queues go into the group no-idle tree,
and a proper idling is ensured
* if the user doesn't want isolation, but performance, then the
no-idle queues go into the root group no-idle tree, for which the end
of tree idle should be ensured. This won't affect the sync-idle
queues, for which group weighting will still work unaffected.

Corrado
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/