Re: [PATCH 2/3] compaction: compact unevictable page

From: Minchan Kim
Date: Wed Aug 31 2011 - 10:42:05 EST


On Wed, Aug 31, 2011 at 01:19:54PM +0200, Johannes Weiner wrote:
> On Sun, Nov 13, 2011 at 01:37:42AM +0900, Minchan Kim wrote:
> > Now compaction doesn't handle mlocked page as it uses __isolate_lru_page
> > which doesn't consider unevicatable page. It has been used by just lumpy so
> > it was pointless that it isolates unevictable page. But the situation is
> > changed. Compaction could handle unevictable page and it can help getting
> > big contiguos pages in fragment memory by many pinned page with mlock.
>
> This may result in applications unexpectedly faulting and waiting on
> mlocked pages under migration. I wonder how realtime people feel
> about that?

I didn't consider it but it's very important point.
The migrate_page can call pageout on dirty page so RT process could wait on the
mlocked page during very long time.
I can mitigate it with isolating mlocked page in case of !sync but still we can't
guarantee the time because we can't know how many vmas point the page so that try_to_unmap
could spend lots of time.

We can think it's a trade off between high order allocation VS RT latency.
Now I am biasing toward RT latency as considering mlock man page.

Any thoughts?

--
Kind regards,
Minchan Kim
--
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/