All of lore.kernel.org
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
To: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Cc: kbuild-all@01.org, Michal Hocko <mhocko@suse.com>,
	Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>,
	Peter Zijlstra <peterz@infradead.org>,
	Rik van Riel <riel@redhat.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Subject: Re: [PATCH 4/4] oom-reaper: use madvise_dontneed() logic to decide if unmap the VMA
Date: Tue, 20 Dec 2016 10:22:19 +0800	[thread overview]
Message-ID: <201612201054.x7pRih1T%fengguang.wu@intel.com> (raw)
In-Reply-To: <20161219171722.77995-4-kirill.shutemov@linux.intel.com>

[-- Attachment #1: Type: text/plain, Size: 2768 bytes --]

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 #2: .config.gz --]
[-- Type: application/gzip, Size: 27297 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: kbuild test robot <lkp@intel.com>
To: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Cc: kbuild-all@01.org, Michal Hocko <mhocko@suse.com>,
	Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>,
	Peter Zijlstra <peterz@infradead.org>,
	Rik van Riel <riel@redhat.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 4/4] oom-reaper: use madvise_dontneed() logic to decide if unmap the VMA
Date: Tue, 20 Dec 2016 10:22:19 +0800	[thread overview]
Message-ID: <201612201054.x7pRih1T%fengguang.wu@intel.com> (raw)
In-Reply-To: <20161219171722.77995-4-kirill.shutemov@linux.intel.com>

[-- Attachment #1: Type: text/plain, Size: 2768 bytes --]

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 #2: .config.gz --]
[-- Type: application/gzip, Size: 27297 bytes --]

  parent reply	other threads:[~2016-12-20  2:22 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-19 17:17 [PATCH 1/4] mm: drop zap_details::ignore_dirty Kirill A. Shutemov
2016-12-19 17:17 ` Kirill A. Shutemov
2016-12-19 17:17 ` [PATCH 2/4] mm: drop zap_details::check_swap_entries Kirill A. Shutemov
2016-12-19 17:17   ` Kirill A. Shutemov
2016-12-19 17:17 ` [PATCH 3/4] mm: drop unused argument of zap_page_range() Kirill A. Shutemov
2016-12-19 17:17   ` Kirill A. Shutemov
2016-12-19 17:17 ` [PATCH 4/4] oom-reaper: use madvise_dontneed() logic to decide if unmap the VMA Kirill A. Shutemov
2016-12-19 17:17   ` Kirill A. Shutemov
2016-12-20  1:44   ` kbuild test robot
2016-12-20  1:44     ` kbuild test robot
2016-12-20  2:22   ` kbuild test robot [this message]
2016-12-20  2:22     ` kbuild test robot
2016-12-20  9:57   ` Michal Hocko
2016-12-20  9:57     ` Michal Hocko
2016-12-20 10:46   ` Kirill A. Shutemov
2016-12-20 10:46     ` Kirill A. Shutemov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201612201054.x7pRih1T%fengguang.wu@intel.com \
    --to=lkp@intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=kbuild-all@01.org \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mhocko@suse.com \
    --cc=penguin-kernel@I-love.SAKURA.ne.jp \
    --cc=peterz@infradead.org \
    --cc=riel@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.