On Thu 19-07-18 16:03:27, Oscar Salvador wrote: > On Thu, Jul 19, 2018 at 03:44:17PM +0200, Michal Hocko wrote: > > On Thu 19-07-18 15:27:38, osalvador@xxxxxxxxxxxxxxxxxx wrote: > > > From: Oscar Salvador <osalvador@xxxxxxx> > > > > > > In free_area_init_core we calculate the amount of managed pages > > > we are left with, by substracting the memmap pages and the pages > > > reserved for dma. > > > With the values left, we also account the total of kernel pages and > > > the total of pages. > > > > > > Since memmap pages are calculated from zone->spanned_pages, > > > let us only do these calculcations whenever zone->spanned_pages is greather > > > than 0. > > > > But why do we care? How do we test this? In other words, why is this > > worth merging? > > Uhm, unless the values are going to be updated, why do we want to go through all > comparasions/checks? > I thought it was a nice thing to have the chance to skip that block unless we are going to > update the counters. > > Again, if you think this only adds complexity and no good, I can drop it. Your changelog doesn't really explain the motivation. Does the change help performance? Is this a pure cleanup? The function is certainly not an example of beauty. It is more an example of changes done on top of older ones without much thinking. But I do not see your change would make it so much better. I would consider it a much nicer cleanup if it was split into logical units each doing one specific thing. Btw. are you sure this change is correct? E.g. /* * Set an approximate value for lowmem here, it will be adjusted * when the bootmem allocator frees pages into the buddy system. * And all highmem pages will be managed by the buddy system. */ zone->managed_pages = is_highmem_idx(j) ? realsize : freesize; expects freesize to be calculated properly and just from quick reading the code I do not see why skipping other adjustments is ok for size > 0. Maybe this is OK, I dunno and my brain is already heading few days off but a real cleanup wouldn't even make me think what the heck is going on here. -- Michal Hocko SUSE Labs