lkml.org 
[lkml]   [2011]   [Jan]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [patch 2/3] memcg: prevent endless loop when charging huge pages to near-limit group
On Mon, Jan 31, 2011 at 04:24:48PM -0800, Andrew Morton wrote:
> On Tue, 1 Feb 2011 01:04:55 +0100
> Johannes Weiner <hannes@cmpxchg.org> wrote:
> > @@ -182,6 +182,14 @@ static inline bool res_counter_check_under_limit(struct res_counter *cnt)
> > return ret;
> > }
> >
> > +/**
> > + * res_counter_check_margin - check if the counter allows charging
> > + * @cnt: the resource counter to check
> > + * @bytes: the number of bytes to check the remaining space against
> > + *
> > + * Returns a boolean value on whether the counter can be charged
> > + * @bytes or whether this would exceed the limit.
> > + */
> > static inline bool res_counter_check_margin(struct res_counter *cnt,
> > unsigned long bytes)
> > {
>
> mem_cgroup_check_margin() needs some lipstick too.

*oink*

Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
---
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 9e5de7c..6c07554 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -1111,6 +1111,14 @@ static bool mem_cgroup_check_under_limit(struct mem_cgroup *mem)
return false;
}

+/**
+ * mem_cgroup_check_margin - check if the memory cgroup allows charging
+ * @mem: memory cgroup to check
+ * @bytes: the number of bytes the caller intends to charge
+ *
+ * Returns a boolean value on whether @mem can be charged @bytes or
+ * whether this would exceed the limit.
+ */
static bool mem_cgroup_check_margin(struct mem_cgroup *mem, unsigned long bytes)
{
if (!res_counter_check_margin(&mem->res, bytes))

\
 
 \ /
  Last update: 2011-02-01 01:37    [W:0.071 / U:0.008 seconds]
©2003-2014 Jasper Spaans. Advertise on this site