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.045 / U:0.396 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site