lkml.org 
[lkml]   [2008]   [Oct]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    SubjectRe: Re: [PATCH 3/6] memcg: charge-commit-cancel protocl
    ----- Original Message -----
    >> @@ -531,18 +529,33 @@ static int mem_cgroup_charge_common(stru
    >>
    >> if (!nr_retries--) {
    >> mem_cgroup_out_of_memory(mem, gfp_mask);
    >> - goto out;
    >> + goto nomem;
    >> }
    >> }
    >> + return 0;
    >> +nomem:
    >> + css_put(&mem->css);
    >> + return -ENOMEM;
    >> +}
    >>
    >> +/*
    >> + * commit a charge got by mem_cgroup_try_charge() and makes page_cgroup to
    be
    >> + * USED state. If already USED, uncharge and return.
    >> + */
    >> +
    >> +static void __mem_cgroup_commit_charge(struct mem_cgroup *mem,
    >> + struct page_cgroup *pc,
    >> + enum charge_type ctype)
    >> +{
    >> + struct mem_cgroup_per_zone *mz;
    >> + unsigned long flags;
    >>
    >> lock_page_cgroup(pc);
    >> if (unlikely(PageCgroupUsed(pc))) {
    >> unlock_page_cgroup(pc);
    >> res_counter_uncharge(&mem->res, PAGE_SIZE);
    >> css_put(&mem->css);
    >> -
    >> - goto done;
    >> + return;
    >> }
    >> pc->mem_cgroup = mem;
    >> /*
    >
    >Hmm, this patch cannot be applied because of this part.
    >
    >After [2/6], mem_cgroup_charge_common looks like:
    >
    >---
    > if (!nr_retries--) {
    > mem_cgroup_out_of_memory(mem, gfp_mask);
    > goto out;
    > }
    > }
    >
    >
    > lock_page_cgroup(pc);
    >
    > if (unlikely(PageCgroupUsed(pc))) {
    > unlock_page_cgroup(pc);
    > res_counter_uncharge(&mem->res, PAGE_SIZE);
    > css_put(&mem->css);
    >
    > goto done;
    > }
    > pc->mem_cgroup = mem;
    > /*
    >---
    >
    >There is an empty line after lock_page_cgroup.
    >
    >After removing this line, I can appliy this patch(and [4-6/6]).
    >
    Ah, sorry. maybe refresh miss..

    I'll check it again tomorrow.

    Thanks,
    -Kame


    >
    >Thanks,
    >Daisuke Nishimura.
    >



    \
     
     \ /
      Last update: 2008-10-01 12:07    [W:2.079 / U:0.052 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site