On Thu, Jul 28, 2016 at 12:10:16AM +0000, Li, Liang Z wrote: > > Subject: Re: [PATCH v2 repost 6/7] mm: add the related functions to get free > > page info > > > > On 07/26/2016 06:23 PM, Liang Li wrote: > > > + for_each_migratetype_order(order, t) { > > > + list_for_each(curr, &zone->free_area[order].free_list[t]) { > > > + pfn = page_to_pfn(list_entry(curr, struct page, lru)); > > > + if (pfn >= start_pfn && pfn <= end_pfn) { > > > + page_num = 1UL << order; > > > + if (pfn + page_num > end_pfn) > > > + page_num = end_pfn - pfn; > > > + bitmap_set(bitmap, pfn - start_pfn, > > page_num); > > > + } > > > + } > > > + } > > > > Nit: The 'page_num' nomenclature really confused me here. It is the > > number of bits being set in the bitmap. Seems like calling it nr_pages or > > num_pages would be more appropriate. > > > > You are right, will change. > > > Isn't this bitmap out of date by the time it's send up to the hypervisor? > > Is > > there something that makes the inaccuracy OK here? > > Yes. The dirty page logging will be used to correct the inaccuracy. > The dirty page logging should be started before getting the free page bitmap, > then if some of the free pages become no free for writing, these pages will > be tracked by the dirty page logging mechanism. > > Thanks! > Liang
Right but this should be clear from code and naming.