Re: mm: memcontrol: rewrite uncharge API: problems

From: Hugh Dickins
Date: Thu Jul 03 2014 - 15:56:49 EST


On Wed, 2 Jul 2014, Hugh Dickins wrote:
> On Wed, 2 Jul 2014, Johannes Weiner wrote:
> >
> > Could you give the following patch a spin? I put it in the mmots
> > stack on top of mm-memcontrol-rewrite-charge-api-fix-shmem_unuse-fix.
>
> I'm just with the laptop until this evening. I slapped it on top of
> my 3.16-rc2-mm1 plus fixes (but obviously minus my memcg_batch one
> - which incidentally continues to run without crashing on the G5),
> and it quickly gave me this lockdep splat, which doesn't look very
> different from the one before.
>
> I see there's now an -rc3-mm1, I'll try it out on that in half an
> hour... but unless I send word otherwise, assume that's the same.

Yes, I get that lockdep report each time on -rc3-mm1 + your patch.

I also twice got a flurry of res_counter.c:28 underflow warnings.
Hmm, 62 of them each time (I was checking for a number near 512,
which would suggest a THP/4k confusion, but no). The majority
of them coming from mem_cgroup_reparent_charges.

But the laptop stayed up fine (for two hours before I had to stop
it), and the G5 has run fine with that load for 16 hours now, no
problems with release_pages, and not even a res_counter.c:28 (but
I don't use lockdep on it).

The x86 workstation ran fine for 4.5 hours, then hit some deadlock
which I doubt had any connection to your changes: looked more like
a jbd2 transaction was failing to complete (which, with me trying
ext4 on loop on tmpfs, might be more my problem than anyone else's).

Oh, but nearly forgot, I did an earlier run on the laptop last night,
which crashed within minutes on

VM_BUG_ON_PAGE(!(pc->flags & PCG_MEM))
mm/memcontrol.c:6680!
page had count 1 mapcount 0 mapping anon index 0x196
flags locked uptodate reclaim swapbacked, pcflags 1, memcg not root
mem_cgroup_migrate < move_to_new_page < migrate_pages < compact_zone <
compact_zone_order < try_to_compact_pages < __alloc_pages_direct_compact <
__alloc_pages_nodemask < alloc_pages_vma < do_huge_pmd_anonymous_page <
handle_mm_fault < __do_page_fault

I was expecting to reproduce that quite easily on the laptop or
workstation, and investigate more closely then; but in fact have
not seen it since.

Hugh
--
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/