On Thu 18-01-18 18:40:26, Kirill A. Shutemov wrote:
[...]
> +     /*
> +      * Make sure that pages are in the same section before doing pointer
> +      * arithmetics.
> +      */
> +     if (page_to_section(pvmw->page) != page_to_section(page))
> +             return false;

OK, THPs shouldn't cross memory sections AFAIK. My brain is meltdown
these days so this might be a completely stupid question. But why don't
you simply compare pfns? This would be just simpler, no?

> +
> +     if (page < pvmw->page)
> +             return false;
> +
> +     /* THP can be referenced by any subpage */
> +     if (page - pvmw->page >= hpage_nr_pages(pvmw->page))
> +             return false;
> +
>       return true;
>  }
>  
> -- 
>  Kirill A. Shutemov

-- 
Michal Hocko
SUSE Labs

Reply via email to