Re: [PATCH] mm, memcg: Optionally disable memcg by default using Kconfig

Michal Hocko
2015-05-19T15:24:35Z

On Tue 19-05-15 16:13:02, Mel Gorman wrote:
[...]
> :ffffffff811c160f: je ffffffff811c1630 <mem_cgroup_try_charge+0x40>
> :ffffffff811c1611: xor %eax,%eax
> :ffffffff811c1613: xor %ebx,%ebx
> 1 1.7e-05 :ffffffff811c1615: mov %rbx,(%r12)
> 7 1.2e-04 :ffffffff811c1619: add $0x10,%rsp
> 1211 0.0203 :ffffffff811c161d: pop %rbx
> 5 8.4e-05 :ffffffff811c161e: pop %r12
> 5 8.4e-05 :ffffffff811c1620: pop %r13
> 1249 0.0210 :ffffffff811c1622: pop %r14
> 7 1.2e-04 :ffffffff811c1624: pop %rbp
> 5 8.4e-05 :ffffffff811c1625: retq
> :ffffffff811c1626: nopw %cs:0x0(%rax,%rax,1)
> 295 0.0050 :ffffffff811c1630: mov (%rdi),%rax
> 160703 2.6973 :ffffffff811c1633: mov %edx,%r13d

Huh, what? Even if this was off by one and the preceding instruction has
consumed the time. This would be reading from page->flags but the page
should be hot by the time we got here, no?

> #### MEL: I was surprised to see this atrocity. It's a PageSwapCache check
> #### /usr/src/linux-4.0-vanilla/./arch/x86/include/asm/bitops.h:311
> #### /usr/src/linux-4.0-vanilla/include/linux/page-flags.h:261
> #### /usr/src/linux-4.0-vanilla/mm/memcontrol.c:5473
--
Michal Hocko
SUSE Labs