On 13.08.19 12:42, Nitesh Narayan Lal wrote: > > On 8/13/19 6:34 AM, David Hildenbrand wrote: >>>>>> +static int process_free_page(struct page *page, >>>>>> + struct page_reporting_config *phconf, int count) >>>>>> +{ >>>>>> + int mt, order, ret = 0; > [...] >>>>>> +/** >>>>>> + * zone_reporting_init - For each zone initializes the page reporting fields >>>>>> + * and allocates the respective bitmap. >>>>>> + * >>>>>> + * This function returns 0 on successful initialization, -ENOMEM otherwise. >>>>>> + */ >>>>>> +static int zone_reporting_init(void) >>>>>> +{ >>>>>> + struct zone *zone; >>>>>> + int ret; >>>>>> + >>>>>> + for_each_populated_zone(zone) { >>>>>> +#ifdef CONFIG_ZONE_DEVICE >>>>>> + /* we can not report pages which are not in the buddy */ >>>>>> + if (zone_idx(zone) == ZONE_DEVICE) >>>>>> + continue; >>>>>> +#endif >>>>> I'm pretty sure this isn't needed since I don't think the ZONE_DEVICE >>>>> zone will be considered "populated". >>>>> >>>> I think you are right (although it's confusing, we will have present >>>> sections part of a zone but the zone has no present_pages - screams like >>>> a re factoring - leftover from ZONE_DEVICE introduction). >>> >>> I think in that case it is safe to have this check here. >>> What do you guys suggest? >> If it's not needed, I'd say drop it (eventually add a comment). > > > Comment to mention that we do not expect a zone with non-buddy page to be > initialized here? Something along these lines, or something like /* ZONE_DEVICE is never considered populated */ -- Thanks, David / dhildenb