On Fri 19-01-18 13:02:59, Kirill A. Shutemov wrote: > On Thu, Jan 18, 2018 at 06:22:13PM +0100, Michal Hocko wrote: > > 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? > > In original code, we already had pvmw->page around and I thought it would > be easier to get page for the pte intead of looking for pfn for both > sides. > > We these changes it's no longer the case. > > Do you care enough to send a patch? :) Well, memory sections are sparsemem concept IIRC. Unless I've missed something page_to_section is quarded by SECTION_IN_PAGE_FLAGS and that is conditional to CONFIG_SPARSEMEM. THP is a generic code so using it there is wrong unless I miss some subtle detail here. Comparing pfn should be generic enough. -- 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>