Messages in this thread | | | From | "Williams, Dan J" <> | Subject | Re: [PATCH v2 1/3] mm/shuffle: don't move pages between zones and don't read garbage memmaps | Date | Sat, 20 Jun 2020 01:37:45 +0000 |
| |
On Fri, 2020-06-19 at 14:59 +0200, David Hildenbrand wrote: > Especially with memory hotplug, we can have offline sections (with a > garbage memmap) and overlapping zones. We have to make sure to only > touch initialized memmaps (online sections managed by the buddy) and > that > the zone matches, to not move pages between zones. > > To test if this can actually happen, I added a simple > BUG_ON(page_zone(page_i) != page_zone(page_j)); > right before the swap. When hotplugging a 256M DIMM to a 4G x86-64 VM > and > onlining the first memory block "online_movable" and the second > memory > block "online_kernel", it will trigger the BUG, as both zones (NORMAL > and MOVABLE) overlap. > > This might result in all kinds of weird situations (e.g., double > allocations, list corruptions, unmovable allocations ending up in the > movable zone). > > Fixes: e900a918b098 ("mm: shuffle initial free memory to improve > memory-side-cache utilization") > Acked-by: Michal Hocko <mhocko@suse.com> > Cc: stable@vger.kernel.org # v5.2+ > Cc: Andrew Morton <akpm@linux-foundation.org> > Cc: Johannes Weiner <hannes@cmpxchg.org> > Cc: Michal Hocko <mhocko@suse.com> > Cc: Minchan Kim <minchan@kernel.org> > Cc: Huang Ying <ying.huang@intel.com> > Cc: Wei Yang <richard.weiyang@gmail.com> > Cc: Mel Gorman <mgorman@techsingularity.net> > Signed-off-by: David Hildenbrand <david@redhat.com>
Looks good to me.
Acked-by: Dan Williams <dan.j.williams@intel.com>
| |