[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <201612201054.x7pRih1T%fengguang.wu@intel.com>
Date: Tue, 20 Dec 2016 10:22:19 +0800
From: kbuild test robot <lkp@...el.com>
To: "Kirill A. Shutemov" <kirill.shutemov@...ux.intel.com>
Cc: kbuild-all@...org, Michal Hocko <mhocko@...e.com>,
Tetsuo Handa <penguin-kernel@...ove.SAKURA.ne.jp>,
Peter Zijlstra <peterz@...radead.org>,
Rik van Riel <riel@...hat.com>,
Andrew Morton <akpm@...ux-foundation.org>, linux-mm@...ck.org,
linux-kernel@...r.kernel.org,
"Kirill A. Shutemov" <kirill.shutemov@...ux.intel.com>
Subject: Re: [PATCH 4/4] oom-reaper: use madvise_dontneed() logic to decide
if unmap the VMA
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
Download attachment ".config.gz" of type "application/gzip" (27297 bytes)
Powered by blists - more mailing lists