All of lore.kernel.org
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
To: john.hubbard@gmail.com
Cc: kbuild-all@01.org, Matthew Wilcox <willy@infradead.org>,
	Michal Hocko <mhocko@kernel.org>,
	Christopher Lameter <cl@linux.com>,
	Jason Gunthorpe <jgg@ziepe.ca>,
	Dan Williams <dan.j.williams@intel.com>, Jan Kara <jack@suse.cz>,
	linux-mm@kvack.org, LKML <linux-kernel@vger.kernel.org>,
	linux-rdma <linux-rdma@vger.kernel.org>,
	linux-fsdevel@vger.kernel.org, John Hubbard <jhubbard@nvidia.com>
Subject: Re: [PATCH v2 4/6] mm/fs: add a sync_mode param for clear_page_dirty_for_io()
Date: Mon, 2 Jul 2018 10:11:05 +0800	[thread overview]
Message-ID: <201807020937.9CUpXIGc%fengguang.wu@intel.com> (raw)
In-Reply-To: <20180702005654.20369-5-jhubbard@nvidia.com>

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

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 include/linux/kernel.h:10:0,
                    from include/linux/list.h:9,
                    from include/linux/wait.h:7,
                    from include/linux/wait_bit.h:8,
                    from include/linux/fs.h:6,
                    from fs/f2fs/checkpoint.c:11:
   fs/f2fs/checkpoint.c: In function 'commit_checkpoint':
   fs/f2fs/checkpoint.c:1200:49: error: invalid type argument of '->' (have 'struct writeback_control')
     if (unlikely(!clear_page_dirty_for_io(page, wbc->sync_mode)))
                                                    ^
   include/linux/compiler.h:58:30: note: in definition of macro '__trace_if'
     if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
                                 ^~~~
>> fs/f2fs/checkpoint.c:1200:2: note: in expansion of macro 'if'
     if (unlikely(!clear_page_dirty_for_io(page, wbc->sync_mode)))
     ^~
   include/linux/compiler.h:48:24: note: in expansion of macro '__branch_check__'
    #  define unlikely(x) (__branch_check__(x, 0, __builtin_constant_p(x)))
                           ^~~~~~~~~~~~~~~~
   fs/f2fs/checkpoint.c:1200:6: note: in expansion of macro 'unlikely'
     if (unlikely(!clear_page_dirty_for_io(page, wbc->sync_mode)))
         ^~~~~~~~
   fs/f2fs/checkpoint.c:1200:49: error: invalid type argument of '->' (have 'struct writeback_control')
     if (unlikely(!clear_page_dirty_for_io(page, wbc->sync_mode)))
                                                    ^
   include/linux/compiler.h:58:30: note: in definition of macro '__trace_if'
     if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
                                 ^~~~
>> fs/f2fs/checkpoint.c:1200:2: note: in expansion of macro 'if'
     if (unlikely(!clear_page_dirty_for_io(page, wbc->sync_mode)))
     ^~
   include/linux/compiler.h:48:24: note: in expansion of macro '__branch_check__'
    #  define unlikely(x) (__branch_check__(x, 0, __builtin_constant_p(x)))
                           ^~~~~~~~~~~~~~~~
   fs/f2fs/checkpoint.c:1200:6: note: in expansion of macro 'unlikely'
     if (unlikely(!clear_page_dirty_for_io(page, wbc->sync_mode)))
         ^~~~~~~~
   fs/f2fs/checkpoint.c:1200:49: error: invalid type argument of '->' (have 'struct writeback_control')
     if (unlikely(!clear_page_dirty_for_io(page, wbc->sync_mode)))
                                                    ^
   include/linux/compiler.h:58:42: note: in definition of macro '__trace_if'
     if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
                                             ^~~~
>> fs/f2fs/checkpoint.c:1200:2: note: in expansion of macro 'if'
     if (unlikely(!clear_page_dirty_for_io(page, wbc->sync_mode)))
     ^~
   include/linux/compiler.h:48:24: note: in expansion of macro '__branch_check__'
    #  define unlikely(x) (__branch_check__(x, 0, __builtin_constant_p(x)))
                           ^~~~~~~~~~~~~~~~
   fs/f2fs/checkpoint.c:1200:6: note: in expansion of macro 'unlikely'
     if (unlikely(!clear_page_dirty_for_io(page, wbc->sync_mode)))
         ^~~~~~~~
   fs/f2fs/checkpoint.c:1200:49: error: invalid type argument of '->' (have 'struct writeback_control')
     if (unlikely(!clear_page_dirty_for_io(page, wbc->sync_mode)))
                                                    ^
   include/linux/compiler.h:58:42: note: in definition of macro '__trace_if'
     if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
                                             ^~~~
>> fs/f2fs/checkpoint.c:1200:2: note: in expansion of macro 'if'
     if (unlikely(!clear_page_dirty_for_io(page, wbc->sync_mode)))
     ^~
   include/linux/compiler.h:48:24: note: in expansion of macro '__branch_check__'
    #  define unlikely(x) (__branch_check__(x, 0, __builtin_constant_p(x)))
                           ^~~~~~~~~~~~~~~~
   fs/f2fs/checkpoint.c:1200:6: note: in expansion of macro 'unlikely'
     if (unlikely(!clear_page_dirty_for_io(page, wbc->sync_mode)))
         ^~~~~~~~
   fs/f2fs/checkpoint.c:1200:49: error: invalid type argument of '->' (have 'struct writeback_control')
     if (unlikely(!clear_page_dirty_for_io(page, wbc->sync_mode)))
                                                    ^
   include/linux/compiler.h:69:16: note: in definition of macro '__trace_if'
      ______r = !!(cond);     \
                   ^~~~
>> fs/f2fs/checkpoint.c:1200:2: note: in expansion of macro 'if'
     if (unlikely(!clear_page_dirty_for_io(page, wbc->sync_mode)))
     ^~
   include/linux/compiler.h:48:24: note: in expansion of macro '__branch_check__'
    #  define unlikely(x) (__branch_check__(x, 0, __builtin_constant_p(x)))
                           ^~~~~~~~~~~~~~~~
   fs/f2fs/checkpoint.c:1200:6: note: in expansion of macro 'unlikely'
     if (unlikely(!clear_page_dirty_for_io(page, wbc->sync_mode)))
         ^~~~~~~~
   fs/f2fs/checkpoint.c:1200:49: error: invalid type argument of '->' (have 'struct writeback_control')
     if (unlikely(!clear_page_dirty_for_io(page, wbc->sync_mode)))
                                                    ^
   include/linux/compiler.h:69:16: note: in definition of macro '__trace_if'
      ______r = !!(cond);     \
                   ^~~~
>> fs/f2fs/checkpoint.c:1200:2: note: in expansion of macro 'if'
     if (unlikely(!clear_page_dirty_for_io(page, wbc->sync_mode)))
     ^~
   include/linux/compiler.h:48:24: note: in expansion of macro '__branch_check__'
    #  define unlikely(x) (__branch_check__(x, 0, __builtin_constant_p(x)))
                           ^~~~~~~~~~~~~~~~
   fs/f2fs/checkpoint.c:1200:6: note: in expansion of macro 'unlikely'
     if (unlikely(!clear_page_dirty_for_io(page, wbc->sync_mode)))
         ^~~~~~~~
--
   In file included from include/linux/kernel.h:10:0,
                    from include/linux/list.h:9,
                    from include/linux/wait.h:7,
                    from include/linux/wait_bit.h:8,
                    from include/linux/fs.h:6,
                    from fs/f2fs/data.c:11:
   fs/f2fs/data.c: In function 'f2fs_write_cache_pages':
   fs/f2fs/data.c:2021:9: error: too few arguments to function 'clear_page_dirty_for_io'
       if (!clear_page_dirty_for_io(page), wbc->sync_mode)
            ^
   include/linux/compiler.h:58:30: note: in definition of macro '__trace_if'
     if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
                                 ^~~~
>> fs/f2fs/data.c:2021:4: note: in expansion of macro 'if'
       if (!clear_page_dirty_for_io(page), wbc->sync_mode)
       ^~
   In file included from include/linux/pagemap.h:8:0,
                    from include/linux/f2fs_fs.h:14,
                    from fs/f2fs/data.c:12:
   include/linux/mm.h:1540:5: note: declared here
    int clear_page_dirty_for_io(struct page *page, int sync_mode);
        ^~~~~~~~~~~~~~~~~~~~~~~
   In file included from include/linux/kernel.h:10:0,
                    from include/linux/list.h:9,
                    from include/linux/wait.h:7,
                    from include/linux/wait_bit.h:8,
                    from include/linux/fs.h:6,
                    from fs/f2fs/data.c:11:
   include/linux/compiler.h:56:41: warning: left-hand operand of comma expression has no effect [-Wunused-value]
    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
                                            ^
   include/linux/compiler.h:58:30: note: in definition of macro '__trace_if'
     if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
                                 ^~~~
>> fs/f2fs/data.c:2021:4: note: in expansion of macro 'if'
       if (!clear_page_dirty_for_io(page), wbc->sync_mode)
       ^~
   fs/f2fs/data.c:2021:9: error: too few arguments to function 'clear_page_dirty_for_io'
       if (!clear_page_dirty_for_io(page), wbc->sync_mode)
            ^
   include/linux/compiler.h:58:42: note: in definition of macro '__trace_if'
     if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
                                             ^~~~
>> fs/f2fs/data.c:2021:4: note: in expansion of macro 'if'
       if (!clear_page_dirty_for_io(page), wbc->sync_mode)
       ^~
   In file included from include/linux/pagemap.h:8:0,
                    from include/linux/f2fs_fs.h:14,
                    from fs/f2fs/data.c:12:
   include/linux/mm.h:1540:5: note: declared here
    int clear_page_dirty_for_io(struct page *page, int sync_mode);
        ^~~~~~~~~~~~~~~~~~~~~~~
   In file included from include/linux/kernel.h:10:0,
                    from include/linux/list.h:9,
                    from include/linux/wait.h:7,
                    from include/linux/wait_bit.h:8,
                    from include/linux/fs.h:6,
                    from fs/f2fs/data.c:11:
   include/linux/compiler.h:56:41: warning: left-hand operand of comma expression has no effect [-Wunused-value]
    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
                                            ^
   include/linux/compiler.h:58:42: note: in definition of macro '__trace_if'
     if (__builtin_constant_p(!!(cond)) ? !!(cond) :   \
                                             ^~~~
>> fs/f2fs/data.c:2021:4: note: in expansion of macro 'if'
       if (!clear_page_dirty_for_io(page), wbc->sync_mode)
       ^~
   fs/f2fs/data.c:2021:9: error: too few arguments to function 'clear_page_dirty_for_io'
       if (!clear_page_dirty_for_io(page), wbc->sync_mode)
            ^
   include/linux/compiler.h:69:16: note: in definition of macro '__trace_if'
      ______r = !!(cond);     \
                   ^~~~
>> fs/f2fs/data.c:2021:4: note: in expansion of macro 'if'
       if (!clear_page_dirty_for_io(page), wbc->sync_mode)
       ^~
   In file included from include/linux/pagemap.h:8:0,
                    from include/linux/f2fs_fs.h:14,
                    from fs/f2fs/data.c:12:
   include/linux/mm.h:1540:5: note: declared here
    int clear_page_dirty_for_io(struct page *page, int sync_mode);
        ^~~~~~~~~~~~~~~~~~~~~~~
   In file included from include/linux/kernel.h:10:0,
                    from include/linux/list.h:9,
                    from include/linux/wait.h:7,
                    from include/linux/wait_bit.h:8,
                    from include/linux/fs.h:6,
                    from fs/f2fs/data.c:11:
   include/linux/compiler.h:56:41: warning: left-hand operand of comma expression has no effect [-Wunused-value]
    #define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
                                            ^
   include/linux/compiler.h:69:16: note: in definition of macro '__trace_if'
      ______r = !!(cond);     \
                   ^~~~
>> fs/f2fs/data.c:2021:4: note: in expansion of macro 'if'
       if (!clear_page_dirty_for_io(page), wbc->sync_mode)
       ^~

vim +/if +1200 fs/f2fs/checkpoint.c

  1179	
  1180	static void commit_checkpoint(struct f2fs_sb_info *sbi,
  1181		void *src, block_t blk_addr)
  1182	{
  1183		struct writeback_control wbc = {
  1184			.for_reclaim = 0,
  1185		};
  1186	
  1187		/*
  1188		 * pagevec_lookup_tag and lock_page again will take
  1189		 * some extra time. Therefore, f2fs_update_meta_pages and
  1190		 * f2fs_sync_meta_pages are combined in this function.
  1191		 */
  1192		struct page *page = f2fs_grab_meta_page(sbi, blk_addr);
  1193		int err;
  1194	
  1195		memcpy(page_address(page), src, PAGE_SIZE);
  1196		set_page_dirty(page);
  1197	
  1198		f2fs_wait_on_page_writeback(page, META, true);
  1199		f2fs_bug_on(sbi, PageWriteback(page));
> 1200		if (unlikely(!clear_page_dirty_for_io(page, wbc->sync_mode)))
  1201			f2fs_bug_on(sbi, 1);
  1202	
  1203		/* writeout cp pack 2 page */
  1204		err = __f2fs_write_meta_page(page, &wbc, FS_CP_META_IO);
  1205		f2fs_bug_on(sbi, err);
  1206	
  1207		f2fs_put_page(page, 0);
  1208	
  1209		/* submit checkpoint (with barrier if NOBARRIER is not set) */
  1210		f2fs_submit_merged_write(sbi, META_FLUSH);
  1211	}
  1212	

---
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: 35450 bytes --]

  reply	other threads:[~2018-07-02  2:11 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-02  0:56 [PATCH v2 0/6] mm/fs: gup: don't unmap or drop filesystem buffers john.hubbard
2018-07-02  0:56 ` [PATCH v2 1/6] mm: get_user_pages: consolidate error handling john.hubbard
2018-07-02 10:17   ` Jan Kara
2018-07-02 21:34     ` John Hubbard
2018-07-02 21:34       ` John Hubbard
2018-07-02  0:56 ` [PATCH v2 2/6] mm: introduce page->dma_pinned_flags, _count john.hubbard
2018-07-02  0:56 ` [PATCH v2 3/6] mm: introduce zone_gup_lock, for dma-pinned pages john.hubbard
2018-07-02  0:56 ` [PATCH v2 4/6] mm/fs: add a sync_mode param for clear_page_dirty_for_io() john.hubbard
2018-07-02  2:11   ` kbuild test robot [this message]
2018-07-02  4:40     ` John Hubbard
2018-07-02  4:40       ` John Hubbard
2018-07-02  2:47   ` kbuild test robot
2018-07-02  4:40     ` John Hubbard
2018-07-02  4:40       ` John Hubbard
2018-07-02  0:56 ` [PATCH v2 5/6] mm: track gup pages with page->dma_pinned_* fields john.hubbard
2018-07-02  2:11   ` kbuild test robot
2018-07-02  2:58   ` kbuild test robot
2018-07-02  5:05     ` John Hubbard
2018-07-02  5:05       ` John Hubbard
2018-07-02  9:53   ` Jan Kara
2018-07-02 20:43     ` John Hubbard
2018-07-02 20:43       ` John Hubbard
2018-07-03  0:08       ` Christopher Lameter
2018-07-03  4:30         ` John Hubbard
2018-07-03  4:30           ` John Hubbard
2018-07-03 17:08           ` Christopher Lameter
2018-07-03 17:36             ` John Hubbard
2018-07-03 17:36               ` John Hubbard
2018-07-03 17:48               ` Christopher Lameter
2018-07-03 18:48                 ` John Hubbard
2018-07-03 18:48                   ` John Hubbard
2018-07-04 10:43               ` Jan Kara
2018-07-05 14:17                 ` Christopher Lameter
2018-07-09 13:49                   ` Jan Kara
2018-07-02  0:56 ` [PATCH v2 6/6] mm: page_mkclean, ttu: handle pinned pages john.hubbard
2018-07-02 10:15   ` Jan Kara
2018-07-02 21:07     ` John Hubbard
2018-07-02 21:07       ` John Hubbard
2018-07-02  5:54 ` [PATCH v2 0/6] mm/fs: gup: don't unmap or drop filesystem buffers John Hubbard
2018-07-02  5:54   ` John Hubbard

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=201807020937.9CUpXIGc%fengguang.wu@intel.com \
    --to=lkp@intel.com \
    --cc=cl@linux.com \
    --cc=dan.j.williams@intel.com \
    --cc=jack@suse.cz \
    --cc=jgg@ziepe.ca \
    --cc=jhubbard@nvidia.com \
    --cc=john.hubbard@gmail.com \
    --cc=kbuild-all@01.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=mhocko@kernel.org \
    --cc=willy@infradead.org \
    /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.