Re: [PATCH RFC 00/15] mm: memory book keeping and lru_lock splitting

KAMEZAWA Hiroyuki
2012-02-20T00:33:40Z

On Fri, 17 Feb 2012 23:14:01 -0800 (PST)
Hugh Dickins <hughd@google.com> wrote:

> On Sat, 18 Feb 2012, Konstantin Khlebnikov wrote:
> > Hugh Dickins wrote:
> > > On Thu, 16 Feb 2012, Hugh Dickins wrote:
> > > >
> > > > Yours are not the only patches I was testing in that tree, I tried to
> > > > gather several other series which I should be reviewing if I ever have
> > > > time: Kamezawa-san's page cgroup diet 6, Xiao Guangrong's 4 prio_tree
> > > > cleanups, your 3 radix_tree changes, your 6 shmem changes, your 4 memcg
> > > > miscellaneous, and then your 15 books.
> > > >
> > > > The tree before your final 15 did well under pressure, until I tried to
> > > > rmdir one of the cgroups afterwards: then it crashed nastily, I'll have
> > > > to bisect into that, probably either Kamezawa's or your memcg changes.
> > >
> > > So far I haven't succeeded in reproducing that at all: it was real,
> > > but obviously harder to get than I assumed - indeed, no good reason
> > > to associate it with any of those patches, might even be in 3.3-rc.
> > >
> > > It did involve a NULL pointer dereference in mem_cgroup_page_lruvec(),
> > > somewhere below compact_zone() - but repercussions were causing the
> > > stacktrace to scroll offscreen, so I didn't get good details.
> >
> > There some stupid bugs in my v1 patchset, it shouldn't works at all.
> > I did not expect that someone will try to use it. I sent it just to discuss.
>
> Yes, but as I said, that bug appeared before I put your patchset (the 15) on.
>

Hm, NULL pointer dereference in mem_cgroup_page_lruvec() via comaction tend to
mean pc->mem_cgroup was NULL...

IIUC,

- compaction get pages from LRU list and isolate/migrate them. So, When pages
on LRU were migrated by compact_zone(), pc->mem_cgroup never be NULL..
- All newly allocated pages for migration will be reset by mem_cgroup_reset_owner().

Hm, something unexpected happens..

Regards,
-Kame