[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 9/9] mm: compaction: Restart compaction from nea
From: |
Rafael Aquini |
Subject: |
Re: [Qemu-devel] [PATCH 9/9] mm: compaction: Restart compaction from near where it left off |
Date: |
Fri, 21 Sep 2012 14:54:24 -0300 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Fri, Sep 21, 2012 at 11:46:23AM +0100, Mel Gorman wrote:
> This is almost entirely based on Rik's previous patches and discussions
> with him about how this might be implemented.
>
> Order > 0 compaction stops when enough free pages of the correct page
> order have been coalesced. When doing subsequent higher order allocations,
> it is possible for compaction to be invoked many times.
>
> However, the compaction code always starts out looking for things to compact
> at the start of the zone, and for free pages to compact things to at the
> end of the zone.
>
> This can cause quadratic behaviour, with isolate_freepages starting at
> the end of the zone each time, even though previous invocations of the
> compaction code already filled up all free memory on that end of the zone.
> This can cause isolate_freepages to take enormous amounts of CPU with
> certain workloads on larger memory systems.
>
> This patch caches where the migration and free scanner should start from on
> subsequent compaction invocations using the pageblock-skip information. When
> compaction starts it begins from the cached restart points and will
> update the cached restart points until a page is isolated or a pageblock
> is skipped that would have been scanned by synchronous compaction.
>
> Signed-off-by: Mel Gorman <address@hidden>
> Acked-by: Rik van Riel <address@hidden>
> ---
Acked-by: Rafael Aquini <address@hidden>
- Re: [Qemu-devel] [PATCH 6/9] mm: compaction: Acquire the zone->lock as late as possible, (continued)
[Qemu-devel] [PATCH 9/9] mm: compaction: Restart compaction from near where it left off, Mel Gorman, 2012/09/21
- Re: [Qemu-devel] [PATCH 9/9] mm: compaction: Restart compaction from near where it left off,
Rafael Aquini <=
[Qemu-devel] [PATCH 4/9] mm: compaction: Abort compaction loop if lock is contended or run too long, Mel Gorman, 2012/09/21
[Qemu-devel] [PATCH 5/9] mm: compaction: Acquire the zone->lru_lock as late as possible, Mel Gorman, 2012/09/21