Hi Leonardo, Thank you for the patch! Yet something to improve: [auto build test ERROR on powerpc/next] [also build test ERROR on paulus-powerpc/kvm-ppc-next linus/master v5.5 next-20200206] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Leonardo-Bras/Introduces-new-functions-for-tracking-lockless-pagetable-walks/20200207-071035 base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next config: i386-tinyconfig (attached as .config) compiler: gcc-7 (Debian 7.5.0-3) 7.5.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 If you fix the issue, kindly add following tag Reported-by: kbuild test robot All errors (new ones prefixed by >>): mm/gup.c: In function 'get_user_pages_fast': >> mm/gup.c:2435:27: error: 'IRQS_ENABLED' undeclared (first use in this function); did you mean 'IS_ENABLED'? end_lockless_pgtbl_walk(IRQS_ENABLED); ^~~~~~~~~~~~ IS_ENABLED mm/gup.c:2435:27: note: each undeclared identifier is reported only once for each function it appears in vim +2435 mm/gup.c 2395 2396 /** 2397 * get_user_pages_fast() - pin user pages in memory 2398 * @start: starting user address 2399 * @nr_pages: number of pages from start to pin 2400 * @gup_flags: flags modifying pin behaviour 2401 * @pages: array that receives pointers to the pages pinned. 2402 * Should be at least nr_pages long. 2403 * 2404 * Attempt to pin user pages in memory without taking mm->mmap_sem. 2405 * If not successful, it will fall back to taking the lock and 2406 * calling get_user_pages(). 2407 * 2408 * Returns number of pages pinned. This may be fewer than the number 2409 * requested. If nr_pages is 0 or negative, returns 0. If no pages 2410 * were pinned, returns -errno. 2411 */ 2412 int get_user_pages_fast(unsigned long start, int nr_pages, 2413 unsigned int gup_flags, struct page **pages) 2414 { 2415 unsigned long addr, len, end; 2416 int nr = 0, ret = 0; 2417 2418 if (WARN_ON_ONCE(gup_flags & ~(FOLL_WRITE | FOLL_LONGTERM))) 2419 return -EINVAL; 2420 2421 start = untagged_addr(start) & PAGE_MASK; 2422 addr = start; 2423 len = (unsigned long) nr_pages << PAGE_SHIFT; 2424 end = start + len; 2425 2426 if (end <= start) 2427 return 0; 2428 if (unlikely(!access_ok((void __user *)start, len))) 2429 return -EFAULT; 2430 2431 if (IS_ENABLED(CONFIG_HAVE_FAST_GUP) && 2432 gup_fast_permitted(start, end)) { 2433 begin_lockless_pgtbl_walk(); 2434 gup_pgd_range(addr, end, gup_flags, pages, &nr); > 2435 end_lockless_pgtbl_walk(IRQS_ENABLED); --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org