Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1375814

Re: [PATCH 06/11] mm, compaction: distinguish between full and partial COMPACT_COMPLETE

From Vlastimil Babka <vbabka@suse.cz>
Newsgroups linux.kernel
Subject Re: [PATCH 06/11] mm, compaction: distinguish between full and partial COMPACT_COMPLETE
Date 2016-04-11 15:00 +0200
Message-ID <rmJBF-655-45@gated-at.bofh.it> (permalink)
References <rkxlf-2sv-9@gated-at.bofh.it> <rkxlh-2sv-45@gated-at.bofh.it> <rmIYW-5N5-25@gated-at.bofh.it> <rmJrY-61n-27@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On 04/11/2016 02:46 PM, Michal Hocko wrote:
>> This assumes that migrate scanner at initial position implies also free
>> scanner at the initial position. That should be true, because migration
>> scanner is the first to run. But getting the zone->compact_cached_*_pfn is
>> racy. Worse, zone->compact_cached_migrate_pfn is array distinguishing sync
>> and async compaction, so it's possible that async compaction has advanced
>> both its own migrate scanner cached position, and the shared free scanner
>> cached position, and then sync compaction starts migrate scanner at
>> start_pfn, but free scanner has already advanced.
>
> OK, I see. The whole thing smelled racy but I thought it wouldn't be
> such a big deal. Even if we raced then only a marginal part of the zone
> wouldn't be scanned, right? Or is it possible that free_pfn would appear
> in the middle of the zone because of the race?

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.

>> So you might still see a false positive COMPACT_COMPLETE, just less
>> frequently and probably with much lower impact.
>> But if you need to be truly reliable, check also that cc->free_pfn ==
>> round_down(end_pfn - 1, pageblock_nr_pages)
>
> I do not think we need the precise check if the race window (in the
> skipped zone range) is always small.
>
> Thanks!
>

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 00/11] oom detection rework v5 Michal Hocko <mhocko@kernel.org> - 2016-04-05 13:30 +0200
  [PATCH 10/11] mm, oom: protect !costly allocations some more Michal Hocko <mhocko@kernel.org> - 2016-04-05 13:30 +0200
    Re: [PATCH 10/11] mm, oom: protect !costly allocations some more Andrew Morton <akpm@linux-foundation.org> - 2016-04-06 02:10 +0200
      Re: [PATCH 10/11] mm, oom: protect !costly allocations some more Michal Hocko <mhocko@kernel.org> - 2016-04-06 11:30 +0200
    Re: [PATCH 10/11] mm, oom: protect !costly allocations some more Vlastimil Babka <vbabka@suse.cz> - 2016-04-11 16:50 +0200
  [PATCH 08/11] mm, compaction: Simplify __alloc_pages_direct_compact feedback interface Michal Hocko <mhocko@kernel.org> - 2016-04-05 13:30 +0200
    Re: [PATCH 08/11] mm, compaction: Simplify  __alloc_pages_direct_compact feedback interface Vlastimil Babka <vbabka@suse.cz> - 2016-04-11 16:00 +0200
  [PATCH 04/11] mm, compaction: cover all compaction mode in compact_zone Michal Hocko <mhocko@kernel.org> - 2016-04-05 13:30 +0200
  [PATCH 05/11] mm, compaction: distinguish COMPACT_DEFERRED from COMPACT_SKIPPED Michal Hocko <mhocko@kernel.org> - 2016-04-05 13:30 +0200
    Re: [PATCH 05/11] mm, compaction: distinguish COMPACT_DEFERRED from  COMPACT_SKIPPED Vlastimil Babka <vbabka@suse.cz> - 2016-04-11 13:10 +0200
      Re: [PATCH 05/11] mm, compaction: distinguish COMPACT_DEFERRED from  COMPACT_SKIPPED Michal Hocko <mhocko@kernel.org> - 2016-04-11 13:30 +0200
  [PATCH 07/11] mm, compaction: Update compaction_result ordering Michal Hocko <mhocko@kernel.org> - 2016-04-05 13:30 +0200
    Re: [PATCH 07/11] mm, compaction: Update compaction_result ordering Vlastimil Babka <vbabka@suse.cz> - 2016-04-11 14:20 +0200
  [PATCH 02/11] mm: throttle on IO only when there are too many dirty and writeback pages Michal Hocko <mhocko@kernel.org> - 2016-04-05 13:30 +0200
  [PATCH 01/11] mm, oom: rework oom detection Michal Hocko <mhocko@kernel.org> - 2016-04-05 13:30 +0200
  [PATCH 03/11] mm, compaction: change COMPACT_ constants into enum Michal Hocko <mhocko@kernel.org> - 2016-04-05 13:30 +0200
  [PATCH 06/11] mm, compaction: distinguish between full and partial COMPACT_COMPLETE Michal Hocko <mhocko@kernel.org> - 2016-04-05 13:30 +0200
    Re: [PATCH 06/11] mm, compaction: distinguish between full and  partial COMPACT_COMPLETE Vlastimil Babka <vbabka@suse.cz> - 2016-04-11 14:20 +0200
      Re: [PATCH 06/11] mm, compaction: distinguish between full and  partial COMPACT_COMPLETE Michal Hocko <mhocko@kernel.org> - 2016-04-11 14:50 +0200
        Re: [PATCH 06/11] mm, compaction: distinguish between full and  partial COMPACT_COMPLETE Vlastimil Babka <vbabka@suse.cz> - 2016-04-11 15:00 +0200
          Re: [PATCH 06/11] mm, compaction: distinguish between full and  partial COMPACT_COMPLETE Michal Hocko <mhocko@kernel.org> - 2016-04-11 15:30 +0200
            Re: [PATCH 06/11] mm, compaction: distinguish between full and  partial COMPACT_COMPLETE Vlastimil Babka <vbabka@suse.cz> - 2016-04-11 15:50 +0200
              Re: [PATCH 06/11] mm, compaction: distinguish between full and  partial COMPACT_COMPLETE Michal Hocko <mhocko@kernel.org> - 2016-04-11 15:50 +0200
  [PATCH 09/11] mm, compaction: Abstract compaction feedback to helpers Michal Hocko <mhocko@kernel.org> - 2016-04-05 13:30 +0200
    Re: [PATCH 09/11] mm, compaction: Abstract compaction feedback to  helpers Andrew Morton <akpm@linux-foundation.org> - 2016-04-06 02:00 +0200
      Re: [PATCH 09/11] mm, compaction: Abstract compaction feedback to  helpers Hugh Dickins <hughd@google.com> - 2016-04-06 03:00 +0200
        Re: [PATCH 09/11] mm, compaction: Abstract compaction feedback to  helpers Michal Hocko <mhocko@kernel.org> - 2016-04-06 11:30 +0200
        Re: [PATCH 09/11] mm, compaction: Abstract compaction feedback to  helpers Andrew Morton <akpm@linux-foundation.org> - 2016-04-06 19:50 +0200
    Re: [PATCH 09/11] mm, compaction: Abstract compaction feedback to  helpers Vlastimil Babka <vbabka@suse.cz> - 2016-04-11 16:40 +0200
      Re: [PATCH 09/11] mm, compaction: Abstract compaction feedback to  helpers Michal Hocko <mhocko@kernel.org> - 2016-04-11 17:20 +0200
        Re: [PATCH 09/11] mm, compaction: Abstract compaction feedback to  helpers Michal Hocko <mhocko@kernel.org> - 2016-04-11 17:40 +0200
        Re: [PATCH 09/11] mm, compaction: Abstract compaction feedback to  helpers Vlastimil Babka <vbabka@suse.cz> - 2016-04-12 14:00 +0200
          Re: [PATCH 09/11] mm, compaction: Abstract compaction feedback to  helpers Michal Hocko <mhocko@kernel.org> - 2016-04-12 14:30 +0200
    Re: [PATCH 09/11] mm, compaction: Abstract compaction feedback to  helpers Michal Hocko <mhocko@kernel.org> - 2016-04-11 18:00 +0200
      [RFC PATCH] mm: use compaction feedback for thp backoff conditions Michal Hocko <mhocko@kernel.org> - 2016-04-11 18:10 +0200
      Re: [PATCH 09/11] mm, compaction: Abstract compaction feedback to  helpers Vlastimil Babka <vbabka@suse.cz> - 2016-04-12 14:00 +0200
  [PATCH 11/11] mm: consider compaction feedback also for costly allocation Michal Hocko <mhocko@kernel.org> - 2016-04-05 13:30 +0200
    Re: [PATCH 11/11] mm: consider compaction feedback also for costly  allocation Michal Hocko <mhocko@kernel.org> - 2016-04-05 14:50 +0200
    Re: [PATCH 11/11] mm: consider compaction feedback also for costly  allocation Vlastimil Babka <vbabka@suse.cz> - 2016-04-11 17:10 +0200
  Re: [PATCH 00/11] oom detection rework v5 Michal Hocko <mhocko@kernel.org> - 2016-04-05 14:50 +0200

csiph-web