Hi Kirill,

[auto build test WARNING on mmotm/master]
[also build test WARNING on v4.9 next-20161219]
[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/Kirill-A-Shutemov/mm-drop-zap_details-ignore_dirty/20161220-092938
base:   git://git.cmpxchg.org/linux-mmotm.git master
config: x86_64-randconfig-x004-201651 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All warnings (new ones prefixed by >>):

   In file included from include/asm-generic/bug.h:4:0,
                    from arch/x86/include/asm/bug.h:35,
                    from include/linux/bug.h:4,
                    from include/linux/mmdebug.h:4,
                    from include/linux/mm.h:8,
                    from include/linux/mman.h:4,
                    from mm/madvise.c:8:
   mm/madvise.c: In function 'madvise_dontneed':
   mm/madvise.c:476:7: error: implicit declaration of function 
'can_madv_dontneed_vma' [-Werror=implicit-function-declaration]
     if (!can_madv_dontneed_vma(vma))
          ^
   include/linux/compiler.h:149:30: note: in definition of macro '__trace_if'
     if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
                                 ^~~~
>> mm/madvise.c:476:2: note: in expansion of macro 'if'
     if (!can_madv_dontneed_vma(vma))
     ^~
   cc1: some warnings being treated as errors

vim +/if +476 mm/madvise.c

   460   *
   461   * NB: This interface discards data rather than pushes it out to swap,
   462   * as some implementations do.  This has performance implications for
   463   * applications like large transactional databases which want to discard
   464   * pages in anonymous maps after committing to backing store the data
   465   * that was kept in them.  There is no reason to write this data out to
   466   * the swap area if the application is discarding it.
   467   *
   468   * An interface that causes the system to free clean pages and flush
   469   * dirty pages is already available as msync(MS_INVALIDATE).
   470   */
   471  static long madvise_dontneed(struct vm_area_struct *vma,
   472                               struct vm_area_struct **prev,
   473                               unsigned long start, unsigned long end)
   474  {
   475          *prev = vma;
 > 476          if (!can_madv_dontneed_vma(vma))
   477                  return -EINVAL;
   478  
   479          zap_page_range(vma, start, end - start);
   480          return 0;
   481  }
   482  
   483  /*
   484   * Application wants to free up the pages and associated backing store.

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

Reply via email to