On Mon 11-04-16 15:42:21, Vlastimil Babka wrote: > On 04/11/2016 03:27 PM, Michal Hocko wrote: > >On Mon 11-04-16 14:53:36, Vlastimil Babka wrote: > >>On 04/11/2016 02:46 PM, Michal Hocko wrote: > >> > >>The racy part is negligible but I didn't realize the sync/async migrate > >>scanner part until now. So yeah, free_pfn could have got to middle of zone > >>when it was in the async mode. But that also means that the async mode > >>recently used up all free pages in the second half of the zone. WRT free > >>pages isolation, async mode is not trying less than sync, so it shouldn't be > >>a considerable missed opportunity if we don't rescan the it, though. > > > >I am not really sure I understand. The primary intention of this patch > >is to distinguish where we have scanned basically whole zones from cases > >where a new scan started off previous mark and so it was just unlucky to > >see only tiny bit of the zone where we would clearly give up too early. > >FWIU this shouldn't be the case if we start scanning from the beginning > >of the zone even if we raced on the other end of the zone because the > >missed part would be negligible. Is that understanding correct? > > Yes, it should be less unlucky than seeing a tiny bit of the zone. Just > wanted to point out that you might still not see the whole zone in one > compaction attempt. E.g. async compaction is first, advances the free > scanner and caches its position when it bails out due to being contended. > Then direct reclaim frees some pages behind the cached position. Sync > compaction attempts starts migration scanner from start_pfn, but picks up > the cached free scanner pfn. The result is missing some free pages and the > scanners meeting somewhat earlier than they otherwise would. Probably not > critical even for OOM decisions, as that's also racy anyway. OK, I see now. I agree this shouldn't be critical and thanks for the clarification. -- Michal Hocko SUSE Labs -- 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>