Re: [PATCH RFC v2 3/4] memcg: rework usage of stats by soft limit

From: Daisuke Nishimura
Date: Sat Dec 12 2009 - 20:31:46 EST


On Sat, 12 Dec 2009 21:46:08 +0200
"Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> wrote:

> On Sat, Dec 12, 2009 at 4:34 PM, Daisuke Nishimura
> <d-nishimura@xxxxxxxxxxxxxxxxx> wrote:
> > On Sat, 12 Dec 2009 15:06:52 +0200
> > "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> wrote:
> >
> >> On Sat, Dec 12, 2009 at 5:50 AM, Daisuke Nishimura
> >> <d-nishimura@xxxxxxxxxxxxxxxxx> wrote:
> >> > And IIUC, it's the same for your threshold feature, right ?
> >> > I think it would be better:
> >> >
> >> > - discard this change.
> >> > - in 4/4, rename mem_cgroup_soft_limit_check to mem_cgroup_event_check,
> >> > Âand instead of adding a new STAT counter, do like:
> >> >
> >> > Â Â Â Âif (mem_cgroup_event_check(mem)) {
> >> > Â Â Â Â Â Â Â Âmem_cgroup_update_tree(mem, page);
> >> > Â Â Â Â Â Â Â Âmem_cgroup_threshold(mem);
> >> > Â Â Â Â}
> >>
> >> I think that mem_cgroup_update_tree() and mem_cgroup_threshold() should be
> >> run with different frequency. How to share MEM_CGROUP_STAT_EVENTS
> >> between soft limits and thresholds in this case?
> >>
> > hmm, both softlimit and your threshold count events at the same place(charge and uncharge).
> > So, I think those events can be shared.
> > Is there any reason they should run in different frequency ?
>
> SOFTLIMIT_EVENTS_THRESH is 1000. If use the same value for thresholds,
> a threshold can
> be exceed on 1000*nr_cpu_id pages. It's too many. I think, that 100 is
> a reasonable value.
>
O.K. I see.

> mem_cgroup_soft_limit_check() resets MEM_CGROUP_STAT_EVENTS when it reaches
> SOFTLIMIT_EVENTS_THRESH. If I will do the same thing for
> THRESHOLDS_EVENTS_THRESH
> (which is 100) , mem_cgroup_event_check() will never be 'true'. Any
> idea how to share
> MEM_CGROUP_STAT_EVENTS in this case?
>
It's impossible if they have different frequency as you say.

Thank you for your clarification.


Daisuke Nishimura.
--
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/