Re: [PATCH 1/1] Memory usage limit notification addition to memcg

From: KAMEZAWA Hiroyuki
Date: Mon Jul 13 2009 - 21:05:20 EST


On Mon, 13 Jul 2009 18:00:53 -0700
"Vladislav D. Buzov" <vbuzov@xxxxxxxxxxxxxxxxx> wrote:

> Paul Menage wrote:
> > On Tue, Jul 7, 2009 at 5:56 PM, KAMEZAWA
> > Hiroyuki<kamezawa.hiroyu@xxxxxxxxxxxxxx> wrote:
> >
> >> I know people likes to wait for file descriptor to get notification in these days.
> >> Can't we have "event" file descriptor in cgroup layer and make it reusable for
> >> other purposes ?
> >>
> >
> > I agree - rather than having to add a separate "wait for value to
> > cross X threshold" file for each numeric usage value that people might
> > be concerned about, it would be better to have a generic way to do it
> > for any file. Given that this is a userspace API, it would be better
> > to work out at least the generic API first, even if the initial
> > implementation isn't generic.
> > "OOM"
> >
> We all agree on that. Our original intention was to create the memory
> limit notification capability, not a generic mechanism for the cgroup
> events. So, we started out with something that fits the current model.
>
> > - independent thresholds for different waiters
> >
> The threshold is one of the Memory Controller cgroup attributes, as well
> as memory usage limit. It is not a user task attribute and should not be
> controlled by user tasks. It's administrator or some control task job to
> set memory usage parameters within the cgroup. Once the threshold is
> reached, all tasks within the cgroup should be notified and do their
> best to free the memory.
>
About this, I'll add following file.

memory.reduce_usage --- try to reduce memory usage to be smaller than...?

if your notifier goes in. Maybe good for dropping file caches etc.. for your notifer
use case.

Thanks,
-Kame





--
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/