[CC Pavel] On Fri 16-02-18 14:37:26, Juergen Gross wrote: > Commit f7f99100d8d95dbcf09e0216a143211e79418b9f ("mm: stop zeroing > memory during allocation in vmemmap") broke Xen pv domains in some > configurations, as the "Pinned" information in struct page of early > page tables could get lost. Could you be more specific please? > Avoid this problem by not deferring struct page initialization when > running as Xen pv guest. > > Cc: <stable@xxxxxxxxxxxxxxx> #4.15 Fixes: f7f99100d8d9 ("mm: stop zeroing memory during allocation in vmemmap") please > Signed-off-by: Juergen Gross <jgross@xxxxxxxx> > --- > mm/page_alloc.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > index 81e18ceef579..681d504b9a40 100644 > --- a/mm/page_alloc.c > +++ b/mm/page_alloc.c > @@ -347,6 +347,9 @@ static inline bool update_defer_init(pg_data_t *pgdat, > /* Always populate low zones for address-constrained allocations */ > if (zone_end < pgdat_end_pfn(pgdat)) > return true; > + /* Xen PV domains need page structures early */ > + if (xen_pv_domain()) > + return true; > (*nr_initialised)++; > if ((*nr_initialised > pgdat->static_init_pgcnt) && > (pfn & (PAGES_PER_SECTION - 1)) == 0) { > -- > 2.13.6 -- Michal Hocko SUSE Labs