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:0.097 / U:0.820 seconds]
©2003-2014 Jasper Spaans. Advertise on this site