[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20100710100613.GB16278@linux.develer.com>
Date: Sat, 10 Jul 2010 12:06:13 +0200
From: Andrea Righi <righi.andrea@...il.com>
To: Munehiro Ikeda <m-ikeda@...jp.nec.com>
Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com>,
linux-kernel@...r.kernel.org, Vivek Goyal <vgoyal@...hat.com>,
Ryo Tsuruta <ryov@...inux.co.jp>, taka@...inux.co.jp,
Gui Jianfeng <guijianfeng@...fujitsu.com>,
akpm@...ux-foundation.org, balbir@...ux.vnet.ibm.com
Subject: Re: [RFC][PATCH 02/11] blkiocg async: The main part of iotrack
On Fri, Jul 09, 2010 at 07:09:31PM -0400, Munehiro Ikeda wrote:
> 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.
BTW, this should be automatically fixed if you remove anonymous pages
tracking.
-Andrea
--
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