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 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>