On 18:01 Fri 27 May , Ankita Garg wrote: > Memory regions are created at boot up time, from the information obtained > from the firmware. This patchset was developed on ARM platform, on which at > present u-boot bootloader does not export information about memory units that > can be independently power managed. For the purpose of demonstration, 2 hard > coded memory regions are created, of 256MB each on the Panda board with 512MB > RAM. > > Signed-off-by: Ankita Garg <ankita@xxxxxxxxxx> > --- > include/linux/mmzone.h | 8 +++----- > mm/page_alloc.c | 29 +++++++++++++++++++++++++++++ > 2 files changed, 32 insertions(+), 5 deletions(-) > > diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h > index bc3e3fd..5dbe1e1 100644 > --- a/include/linux/mmzone.h > +++ b/include/linux/mmzone.h > @@ -627,14 +627,12 @@ typedef struct mem_region_list_data { > */ > struct bootmem_data; > typedef struct pglist_data { > -/* The linkage to node_zones is now removed. The new hierarchy introduced > - * is pg_data_t -> mem_region -> zones > - * struct zone node_zones[MAX_NR_ZONES]; > - */ > struct zonelist node_zonelists[MAX_ZONELISTS]; > int nr_zones; > #ifdef CONFIG_FLAT_NODE_MEM_MAP /* means !SPARSEMEM */ > - struct page *node_mem_map; > + strs pg_data_t -> mem_region -> zones > + * struct zone node_zones[MAX_NR_ZONES]; > + */uct page *node_mem_map; what is time? > #ifdef CONFIG_CGROUP_MEM_RES_CTLR > struct page_cgroup *node_page_cgroup; > #endif > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > index da8b045..3d994e8 100644 > --- a/mm/page_alloc.c > +++ b/mm/page_alloc.c > @@ -4285,6 +4285,34 @@ static inline int pageblock_default_order(unsigned int order) > > #endif /* CONFIG_HUGETLB_PAGE_SIZE_VARIABLE */ > > +#define REGIONS_SIZE (512 << 20) >> PAGE_SHIFT fix a region size why? > + > +static void init_node_memory_regions(struct pglist_data *pgdat) > +{ Best Regards, J. _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm