Re: [PATCH 07/11] Memory compaction core

From: Mel Gorman
Date: Wed Mar 24 2010 - 06:57:31 EST


On Wed, Mar 24, 2010 at 11:10:14AM +0900, Minchan Kim wrote:
> On Wed, Mar 24, 2010 at 10:53 AM, KAMEZAWA Hiroyuki
> <kamezawa.hiroyu@xxxxxxxxxxxxxx> wrote:
> > On Wed, 24 Mar 2010 10:47:41 +0900
> > Minchan Kim <minchan.kim@xxxxxxxxx> wrote:
> >
> >> On Wed, Mar 24, 2010 at 10:03 AM, KAMEZAWA Hiroyuki
> >> <kamezawa.hiroyu@xxxxxxxxxxxxxx> wrote:
> >> > On Tue, 23 Mar 2010 12:25:42 +0000
> >> > Mel Gorman <mel@xxxxxxxxx> wrote:
> >> >
> >> >> This patch is the core of a mechanism which compacts memory in a zone by
> >> >> relocating movable pages towards the end of the zone.
> >> >>
> >> >> A single compaction run involves a migration scanner and a free scanner.
> >> >> Both scanners operate on pageblock-sized areas in the zone. The migration
> >> >> scanner starts at the bottom of the zone and searches for all movable pages
> >> >> within each area, isolating them onto a private list called migratelist.
> >> >> The free scanner starts at the top of the zone and searches for suitable
> >> >> areas and consumes the free pages within making them available for the
> >> >> migration scanner. The pages isolated for migration are then migrated to
> >> >> the newly isolated free pages.
> >> >>
> >> >> Signed-off-by: Mel Gorman <mel@xxxxxxxxx>
> >> >> Acked-by: Rik van Riel <riel@xxxxxxxxxx>
> >> >> Reviewed-by: Minchan Kim <minchan.kim@xxxxxxxxx>
> >> >
> >> > I think lru_add_drain() or lru_add_drain_all() should be called somewhere
> >> > when we do __isolate_lru_page(). But it's (_all is) slow....
> >> >
> >>
> >> migrate_prep does it.
> >>

Yep.

> > Thanks.
> >
> > Hmm...then, lru_add_drain_all() is called at each (32page migrate) itelation.
> > Isn't it too slow to be called in such frequency ?
>
> I agree. We can move migrate_prep in compact_zone.
>

Indeed we can. It's moved now.

Thanks

--
Mel Gorman
Part-time Phd Student Linux Technology Center
University of Limerick IBM Dublin Software Lab
--
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/