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

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.

Thanks
-- 
Oscar Salvador
SUSE L3

Reply via email to