From: Minchan Kim <minchan@kernel.org>
To: kbuild test robot <lkp@intel.com>
Cc: Jens Axboe <axboe@kernel.dk>,
jack@suse.cz, linux-nvdimm@lists.01.org,
Dave Chinner <david@fromorbit.com>,
linux-kernel@vger.kernel.org,
Matthew Wilcox <willy@infradead.org>,
Christoph Hellwig <hch@lst.de>,
linux-mm@kvack.org, kernel-team <kernel-team@lge.com>,
kbuild-all@01.org, seungho1.park@lge.com,
Andrew Morton <akpm@linux-foundation.org>,
"karam . lee" <karam.lee@lge.com>
Subject: Re: [PATCH v2 5/7] mm:swap: use on-stack-bio for BDI_CAP_SYNCHRONOUS device
Date: Mon, 14 Aug 2017 17:41:11 +0900 [thread overview]
Message-ID: <20170814084111.GE26913@bbox> (raw)
In-Reply-To: <201708121619.CYNstSAy%fengguang.wu@intel.com>
On Sat, Aug 12, 2017 at 04:46:33PM +0800, kbuild test robot wrote:
> Hi Minchan,
>
> [auto build test ERROR on mmotm/master]
> [also build test ERROR on next-20170811]
> [cannot apply to linus/master v4.13-rc4]
> [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/Minchan-Kim/Replace-rw_page-with-on-stack-bio/20170812-152541
> base: git://git.cmpxchg.org/linux-mmotm.git master
> config: sparc64-allmodconfig (attached as .config)
> compiler: sparc64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
> reproduce:
> wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> # save the attached .config to linux build tree
> make.cross ARCH=sparc64
>
> All errors (new ones prefixed by >>):
>
> mm/page_io.c: In function '__swap_writepage':
> >> mm/page_io.c:345:11: error: passing argument 1 of 'bio_get' from incompatible pointer type [-Werror=incompatible-pointer-types]
> bio_get(&bio);
> ^
> In file included from include/linux/writeback.h:205:0,
> from include/linux/memcontrol.h:31,
> from include/linux/swap.h:8,
> from mm/page_io.c:17:
> include/linux/bio.h:252:20: note: expected 'struct bio *' but argument is of type 'struct bio **'
> static inline void bio_get(struct bio *bio)
> ^~~~~~~
> cc1: some warnings being treated as errors
>
> vim +/bio_get +345 mm/page_io.c
>
> 275
> 276 int __swap_writepage(struct page *page, struct writeback_control *wbc)
> 277 {
> 278 int ret;
> 279 struct swap_info_struct *sis = page_swap_info(page);
> 280 struct bio *bio;
> 281 /* on-stack-bio */
> 282 struct bio sbio;
> 283 struct bio_vec sbvec;
> 284
> 285 VM_BUG_ON_PAGE(!PageSwapCache(page), page);
> 286 if (sis->flags & SWP_FILE) {
> 287 struct kiocb kiocb;
> 288 struct file *swap_file = sis->swap_file;
> 289 struct address_space *mapping = swap_file->f_mapping;
> 290 struct bio_vec bv = {
> 291 .bv_page = page,
> 292 .bv_len = PAGE_SIZE,
> 293 .bv_offset = 0
> 294 };
> 295 struct iov_iter from;
> 296
> 297 iov_iter_bvec(&from, ITER_BVEC | WRITE, &bv, 1, PAGE_SIZE);
> 298 init_sync_kiocb(&kiocb, swap_file);
> 299 kiocb.ki_pos = page_file_offset(page);
> 300
> 301 set_page_writeback(page);
> 302 unlock_page(page);
> 303 ret = mapping->a_ops->direct_IO(&kiocb, &from);
> 304 if (ret == PAGE_SIZE) {
> 305 count_vm_event(PSWPOUT);
> 306 ret = 0;
> 307 } else {
> 308 /*
> 309 * In the case of swap-over-nfs, this can be a
> 310 * temporary failure if the system has limited
> 311 * memory for allocating transmit buffers.
> 312 * Mark the page dirty and avoid
> 313 * rotate_reclaimable_page but rate-limit the
> 314 * messages but do not flag PageError like
> 315 * the normal direct-to-bio case as it could
> 316 * be temporary.
> 317 */
> 318 set_page_dirty(page);
> 319 ClearPageReclaim(page);
> 320 pr_err_ratelimited("Write error on dio swapfile (%llu)\n",
> 321 page_file_offset(page));
> 322 }
> 323 end_page_writeback(page);
> 324 return ret;
> 325 }
> 326
> 327 ret = bdev_write_page(sis->bdev, swap_page_sector(page), page, wbc);
> 328 if (!ret) {
> 329 count_swpout_vm_event(page);
> 330 return 0;
> 331 }
> 332
> 333 ret = 0;
> 334 if (!(sis->flags & SWP_SYNC_IO)) {
> 335
> 336 bio = get_swap_bio(GFP_NOIO, page, end_swap_bio_write);
> 337 if (bio == NULL) {
> 338 set_page_dirty(page);
> 339 unlock_page(page);
> 340 ret = -ENOMEM;
> 341 goto out;
> 342 }
> 343 } else {
> 344 bio = &sbio;
> > 345 bio_get(&bio);
Hi kbuild,
I will respin with fixing it.
Thanks for the catching up!
_______________________________________________
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm
WARNING: multiple messages have this Message-ID (diff)
From: Minchan Kim <minchan@kernel.org>
To: kbuild test robot <lkp@intel.com>
Cc: kbuild-all@01.org, Andrew Morton <akpm@linux-foundation.org>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
Ross Zwisler <ross.zwisler@linux.intel.com>,
"karam . lee" <karam.lee@lge.com>,
seungho1.park@lge.com, Matthew Wilcox <willy@infradead.org>,
Christoph Hellwig <hch@lst.de>,
Dan Williams <dan.j.williams@intel.com>,
Dave Chinner <david@fromorbit.com>,
jack@suse.cz, Jens Axboe <axboe@kernel.dk>,
Vishal Verma <vishal.l.verma@intel.com>,
linux-nvdimm@lists.01.org, kernel-team <kernel-team@lge.com>
Subject: Re: [PATCH v2 5/7] mm:swap: use on-stack-bio for BDI_CAP_SYNCHRONOUS device
Date: Mon, 14 Aug 2017 17:41:11 +0900 [thread overview]
Message-ID: <20170814084111.GE26913@bbox> (raw)
In-Reply-To: <201708121619.CYNstSAy%fengguang.wu@intel.com>
On Sat, Aug 12, 2017 at 04:46:33PM +0800, kbuild test robot wrote:
> Hi Minchan,
>
> [auto build test ERROR on mmotm/master]
> [also build test ERROR on next-20170811]
> [cannot apply to linus/master v4.13-rc4]
> [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/Minchan-Kim/Replace-rw_page-with-on-stack-bio/20170812-152541
> base: git://git.cmpxchg.org/linux-mmotm.git master
> config: sparc64-allmodconfig (attached as .config)
> compiler: sparc64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
> reproduce:
> wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> # save the attached .config to linux build tree
> make.cross ARCH=sparc64
>
> All errors (new ones prefixed by >>):
>
> mm/page_io.c: In function '__swap_writepage':
> >> mm/page_io.c:345:11: error: passing argument 1 of 'bio_get' from incompatible pointer type [-Werror=incompatible-pointer-types]
> bio_get(&bio);
> ^
> In file included from include/linux/writeback.h:205:0,
> from include/linux/memcontrol.h:31,
> from include/linux/swap.h:8,
> from mm/page_io.c:17:
> include/linux/bio.h:252:20: note: expected 'struct bio *' but argument is of type 'struct bio **'
> static inline void bio_get(struct bio *bio)
> ^~~~~~~
> cc1: some warnings being treated as errors
>
> vim +/bio_get +345 mm/page_io.c
>
> 275
> 276 int __swap_writepage(struct page *page, struct writeback_control *wbc)
> 277 {
> 278 int ret;
> 279 struct swap_info_struct *sis = page_swap_info(page);
> 280 struct bio *bio;
> 281 /* on-stack-bio */
> 282 struct bio sbio;
> 283 struct bio_vec sbvec;
> 284
> 285 VM_BUG_ON_PAGE(!PageSwapCache(page), page);
> 286 if (sis->flags & SWP_FILE) {
> 287 struct kiocb kiocb;
> 288 struct file *swap_file = sis->swap_file;
> 289 struct address_space *mapping = swap_file->f_mapping;
> 290 struct bio_vec bv = {
> 291 .bv_page = page,
> 292 .bv_len = PAGE_SIZE,
> 293 .bv_offset = 0
> 294 };
> 295 struct iov_iter from;
> 296
> 297 iov_iter_bvec(&from, ITER_BVEC | WRITE, &bv, 1, PAGE_SIZE);
> 298 init_sync_kiocb(&kiocb, swap_file);
> 299 kiocb.ki_pos = page_file_offset(page);
> 300
> 301 set_page_writeback(page);
> 302 unlock_page(page);
> 303 ret = mapping->a_ops->direct_IO(&kiocb, &from);
> 304 if (ret == PAGE_SIZE) {
> 305 count_vm_event(PSWPOUT);
> 306 ret = 0;
> 307 } else {
> 308 /*
> 309 * In the case of swap-over-nfs, this can be a
> 310 * temporary failure if the system has limited
> 311 * memory for allocating transmit buffers.
> 312 * Mark the page dirty and avoid
> 313 * rotate_reclaimable_page but rate-limit the
> 314 * messages but do not flag PageError like
> 315 * the normal direct-to-bio case as it could
> 316 * be temporary.
> 317 */
> 318 set_page_dirty(page);
> 319 ClearPageReclaim(page);
> 320 pr_err_ratelimited("Write error on dio swapfile (%llu)\n",
> 321 page_file_offset(page));
> 322 }
> 323 end_page_writeback(page);
> 324 return ret;
> 325 }
> 326
> 327 ret = bdev_write_page(sis->bdev, swap_page_sector(page), page, wbc);
> 328 if (!ret) {
> 329 count_swpout_vm_event(page);
> 330 return 0;
> 331 }
> 332
> 333 ret = 0;
> 334 if (!(sis->flags & SWP_SYNC_IO)) {
> 335
> 336 bio = get_swap_bio(GFP_NOIO, page, end_swap_bio_write);
> 337 if (bio == NULL) {
> 338 set_page_dirty(page);
> 339 unlock_page(page);
> 340 ret = -ENOMEM;
> 341 goto out;
> 342 }
> 343 } else {
> 344 bio = &sbio;
> > 345 bio_get(&bio);
Hi kbuild,
I will respin with fixing it.
Thanks for the catching up!
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: Minchan Kim <minchan@kernel.org>
To: kbuild test robot <lkp@intel.com>
Cc: kbuild-all@01.org, Andrew Morton <akpm@linux-foundation.org>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
Ross Zwisler <ross.zwisler@linux.intel.com>,
"karam . lee" <karam.lee@lge.com>,
seungho1.park@lge.com, Matthew Wilcox <willy@infradead.org>,
Christoph Hellwig <hch@lst.de>,
Dan Williams <dan.j.williams@intel.com>,
Dave Chinner <david@fromorbit.com>,
jack@suse.cz, Jens Axboe <axboe@kernel.dk>,
Vishal Verma <vishal.l.verma@intel.com>,
linux-nvdimm@lists.01.org, kernel-team <kernel-team@lge.com>
Subject: Re: [PATCH v2 5/7] mm:swap: use on-stack-bio for BDI_CAP_SYNCHRONOUS device
Date: Mon, 14 Aug 2017 17:41:11 +0900 [thread overview]
Message-ID: <20170814084111.GE26913@bbox> (raw)
In-Reply-To: <201708121619.CYNstSAy%fengguang.wu@intel.com>
On Sat, Aug 12, 2017 at 04:46:33PM +0800, kbuild test robot wrote:
> Hi Minchan,
>
> [auto build test ERROR on mmotm/master]
> [also build test ERROR on next-20170811]
> [cannot apply to linus/master v4.13-rc4]
> [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/Minchan-Kim/Replace-rw_page-with-on-stack-bio/20170812-152541
> base: git://git.cmpxchg.org/linux-mmotm.git master
> config: sparc64-allmodconfig (attached as .config)
> compiler: sparc64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
> reproduce:
> wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> # save the attached .config to linux build tree
> make.cross ARCH=sparc64
>
> All errors (new ones prefixed by >>):
>
> mm/page_io.c: In function '__swap_writepage':
> >> mm/page_io.c:345:11: error: passing argument 1 of 'bio_get' from incompatible pointer type [-Werror=incompatible-pointer-types]
> bio_get(&bio);
> ^
> In file included from include/linux/writeback.h:205:0,
> from include/linux/memcontrol.h:31,
> from include/linux/swap.h:8,
> from mm/page_io.c:17:
> include/linux/bio.h:252:20: note: expected 'struct bio *' but argument is of type 'struct bio **'
> static inline void bio_get(struct bio *bio)
> ^~~~~~~
> cc1: some warnings being treated as errors
>
> vim +/bio_get +345 mm/page_io.c
>
> 275
> 276 int __swap_writepage(struct page *page, struct writeback_control *wbc)
> 277 {
> 278 int ret;
> 279 struct swap_info_struct *sis = page_swap_info(page);
> 280 struct bio *bio;
> 281 /* on-stack-bio */
> 282 struct bio sbio;
> 283 struct bio_vec sbvec;
> 284
> 285 VM_BUG_ON_PAGE(!PageSwapCache(page), page);
> 286 if (sis->flags & SWP_FILE) {
> 287 struct kiocb kiocb;
> 288 struct file *swap_file = sis->swap_file;
> 289 struct address_space *mapping = swap_file->f_mapping;
> 290 struct bio_vec bv = {
> 291 .bv_page = page,
> 292 .bv_len = PAGE_SIZE,
> 293 .bv_offset = 0
> 294 };
> 295 struct iov_iter from;
> 296
> 297 iov_iter_bvec(&from, ITER_BVEC | WRITE, &bv, 1, PAGE_SIZE);
> 298 init_sync_kiocb(&kiocb, swap_file);
> 299 kiocb.ki_pos = page_file_offset(page);
> 300
> 301 set_page_writeback(page);
> 302 unlock_page(page);
> 303 ret = mapping->a_ops->direct_IO(&kiocb, &from);
> 304 if (ret == PAGE_SIZE) {
> 305 count_vm_event(PSWPOUT);
> 306 ret = 0;
> 307 } else {
> 308 /*
> 309 * In the case of swap-over-nfs, this can be a
> 310 * temporary failure if the system has limited
> 311 * memory for allocating transmit buffers.
> 312 * Mark the page dirty and avoid
> 313 * rotate_reclaimable_page but rate-limit the
> 314 * messages but do not flag PageError like
> 315 * the normal direct-to-bio case as it could
> 316 * be temporary.
> 317 */
> 318 set_page_dirty(page);
> 319 ClearPageReclaim(page);
> 320 pr_err_ratelimited("Write error on dio swapfile (%llu)\n",
> 321 page_file_offset(page));
> 322 }
> 323 end_page_writeback(page);
> 324 return ret;
> 325 }
> 326
> 327 ret = bdev_write_page(sis->bdev, swap_page_sector(page), page, wbc);
> 328 if (!ret) {
> 329 count_swpout_vm_event(page);
> 330 return 0;
> 331 }
> 332
> 333 ret = 0;
> 334 if (!(sis->flags & SWP_SYNC_IO)) {
> 335
> 336 bio = get_swap_bio(GFP_NOIO, page, end_swap_bio_write);
> 337 if (bio == NULL) {
> 338 set_page_dirty(page);
> 339 unlock_page(page);
> 340 ret = -ENOMEM;
> 341 goto out;
> 342 }
> 343 } else {
> 344 bio = &sbio;
> > 345 bio_get(&bio);
Hi kbuild,
I will respin with fixing it.
Thanks for the catching up!
next prev parent reply other threads:[~2017-08-14 8:38 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-11 5:17 [PATCH v2 0/7] Replace rw_page with on-stack bio Minchan Kim
2017-08-11 5:17 ` Minchan Kim
2017-08-11 5:17 ` Minchan Kim
2017-08-11 5:17 ` [PATCH v2 1/7] zram: set BDI_CAP_STABLE_WRITES once Minchan Kim
2017-08-11 5:17 ` Minchan Kim
2017-08-11 5:17 ` Minchan Kim
2017-08-14 1:39 ` Sergey Senozhatsky
2017-08-14 1:39 ` Sergey Senozhatsky
2017-08-14 1:39 ` Sergey Senozhatsky
2017-08-11 5:17 ` [PATCH v2 2/7] bdi: introduce BDI_CAP_SYNCHRONOUS_IO Minchan Kim
2017-08-11 5:17 ` Minchan Kim
2017-08-11 5:17 ` Minchan Kim
2017-08-11 5:17 ` [PATCH v2 3/7] fs: use on-stack-bio if backing device has BDI_CAP_SYNCHRONOUS capability Minchan Kim
2017-08-11 5:17 ` Minchan Kim
2017-08-11 5:17 ` Minchan Kim
2017-08-11 5:17 ` [PATCH v2 4/7] mm:swap: remove end_swap_bio_write argument Minchan Kim
2017-08-11 5:17 ` Minchan Kim
2017-08-11 5:17 ` Minchan Kim
2017-08-11 5:17 ` [PATCH v2 5/7] mm:swap: use on-stack-bio for BDI_CAP_SYNCHRONOUS device Minchan Kim
2017-08-11 5:17 ` Minchan Kim
2017-08-11 5:17 ` Minchan Kim
2017-08-12 8:21 ` kbuild test robot
2017-08-12 8:21 ` kbuild test robot
2017-08-12 8:21 ` kbuild test robot
2017-08-12 8:46 ` kbuild test robot
2017-08-12 8:46 ` kbuild test robot
2017-08-12 8:46 ` kbuild test robot
2017-08-14 8:41 ` Minchan Kim [this message]
2017-08-14 8:41 ` Minchan Kim
2017-08-14 8:41 ` Minchan Kim
2017-08-11 5:17 ` [PATCH v2 6/7] zram: remove zram_rw_page Minchan Kim
2017-08-11 5:17 ` Minchan Kim
2017-08-11 5:17 ` Minchan Kim
2017-08-11 5:17 ` [PATCH v2 7/7] fs: remove rw_page Minchan Kim
2017-08-11 5:17 ` Minchan Kim
2017-08-11 5:17 ` Minchan Kim
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=20170814084111.GE26913@bbox \
--to=minchan@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=axboe@kernel.dk \
--cc=david@fromorbit.com \
--cc=hch@lst.de \
--cc=jack@suse.cz \
--cc=karam.lee@lge.com \
--cc=kbuild-all@01.org \
--cc=kernel-team@lge.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-nvdimm@lists.01.org \
--cc=lkp@intel.com \
--cc=seungho1.park@lge.com \
--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.