On Wed, Sep 16, 2020 at 08:34:09PM +0200, David Hildenbrand wrote: > __putback_isolated_page() already documents that pages will be placed to > the tail of the freelist - this is, however, not the case for > "order >= MAX_ORDER - 2" (see buddy_merge_likely()) - which should be > the case for all existing users. > > This change affects two users: > - free page reporting > - page isolation, when undoing the isolation. > > This behavior is desireable for pages that haven't really been touched > lately, so exactly the two users that don't actually read/write page > content, but rather move untouched pages. > > The new behavior is especially desirable for memory onlining, where we > allow allocation of newly onlined pages via undo_isolate_page_range() > in online_pages(). Right now, we always place them to the head of the > free list, resulting in undesireable behavior: Assume we add > individual memory chunks via add_memory() and online them right away to > the NORMAL zone. We create a dependency chain of unmovable allocations > e.g., via the memmap. The memmap of the next chunk will be placed onto > previous chunks - if the last block cannot get offlined+removed, all > dependent ones cannot get offlined+removed. While this can already be > observed with individual DIMMs, it's more of an issue for virtio-mem > (and I suspect also ppc DLPAR). > > Note: If we observe a degradation due to the changed page isolation > behavior (which I doubt), we can always make this configurable by the > instance triggering undo of isolation (e.g., alloc_contig_range(), > memory onlining, memory offlining). > > Cc: Andrew Morton <a...@linux-foundation.org> > Cc: Alexander Duyck <alexander.h.du...@linux.intel.com> > Cc: Mel Gorman <mgor...@techsingularity.net> > Cc: Michal Hocko <mho...@kernel.org> > Cc: Dave Hansen <dave.han...@intel.com> > Cc: Vlastimil Babka <vba...@suse.cz> > Cc: Wei Yang <richard.weiy...@linux.alibaba.com> > Cc: Oscar Salvador <osalva...@suse.de> > Cc: Mike Rapoport <r...@kernel.org> > Cc: Scott Cheloha <chel...@linux.ibm.com> > Cc: Michael Ellerman <m...@ellerman.id.au> > Signed-off-by: David Hildenbrand <da...@redhat.com>
LGTM, the only thing is the shuffe_zone topic that Wei and Vlastimil rose. Feels a bit odd that takes precedence over something we explicitily demanded. With the comment Vlastimil suggested: Reviewed-by: Oscar Salvador <osalva...@suse.de> -- Oscar Salvador SUSE L3