Re: memcg uncharge page counter mismatch

From: Michal Hocko
Date: Wed Dec 02 2015 - 05:16:53 EST


On Tue 01-12-15 22:34:55, Minchan Kim wrote:
> With new test on mmotm-2015-11-25-17-08, I saw below WARNING message
> several times. I couldn't see it with reverting new THP refcount
> redesign.

Just a wild guess. What prevents migration/compaction from calling
split_huge_page on thp zero page? There is VM_BUG_ON but it is not clear
whether you run with CONFIG_DEBUG_VM enabled.

Also, how big is the underflow?

> I will try to make reproducer when I have a time but not sure.
> Before that, I hope someone catches it up.
>
> ------------[ cut here ]------------
> WARNING: CPU: 0 PID: 1340 at mm/page_counter.c:26 page_counter_cancel+0x34/0x40()
> Modules linked in:
> CPU: 0 PID: 1340 Comm: madvise_test Not tainted 4.4.0-rc2-mm1-kirill+ #12
> Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011
> ffffffff81782eeb ffff880072b97be8 ffffffff8126f476 0000000000000000
> ffff880072b97c20 ffffffff8103e476 ffff88006b35d0b0 00000000000001fe
> 0000000000000000 00000000000001fe ffff88006b35d000 ffff880072b97c30
> Call Trace:
> [<ffffffff8126f476>] dump_stack+0x44/0x5e
> [<ffffffff8103e476>] warn_slowpath_common+0x86/0xc0
> [<ffffffff8103e56a>] warn_slowpath_null+0x1a/0x20
> [<ffffffff8114c754>] page_counter_cancel+0x34/0x40
> [<ffffffff8114c852>] page_counter_uncharge+0x22/0x30
> [<ffffffff8114fe17>] uncharge_batch+0x47/0x140
> [<ffffffff81150033>] uncharge_list+0x123/0x190
> [<ffffffff8115222b>] mem_cgroup_uncharge_list+0x1b/0x20
> [<ffffffff810fe9bb>] release_pages+0xdb/0x350
> [<ffffffff8113044d>] free_pages_and_swap_cache+0x9d/0x120
> [<ffffffff8111a546>] tlb_flush_mmu_free+0x36/0x60
> [<ffffffff8111b63c>] tlb_finish_mmu+0x1c/0x50
> [<ffffffff81125f38>] exit_mmap+0xd8/0x130
> [<ffffffff8103bd56>] mmput+0x56/0xe0
> [<ffffffff8103ff4d>] do_exit+0x1fd/0xaa0
> [<ffffffff8104086f>] do_group_exit+0x3f/0xb0
> [<ffffffff810408f4>] SyS_exit_group+0x14/0x20
> [<ffffffff8142b617>] entry_SYSCALL_64_fastpath+0x12/0x6a
> ---[ end trace 7864cf719fb83e12 ]---

--
Michal Hocko
SUSE Labs
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/