On Fri, 2011-05-27 at 18:01 +0530, Ankita Garg wrote: > +typedef struct mem_region_list_data { > + struct zone zones[MAX_NR_ZONES]; > + int nr_zones; > + > + int node; > + int region; > + > + unsigned long start_pfn; > + unsigned long spanned_pages; > +} mem_region_t; > + > +#define MAX_NR_REGIONS 16 Don't do the foo_t thing. It's out of style and the pg_data_t is a dinosaur. I'm a bit surprised how little discussion of this there is in the patch descriptions. Why did you choose this structure? What are the downsides of doing it this way? This effectively breaks up the zone's LRU in to MAX_NR_REGIONS LRUs. What effects does that have? How big _is_ a 'struct zone' these days? This patch will increase their effective size by 16x. Since one distro kernel basically gets run on *EVERYTHING*, what will MAX_NR_REGIONS be in practice? How many regions are there on the largest systems that will need this? We're going to be doing many linear searches and iterations over it, so it's pretty darn important to know. What does this do to lmbench numbers sensitive to page allocations? -- Dave _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm