On Mon, Jul 17, 2017 at 03:26:02PM -0400, Tejun Heo wrote: > > This patch changes the allocator to only mark allocated pages for the > > region the population bitmap is used for. Prior, the bitmap was marked > > completely used as the first chunk was allocated and immutable. This is > > misleading because the first chunk may not be completely filled. > > Additionally, with moving the base_addr up in the previous patch, the > > population map no longer corresponds to what is being checked. > > This in isolation makes sense although the rationale isn't clear from > the description. Is it a mere cleanup or is this needed to enable > further changes? This change is clean up to make sure there is no misunderstanding between what part of the bitmap actually is meaningful and the actual size of the bitmap. > > pcpu_nr_empty_pop_pages is used to ensure there are a handful of free > > pages around to serve atomic allocations. A new field, nr_empty_pop_pages, > > is added to the pcpu_chunk struct to keep track of the number of empty > > pages. This field is needed as the number of empty populated pages is > > globally kept track of and deltas are used to update it. This new field > > is exposed in percpu_stats. > > But I can't see why this is being added or why this is in the same > patch with the previous change. > I've split this out into another patch. > > Now that chunk->nr_pages is the number of pages the chunk is serving, it > > is nice to use this in the work function for population and freeing of > > chunks rather than use the global variable pcpu_unit_pages. > > The same goes for the above part. It's fine to collect misc changes > into a patch when they're trivial and related in some ways but the > content of this patch seems a bit random. This change is needed in the same patch because chunk->nr_populated no longer is set to pcpu_unit_pages. The checks would check the dynamic chunk and then try to populate. Those checks should be checking against the size of the region being served which is nr_pages. Thanks, Dennis -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>