Messages in this thread | | | Date | Tue, 9 Dec 2014 09:47:18 +0000 | From | Mel Gorman <> | Subject | Re: [RFC PATCH 2/3] mm: more aggressive page stealing for UNMOVABLE allocations |
| |
On Tue, Dec 09, 2014 at 12:09:40PM +0900, Minchan Kim wrote: > On Thu, Dec 04, 2014 at 06:12:57PM +0100, Vlastimil Babka wrote: > > When allocation falls back to stealing free pages of another migratetype, > > it can decide to steal extra pages, or even the whole pageblock in order to > > reduce fragmentation, which could happen if further allocation fallbacks > > pick a different pageblock. In try_to_steal_freepages(), one of the situations > > where extra pages are stolen happens when we are trying to allocate a > > MIGRATE_RECLAIMABLE page. > > > > However, MIGRATE_UNMOVABLE allocations are not treated the same way, although > > spreading such allocation over multiple fallback pageblocks is arguably even > > worse than it is for RECLAIMABLE allocations. To minimize fragmentation, we > > should minimize the number of such fallbacks, and thus steal as much as is > > possible from each fallback pageblock. > > Fair enough. >
Just to be absolutly sure, check that data and see what the number of MIGRATE_UNMOVABLE blocks looks like over time. Make sure it's not just continually growing. MIGRATE_RECLAIMABLE and MIGRATE_MOVABLE blocks were expected to be freed if the system was aggressively reclaimed but the same is not be true of MIGRATE_UNMOVABLE. Even if all processes are aggressively reclaimed for example, the page tables are still there.
-- Mel Gorman SUSE Labs
| |