Re: [PATCH][RFC] dirty balancing for cgroups

From: YAMAMOTO Takashi
Date: Wed Aug 06 2008 - 05:23:19 EST


hi,

> On Wed, 6 Aug 2008 17:20:46 +0900 (JST)
> yamamoto@xxxxxxxxxxxxx (YAMAMOTO Takashi) wrote:
>
> > hi,
> >
> > > On Fri, 11 Jul 2008 17:34:46 +0900 (JST)
> > > yamamoto@xxxxxxxxxxxxx (YAMAMOTO Takashi) wrote:
> > >
> > > > hi,
> > > >
> > > > > > my patch penalizes heavy-writer cgroups as task_dirty_limit does
> > > > > > for heavy-writer tasks. i don't think that it's necessary to be
> > > > > > tied to the memory subsystem because i merely want to group writers.
> > > > > >
> > > > > Hmm, maybe what I need is different from this ;)
> > > > > Does not seem to be a help for memory reclaim under memcg.
> > > >
> > > > to implement what you need, i think that we need to keep track of
> > > > the numbers of dirty-pages in each memory cgroups as a first step.
> > > > do you agree?
> > > >
> > > yes, I think so, now.
> > >
> > > may be not difficult but will add extra overhead ;( Sigh..
> >
> > the following is a patch to add the overhead. :)
> > any comments?
> >
> Do you have some numbers ? ;)

not yet.

> I like this because this seems very straightforward. thank you.

good to hear.

> How about changing these to be
>
> ==
> void mem_cgroup_test_set_page_dirty()
> {
> if (try_lock_page_cgroup(pg)) {
> pc = page_get_page_cgroup(pg);
> if (pc ......) {
> }
> unlock_page_cgroup(pg)
> }
> }
> ==

i'm not sure how many opportunities to update statistics
we would lose for the trylock failure.
although the statistics don't need to be too precise,
its error should have a reasonable upper-limit to be useful.

> Off-topic: I wonder we can delete this "lock" in future.
>
> Because page->page_cgroup is
> 1. attached at first use.(Obiously no race with set_dirty)
> 2. deleted at removal. (force_empty is problematic here..)

i hope it's possible. :)

YAMAMOTO Takashi

>
> But, now, we need this lock.
>
> Thanks,
> -Kame
>
> --
> To unsubscribe, send a message with 'unsubscribe linux-mm' in
> the body to majordomo@xxxxxxxxxx For more info on Linux MM,
> see: http://www.linux-mm.org/ .
> Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>
--
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/