Re: memcg swap doesn't work in mmotm-2014-07-09-17-08?

Johannes Weiner
2014-07-16T18:37:27Z

On Wed, Jul 16, 2014 at 02:10:07PM -0400, Naoya Horiguchi wrote:
> Hi,
>
> It seems that when a process in some memcg tries to allocate more than
> memcg.limit_in_bytes, oom happens instead of swaping out in
> mmotm-2014-07-09-17-08 (memcg.memsw.limit_in_bytes is large enough).
> It does work in v3.16-rc3, so I think latest patches changed something.
> I'm not familiar with memcg internally, so no idea about what caused it.
> Could you see the problem?

There are a lot of changes in memory and swap accounting, but I can
not reproduce what you are describing: I set up a cgroup with a 100MB
memory limit and an unlimited memory+swap, then start a task in there
that faults 200MB worth of anonymous pages. The result is 100MB in
memory, 100MB in swap:

cache 0
rss 104267776
rss_huge 0
mapped_file 0
writeback 0
swap 105545728
pgpgin 26367
pgpgout 25950
pgfault 26695
pgmajfault 32
inactive_anon 52285440
active_anon 51982336
inactive_file 0
active_file 0
unevictable 0
hierarchical_memory_limit 104857600
hierarchical_memsw_limit 18446744073709551615

Filename Type Size Used Priority
/swapfile file 8388604 109800 -1

Could you provide more detail on your configuration and test case?

Thanks!