|
@@ -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) {
|