[PATCH 19/23] io-controller: map async requests to appropriate cgroup

Rik van Riel riel at redhat.com
Mon Aug 31 10:39:55 PDT 2009


Vivek Goyal wrote:
> o So far we were assuming that a bio/rq belongs to the task who is submitting
>   it. It did not hold good in case of async writes. This patch makes use of
>   blkio_cgroup pataches to attribute the aysnc writes to right group instead
>   of task submitting the bio.
> 
> o For sync requests, we continue to assume that io belongs to the task
>   submitting it. Only in case of async requests, we make use of io tracking
>   patches to track the owner cgroup.
> 
> o So far cfq always caches the async queue pointer. With async requests now
>   not necessarily being tied to submitting task io context, caching the
>   pointer will not help for async queues. This patch introduces a new config
>   option CONFIG_TRACK_ASYNC_CONTEXT. If this option is not set, cfq retains
>   old behavior where async queue pointer is cached in task context. If it
>   is set, async queue pointer is not cached and we take help of bio
>   tracking patches to determine group bio belongs to and then map it to
>   async queue of that group.
> 
> Signed-off-by: Nauman Rafique <nauman at google.com>
> Signed-off-by: Gui Jianfeng <guijianfeng at cn.fujitsu.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