On 16.08.2018 12:47, Oscar Salvador wrote: > On Thu, Aug 16, 2018 at 12:06:26PM +0200, David Hildenbrand wrote: > >> + >> +/* check if all mem sections are offline */ >> +bool mem_sections_offline(unsigned long pfn, unsigned long end_pfn) >> +{ >> + for (; pfn < end_pfn; pfn += PAGES_PER_SECTION) { >> + unsigned long section_nr = pfn_to_section_nr(pfn); >> + >> + if (WARN_ON(!valid_section_nr(section_nr))) >> + continue; >> + if (online_section_nr(section_nr)) >> + return false; >> + } >> + return true; >> +} > > AFAICS pages_correctly_probed will catch this first. > pages_correctly_probed checks for the section to be: > > - present > - valid > - !online Right, I missed that function. > > Maybe it makes sense to rename it, and write another pages_correctly_probed routine > for the offline case. > > So all checks would stay in memory_block_action level, and we would not need > the mem_sections_offline/online stuff. I guess I would rather have it all moved into online_pages/offline_pages, so we have a clean interface. > > Thanks > -- Thanks, David / dhildenb