Re: [PATCH v2 5/6] mm: track gup pages with page->dma_pinned_* fields

From: kbuild test robot
Date: Sun Jul 01 2018 - 22:59:14 EST


Hi John,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v4.18-rc3]
[cannot apply to next-20180629]
[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/john-hubbard-gmail-com/mm-fs-gup-don-t-unmap-or-drop-filesystem-buffers/20180702-090125
config: x86_64-randconfig-x010-201826 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64

All warnings (new ones prefixed by >>):

In file included from arch/x86/include/asm/atomic.h:5:0,
from include/linux/atomic.h:5,
from include/linux/page_counter.h:5,
from mm/memcontrol.c:34:
mm/memcontrol.c: In function 'unlock_page_lru':
mm/memcontrol.c:2087:32: error: 'page_tail' undeclared (first use in this function); did you mean 'page_pool'?
VM_BUG_ON_PAGE(PageDmaPinned(page_tail), page);
^
include/linux/compiler.h:58:30: note: in definition of macro '__trace_if'
if (__builtin_constant_p(!!(cond)) ? !!(cond) : \
^~~~
>> include/linux/mmdebug.h:21:3: note: in expansion of macro 'if'
if (unlikely(cond)) { \
^~
include/linux/compiler.h:48:24: note: in expansion of macro '__branch_check__'
# define unlikely(x) (__branch_check__(x, 0, __builtin_constant_p(x)))
^~~~~~~~~~~~~~~~
>> include/linux/mmdebug.h:21:7: note: in expansion of macro 'unlikely'
if (unlikely(cond)) { \
^~~~~~~~
mm/memcontrol.c:2087:3: note: in expansion of macro 'VM_BUG_ON_PAGE'
VM_BUG_ON_PAGE(PageDmaPinned(page_tail), page);
^~~~~~~~~~~~~~
mm/memcontrol.c:2087:32: note: each undeclared identifier is reported only once for each function it appears in
VM_BUG_ON_PAGE(PageDmaPinned(page_tail), page);
^
include/linux/compiler.h:58:30: note: in definition of macro '__trace_if'
if (__builtin_constant_p(!!(cond)) ? !!(cond) : \
^~~~
>> include/linux/mmdebug.h:21:3: note: in expansion of macro 'if'
if (unlikely(cond)) { \
^~
include/linux/compiler.h:48:24: note: in expansion of macro '__branch_check__'
# define unlikely(x) (__branch_check__(x, 0, __builtin_constant_p(x)))
^~~~~~~~~~~~~~~~
>> include/linux/mmdebug.h:21:7: note: in expansion of macro 'unlikely'
if (unlikely(cond)) { \
^~~~~~~~
mm/memcontrol.c:2087:3: note: in expansion of macro 'VM_BUG_ON_PAGE'
VM_BUG_ON_PAGE(PageDmaPinned(page_tail), page);
^~~~~~~~~~~~~~

vim +/if +21 include/linux/mmdebug.h

309381feae Sasha Levin 2014-01-23 16
59ea746337 Jiri Slaby 2008-06-12 17 #ifdef CONFIG_DEBUG_VM
59ea746337 Jiri Slaby 2008-06-12 18 #define VM_BUG_ON(cond) BUG_ON(cond)
309381feae Sasha Levin 2014-01-23 19 #define VM_BUG_ON_PAGE(cond, page) \
e4f674229c Dave Hansen 2014-06-04 20 do { \
e4f674229c Dave Hansen 2014-06-04 @21 if (unlikely(cond)) { \
e4f674229c Dave Hansen 2014-06-04 22 dump_page(page, "VM_BUG_ON_PAGE(" __stringify(cond)")");\
e4f674229c Dave Hansen 2014-06-04 23 BUG(); \
e4f674229c Dave Hansen 2014-06-04 24 } \
e4f674229c Dave Hansen 2014-06-04 25 } while (0)
fa3759ccd5 Sasha Levin 2014-10-09 26 #define VM_BUG_ON_VMA(cond, vma) \
fa3759ccd5 Sasha Levin 2014-10-09 27 do { \
fa3759ccd5 Sasha Levin 2014-10-09 28 if (unlikely(cond)) { \
fa3759ccd5 Sasha Levin 2014-10-09 29 dump_vma(vma); \
fa3759ccd5 Sasha Levin 2014-10-09 30 BUG(); \
fa3759ccd5 Sasha Levin 2014-10-09 31 } \
fa3759ccd5 Sasha Levin 2014-10-09 32 } while (0)
31c9afa6db Sasha Levin 2014-10-09 33 #define VM_BUG_ON_MM(cond, mm) \
31c9afa6db Sasha Levin 2014-10-09 34 do { \
31c9afa6db Sasha Levin 2014-10-09 35 if (unlikely(cond)) { \
31c9afa6db Sasha Levin 2014-10-09 36 dump_mm(mm); \
31c9afa6db Sasha Levin 2014-10-09 37 BUG(); \
31c9afa6db Sasha Levin 2014-10-09 38 } \
31c9afa6db Sasha Levin 2014-10-09 39 } while (0)
91241681c6 Michal Hocko 2018-04-05 40 #define VM_WARN_ON(cond) (void)WARN_ON(cond)
91241681c6 Michal Hocko 2018-04-05 41 #define VM_WARN_ON_ONCE(cond) (void)WARN_ON_ONCE(cond)
91241681c6 Michal Hocko 2018-04-05 42 #define VM_WARN_ONCE(cond, format...) (void)WARN_ONCE(cond, format)
91241681c6 Michal Hocko 2018-04-05 43 #define VM_WARN(cond, format...) (void)WARN(cond, format)
59ea746337 Jiri Slaby 2008-06-12 44 #else
02602a18c3 Konstantin Khlebnikov 2012-05-29 45 #define VM_BUG_ON(cond) BUILD_BUG_ON_INVALID(cond)
309381feae Sasha Levin 2014-01-23 46 #define VM_BUG_ON_PAGE(cond, page) VM_BUG_ON(cond)
fa3759ccd5 Sasha Levin 2014-10-09 47 #define VM_BUG_ON_VMA(cond, vma) VM_BUG_ON(cond)
31c9afa6db Sasha Levin 2014-10-09 48 #define VM_BUG_ON_MM(cond, mm) VM_BUG_ON(cond)
02a8efeda8 Andrew Morton 2014-06-04 49 #define VM_WARN_ON(cond) BUILD_BUG_ON_INVALID(cond)
02a8efeda8 Andrew Morton 2014-06-04 50 #define VM_WARN_ON_ONCE(cond) BUILD_BUG_ON_INVALID(cond)
ef6b571fb8 Andrew Morton 2014-08-06 51 #define VM_WARN_ONCE(cond, format...) BUILD_BUG_ON_INVALID(cond)
a54f9aebaa Aneesh Kumar K.V 2016-07-26 52 #define VM_WARN(cond, format...) BUILD_BUG_ON_INVALID(cond)
59ea746337 Jiri Slaby 2008-06-12 53 #endif
59ea746337 Jiri Slaby 2008-06-12 54

:::::: The code at line 21 was first introduced by commit
:::::: e4f674229ce63dac60be0c4ddfb5ef8d1225d30d mm: pass VM_BUG_ON() reason to dump_page()

:::::: TO: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

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

Attachment: .config.gz
Description: application/gzip