diff options
Diffstat (limited to 'mm/page_alloc.c')
| -rw-r--r-- | mm/page_alloc.c | 4 | 
1 files changed, 4 insertions, 0 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 81e18ceef579..cb416723538f 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -46,6 +46,7 @@  #include <linux/stop_machine.h>  #include <linux/sort.h>  #include <linux/pfn.h> +#include <xen/xen.h>  #include <linux/backing-dev.h>  #include <linux/fault-inject.h>  #include <linux/page-isolation.h> @@ -347,6 +348,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) {  | 
