Re: [PATCH v3 09/17] mm, compaction: make whole_zone flag ignore cached scanner positions
From: Vlastimil Babka <hidden>
Date: 2016-07-19 06:55:06
Also in:
lkml
On 07/19/2016 08:44 AM, Joonsoo Kim wrote:
On Mon, Jul 18, 2016 at 11:12:51AM +0200, Vlastimil Babka wrote:quoted
On 07/06/2016 07:09 AM, Joonsoo Kim wrote:quoted
On Fri, Jun 24, 2016 at 11:54:29AM +0200, Vlastimil Babka wrote:quoted
A recent patch has added whole_zone flag that compaction sets when scanning starts from the zone boundary, in order to report that zone has been fully scanned in one attempt. For allocations that want to try really hard or cannot fail, we will want to introduce a mode where scanning whole zone is guaranteed regardless of the cached positions. This patch reuses the whole_zone flag in a way that if it's already passed true to compaction, the cached scanner positions are ignored. Employing this flagOkay. But, please don't reset cached scanner position even if whole_zone flag is set. Just set cc->migrate_pfn and free_pfn, appropriately. WithWon't that result in confusion on cached position updates during compaction where it checks the previous cached position? I wonder what kinds of corner cases it can bring...whole_zone would come along with ignore_skip_hint so I think that there is no problem on cached position updating.
Right, that's true.
quoted
quoted
your following patches, whole_zone could be set without any compaction tryI don't understand what you mean here? Even after whole series, whole_zone is only checked, and positions thus reset, after passing the compaction_suitable() call from compact_zone(). So at that point we can say that compaction is being actually tried and it's not a drive-by reset?My point is that we should not initialize zone's cached pfn in case of the whole_zone because what compaction with COMPACT_PRIO_SYNC_FULL want is just to scan whole range. zone's cached pfn exists for efficiency and there is no reason to initialize it by compaction with COMPACT_PRIO_SYNC_FULL. If there are some parallel compaction users, they could be benefit from un-initialized zone's cached pfn so I'd like to leave them.
I doubt they will benefit much, but OK, I'll update the patch.
Thanks.
-- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>