Re: [PATCH v7 00/12] Support non-lru page migration

From: Minchan Kim
Date: Thu Jun 16 2016 - 06:09:30 EST


On Thu, Jun 16, 2016 at 05:42:11PM +0900, Sergey Senozhatsky wrote:
> On (06/16/16 15:47), Minchan Kim wrote:
> > > [..]
> > > > > this is what I'm getting with the [zsmalloc: keep first object offset in struct page]
> > > > > applied: "count:0 mapcount:-127". which may be not related to zsmalloc at this point.
> > > > >
> > > > > kernel: BUG: Bad page state in process khugepaged pfn:101db8
> > > > > kernel: page:ffffea0004076e00 count:0 mapcount:-127 mapping: (null) index:0x1
> > > >
> > > > Hm, it seems double free.
> > > >
> > > > It doen't happen if you disable zram? IOW, it seems to be related
> > > > zsmalloc migration?
> > >
> > > need to test more, can't confidently answer now.
> > >
> > > > How easy can you reprodcue it? Could you bisect it?
> > >
> > > it takes some (um.. random) time to trigger the bug.
> > > I'll try to come up with more details.
> >
> > Could you revert [1] and retest?
> >
> > [1] mm/compaction: split freepages without holding the zone lock
>
> ok, so this is not related to zsmalloc. finally manged to reproduce
> it. will fork a separate thread.

The reason I mentioned [1] is that it seems to have a bug.

isolate_freepages_block
__isolate_free_page
if(!zone_watermark_ok())
return 0;
list_add_tail(&page->lru, freelist);

However, the page is not isolated.
Joonsoo?