On Sun, Oct 14, 2018 at 03:58:53PM -0400, Andrea Arcangeli wrote: > On Sun, Oct 14, 2018 at 05:58:27PM +0800, kbuild test robot wrote: > > Hi Andrea, > > > > Thank you for the patch! Yet something to improve: > > > > [auto build test ERROR on linux-sof-driver/master] > > [also build test ERROR on v4.19-rc7 next-20181012] > > [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] > > > > url: https://github.com/0day-ci/linux/commits/Andrea-Arcangeli/mm-thp-fix-MADV_DONTNEED-vs-migrate_misplaced_transhuge_page-race-condition/20181014-143004 > > base: https://github.com/thesofproject/linux master > > config: arm64-defconfig (attached as .config) > > compiler: aarch64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0 > > reproduce: > > wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross > > chmod +x ~/bin/make.cross > > # save the attached .config to linux build tree > > GCC_VERSION=7.2.0 make.cross ARCH=arm64 > > > > All errors (new ones prefixed by >>): > > > > mm/migrate.c: In function 'migrate_misplaced_transhuge_page': > > >> mm/migrate.c:2054:32: error: 'end' undeclared (first use in this function); did you mean '_end'? > > flush_cache_range(vma, start, end + HPAGE_PMD_SIZE); > > ^~~ > > _end > > mm/migrate.c:2054:32: note: each undeclared identifier is reported only once for each function it appears in > > Nice non-x86 coverage. I intended converted "end" to "start + > HPAGE_PMD_SIZE" to delete the "end" variable purely to shut off a > warning about unused "end" var from gcc on x86, but the s/end/start/ > was missed and it still build fine on x86 but not anymore on aarch64. > > Anyway I'm waiting some feedback about the whole patchset, before > resending patch 3/3. > > diff --git a/mm/migrate.c b/mm/migrate.c > index 9bf5fe9a1008..8afb41167641 100644 > --- a/mm/migrate.c > +++ b/mm/migrate.c > @@ -2050,7 +2050,7 @@ int migrate_misplaced_transhuge_page(struct mm_struct *mm, > new_page->mapping = page->mapping; > new_page->index = page->index; > /* flush the cache before copying using the kernel virtual address */ > - flush_cache_range(vma, start, end + HPAGE_PMD_SIZE); > + flush_cache_range(vma, start, start + HPAGE_PMD_SIZE); > migrate_page_copy(new_page, page); > WARN_ON(PageLRU(new_page)); > > Looks good to me with the fixup. Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> -- Kirill A. Shutemov