[PATCH 17/23] io-controller: anticipatory changes for hierarchical fair queuing

Rik van Riel riel at redhat.com
Mon Aug 31 10:21:16 PDT 2009


Vivek Goyal wrote:
> This patch changes anticipatory scheduler to use queue scheduling code from
> elevator layer.  One can go back to old as by deselecting
> CONFIG_IOSCHED_AS_HIER. Even with CONFIG_IOSCHED_AS_HIER=y, with-out any
> other cgroup created, AS behavior should remain the same as old.
> 
> o AS is a single queue ioschduler, that means there is one AS queue per group.
> 
> o common layer code select the queue to dispatch from based on fairness, and
>   then AS code selects the request with-in group.
> 
> o AS runs reads and writes batches with-in group. So common layer runs timed
>   group queues and with-in group time, AS runs timed batches of reads and
>   writes.
> 
> o Note: Previously AS write batch length was adjusted synamically whenever
>   a W->R batch data direction took place and when first request from the
>   read batch completed.
> 
>   Now write batch updation takes place when last request from the write
>   batch has finished during W->R transition.
> 
> o AS runs its own anticipation logic to anticipate on reads. common layer also
>   does the anticipation on the group if think time of the group is with-in
>   slice_idle.
> 
> o Introduced few debugging messages in AS.
> 
> Signed-off-by: Nauman Rafique <nauman at google.com>
> Signed-off-by: Vivek Goyal <vgoyal at redhat.com>

Acked-by: Rik van Riel <riel at redhat.com>



More information about the Containers mailing list