Re: [PATCH] memcg: drop type MEM_CGROUP_CHARGE_TYPE_DROP

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Dec 7, 2011 at 7:03 PM, KAMEZAWA Hiroyuki
<kamezawa.hiroyu@xxxxxxxxxxxxxx> wrote:
> On Wed, 7 Dec 2011 18:30:46 +0800
> Bob Liu <lliubbo@xxxxxxxxx> wrote:
>
>> uncharge will happen only when !page_mapped(page) no matter MEM_CGROUP_CHARGE_TYPE_DROP
>> or MEM_CGROUP_CHARGE_TYPE_SWAPOUT when called from mem_cgroup_uncharge_swapcache().
>> i think it's no difference, so drop it.
>>
>> Signed-off-by: Bob Liu <lliubbo@xxxxxxxxx>
>
> I think you didn't test at all.
>
>> ---
>>  mm/memcontrol.c |    5 -----
>>  1 files changed, 0 insertions(+), 5 deletions(-)
>>
>> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
>> index 6aff93c..02a2988 100644
>> --- a/mm/memcontrol.c
>> +++ b/mm/memcontrol.c
>> @@ -339,7 +339,6 @@ enum charge_type {
>>       MEM_CGROUP_CHARGE_TYPE_SHMEM,   /* used by page migration of shmem */
>>       MEM_CGROUP_CHARGE_TYPE_FORCE,   /* used by force_empty */
>>       MEM_CGROUP_CHARGE_TYPE_SWAPOUT, /* for accounting swapcache */
>> -     MEM_CGROUP_CHARGE_TYPE_DROP,    /* a page was unused swap cache */
>>       NR_CHARGE_TYPE,
>>  };
>>
>> @@ -3000,7 +2999,6 @@ __mem_cgroup_uncharge_common(struct page *page, enum charge_type ctype)
>>
>>       switch (ctype) {
>>       case MEM_CGROUP_CHARGE_TYPE_MAPPED:
>> -     case MEM_CGROUP_CHARGE_TYPE_DROP:
>>               /* See mem_cgroup_prepare_migration() */
>>               if (page_mapped(page) || PageCgroupMigration(pc))
>>                       goto unlock_out;
>> @@ -3121,9 +3119,6 @@ mem_cgroup_uncharge_swapcache(struct page *page, swp_entry_t ent, bool swapout)
>>       struct mem_cgroup *memcg;
>>       int ctype = MEM_CGROUP_CHARGE_TYPE_SWAPOUT;
>>
>> -     if (!swapout) /* this was a swap cache but the swap is unused ! */
>> -             ctype = MEM_CGROUP_CHARGE_TYPE_DROP;
>> -
>
> Then, here , what ctype must be if !swapout ?
>

I think MEM_CGROUP_CHARGE_TYPE_SWAPOUT is okay, i didn't get the point
that the benefit of using MEM_CGROUP_CHARGE_TYPE_DROP.

If use  MEM_CGROUP_CHARGE_TYPE_SWAPOUT, page_mapped(page) also checked in
__mem_cgroup_uncharge_common().

Maybe i missed something. Thanks.

3003         case MEM_CGROUP_CHARGE_TYPE_DROP:
3004                 /* See mem_cgroup_prepare_migration() */
3005                 if (page_mapped(page) || PageCgroupMigration(pc))
3006                         goto unlock_out;
3007                 break;
3008         case MEM_CGROUP_CHARGE_TYPE_SWAPOUT:
3009                 if (!PageAnon(page)) {  /* Shared memory */
3010                         if (page->mapping && !page_is_file_cache(page))
3011                                 goto unlock_out;
3012                 } else if (page_mapped(page)) /* Anon */
3013                                 goto unlock_out;
3014                 break;

> Nack.
>
> Thanks,
> -Kame
>


-- 
Regards,
--Bob

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]