Re: [PATCH 07/11] Memory compaction core

From: Minchan Kim
Date: Tue Mar 23 2010 - 22:10:39 EST


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.
>>
> 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.

>
> Thanks,
> -Kame
>
>
>
>
>



--
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/