[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4C37AC2B.4090709@ds.jp.nec.com>
Date: Fri, 09 Jul 2010 19:09:31 -0400
From: Munehiro Ikeda <m-ikeda@...jp.nec.com>
To: KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com>
CC: linux-kernel@...r.kernel.org, Vivek Goyal <vgoyal@...hat.com>,
Ryo Tsuruta <ryov@...inux.co.jp>, taka@...inux.co.jp,
Andrea Righi <righi.andrea@...il.com>,
Gui Jianfeng <guijianfeng@...fujitsu.com>,
akpm@...ux-foundation.org, balbir@...ux.vnet.ibm.com,
Muuhh Ikeda <m-ikeda@...jp.nec.com>
Subject: Re: [RFC][PATCH 02/11] blkiocg async: The main part of iotrack
KAMEZAWA Hiroyuki wrote, on 07/09/2010 03:38 AM:
> On Thu, 08 Jul 2010 23:15:30 -0400
> Munehiro Ikeda<m-ikeda@...jp.nec.com> wrote:
>
>> Signed-off-by: Hirokazu Takahashi<taka@...inux.co.jp>
>> Signed-off-by: Ryo Tsuruta<ryov@...inux.co.jp>
>> Signed-off-by: Andrea Righi<arighi@...eler.com>
>> Signed-off-by: Munehiro "Muuhh" Ikeda<m-ikeda@...jp.nec.com>
>> ---
>> block/Kconfig.iosched | 8 +++
>> block/Makefile | 1 +
>> block/blk-iotrack.c | 129 +++++++++++++++++++++++++++++++++++++++++++
>> include/linux/blk-iotrack.h | 62 +++++++++++++++++++++
>> include/linux/page_cgroup.h | 25 ++++++++
>> init/Kconfig | 2 +-
>> mm/page_cgroup.c | 91 +++++++++++++++++++++++++++---
>> 7 files changed, 309 insertions(+), 9 deletions(-)
>> create mode 100644 block/blk-iotrack.c
>> create mode 100644 include/linux/blk-iotrack.h
(snip)
>> +/**
>> + * blk_iotrack_set_owner() - set the owner ID of a page.
>> + * @page: the page we want to tag
>> + * @mm: the mm_struct of a page owner
>> + *
>> + * Make a given page have the blkio-cgroup ID of the owner of this page.
>> + */
>> +int blk_iotrack_set_owner(struct page *page, struct mm_struct *mm)
>> +{
>> + struct blkio_cgroup *blkcg;
>> + unsigned short id = 0; /* 0: default blkio_cgroup id */
>> +
>> + if (blk_iotrack_disabled())
>> + return 0;
>> + if (!mm)
>> + goto out;
>> +
>> + rcu_read_lock();
>> + blkcg = task_to_blkio_cgroup(rcu_dereference(mm->owner));
>> + if (likely(blkcg))
>> + id = css_id(&blkcg->css);
>> + rcu_read_unlock();
>> +out:
>> + return page_cgroup_set_owner(page, id);
>> +}
>> +
>
> I think this is bad. I/O should be charged against threads i.e. "current",
> because CFQ/blockio-cgroup provides per-thread control.
> mm->owner is not suitable, I think.
OK, thanks.
--
IKEDA, Munehiro
NEC Corporation of America
m-ikeda@...jp.nec.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists