On Mon, 5 May 2014, Vlastimil Babka wrote: > I see, although I would still welcome some numbers to back such change. It's pretty difficult to capture numbers for this in real-world scenarios since it happens rarely (and when it happens, it's very significant latency) and without an instrumented kernel that will determine how many pageblocks have been skipped. I could create a synthetic example of it in the kernel and get numbers for a worst-case scenario with a 64GB zone if you'd like, I'm not sure how representative it will be. > What I still don't like is the removal of the intent of commit 50b5b094e6. You > now again call set_pageblock_skip() unconditionally, thus also on pageblocks > that async compaction skipped due to being non-MOVABLE. The sync compaction > will thus ignore them. > I'm not following you, with this patch there are two cached pfns for the migration scanner: one is used for sync and one is used for async. When cc->sync == true, both cached pfns are updated (async is not going to succeed for a pageblock when sync failed for that pageblock); when cc->sync == false, the async cached pfn is updated only and we pick up again where we left off for subsequent async compactions. Sync compaction will still begin where it last left off and consider these non-MOVABLE pageblocks. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>