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. 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? _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers