From: kernel test robot <lkp@intel.com>
To: nmeeramohide@micron.com, linux-kernel@vger.kernel.org,
linux-block@vger.kernel.org, linux-nvme@lists.infradead.org,
linux-mm@kvack.org, linux-nvdimm@lists.01.org
Cc: kbuild-all@lists.01.org, smoyer@micron.com, gbecker@micron.com,
plabat@micron.com, jgroves@micron.com,
Nabeel M Mohamed <nmeeramohide@micron.com>
Subject: Re: [PATCH 22/22] mpool: add Kconfig and Makefile
Date: Tue, 29 Sep 2020 07:47:16 +0800 [thread overview]
Message-ID: <202009290752.VLWnaMdz%lkp@intel.com> (raw)
In-Reply-To: <20200928164534.48203-23-nmeeramohide@micron.com>
Hi,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on linux/master]
[also build test ERROR on linus/master v5.9-rc7 next-20200928]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/nmeeramohide-micron-com/add-Object-Storage-Media-Pool-mpool/20200929-004933
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git bcf876870b95592b52519ed4aafcf9d95999bc9c
config: m68k-allmodconfig (attached as .config)
compiler: m68k-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/0d485fc58582bd112bb72fe15f107e8cbe3536b0
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review nmeeramohide-micron-com/add-Object-Storage-Media-Pool-mpool/20200929-004933
git checkout 0d485fc58582bd112bb72fe15f107e8cbe3536b0
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=m68k
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All error/warnings (new ones prefixed by >>):
In file included from arch/m68k/include/asm/io_mm.h:25,
from arch/m68k/include/asm/io.h:8,
from include/linux/io.h:13,
from include/linux/irq.h:20,
from include/asm-generic/hardirq.h:13,
from ./arch/m68k/include/generated/asm/hardirq.h:1,
from include/linux/hardirq.h:10,
from include/linux/highmem.h:10,
from include/linux/pagemap.h:11,
from include/linux/blkdev.h:16,
from drivers/mpool/pd.c:15:
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsb':
arch/m68k/include/asm/raw_io.h:83:7: warning: variable '__w' set but not used [-Wunused-but-set-variable]
83 | ({u8 __w, __v = (b); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:430:3: note: in expansion of macro 'rom_out_8'
430 | rom_out_8(port, *buf++);
| ^~~~~~~~~
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsw':
arch/m68k/include/asm/raw_io.h:86:8: warning: variable '__w' set but not used [-Wunused-but-set-variable]
86 | ({u16 __w, __v = (w); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:448:3: note: in expansion of macro 'rom_out_be16'
448 | rom_out_be16(port, *buf++);
| ^~~~~~~~~~~~
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsw_swapw':
arch/m68k/include/asm/raw_io.h:90:8: warning: variable '__w' set but not used [-Wunused-but-set-variable]
90 | ({u16 __w, __v = (w); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:466:3: note: in expansion of macro 'rom_out_le16'
466 | rom_out_le16(port, *buf++);
| ^~~~~~~~~~~~
In file included from include/linux/kernel.h:11,
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 drivers/mpool/pd.c:14:
include/linux/scatterlist.h: In function 'sg_set_buf':
arch/m68k/include/asm/page_mm.h:169:49: warning: ordered comparison of pointer with null pointer [-Wextra]
169 | #define virt_addr_valid(kaddr) ((void *)(kaddr) >= (void *)PAGE_OFFSET && (void *)(kaddr) < high_memory)
| ^~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
include/linux/scatterlist.h:143:2: note: in expansion of macro 'BUG_ON'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~
include/linux/scatterlist.h:143:10: note: in expansion of macro 'virt_addr_valid'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~~~~~~~~~~
drivers/mpool/pd.c: In function 'pd_bio_rw':
>> drivers/mpool/pd.c:294:14: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
294 | iov_base = (u64)iov[i].iov_base;
| ^
>> drivers/mpool/pd.c:224:13: warning: variable 'op' set but not used [-Wunused-but-set-variable]
224 | int i, cc, op;
| ^~
--
>> drivers/mpool/omf.c:27: warning: "STR" redefined
27 | #define STR(x) _STR(x)
|
In file included from arch/m68k/include/asm/irqflags.h:8,
from include/linux/irqflags.h:16,
from include/linux/spinlock.h:54,
from include/linux/mmzone.h:8,
from include/linux/gfp.h:6,
from include/linux/slab.h:15,
from drivers/mpool/omf.c:16:
arch/m68k/include/asm/entry.h:244: note: this is the location of the previous definition
244 | #define STR(X) STR1(X)
|
drivers/mpool/omf.c:28:19: warning: 'mpool_sbver' defined but not used [-Wunused-const-variable=]
28 | static const char mpool_sbver[] = "MPOOL_SBVER_" STR(OMF_SB_DESC_VER_LAST);
| ^~~~~~~~~~~
--
In file included from include/linux/printk.h:7,
from include/linux/kernel.h:15,
from include/asm-generic/bug.h:19,
from arch/m68k/include/asm/bug.h:32,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/gfp.h:5,
from include/linux/slab.h:15,
from drivers/mpool/mdc.c:6:
drivers/mpool/mdc.c: In function 'mp_mdc_read':
include/linux/kern_levels.h:5:18: warning: format '%lu' expects argument of type 'long unsigned int', but argument 6 has type 'size_t' {aka 'unsigned int'} [-Wformat=]
5 | #define KERN_SOH "\001" /* ASCII Start Of Header */
| ^~~~~~
include/linux/kern_levels.h:11:18: note: in expansion of macro 'KERN_SOH'
11 | #define KERN_ERR KERN_SOH "3" /* error conditions */
| ^~~~~~~~
include/linux/printk.h:338:9: note: in expansion of macro 'KERN_ERR'
338 | printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~
drivers/mpool/mpool_printk.h:17:2: note: in expansion of macro 'pr_err'
17 | pr_err("%s: " _fmt ": errno %d", __func__, ## __VA_ARGS__, (_err))
| ^~~~~~
drivers/mpool/mdc.c:458:3: note: in expansion of macro 'mp_pr_err'
458 | mp_pr_err("mpool %s, mdc %p read failed, mlog %p len %lu",
| ^~~~~~~~~
drivers/mpool/mdc.c:458:58: note: format string is defined here
458 | mp_pr_err("mpool %s, mdc %p read failed, mlog %p len %lu",
| ~~^
| |
| long unsigned int
| %u
In file included from include/linux/printk.h:7,
from include/linux/kernel.h:15,
from include/asm-generic/bug.h:19,
from arch/m68k/include/asm/bug.h:32,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/gfp.h:5,
from include/linux/slab.h:15,
from drivers/mpool/mdc.c:6:
drivers/mpool/mdc.c: In function 'mp_mdc_append':
>> include/linux/kern_levels.h:5:18: warning: format '%lu' expects argument of type 'long unsigned int', but argument 6 has type 'ssize_t' {aka 'int'} [-Wformat=]
5 | #define KERN_SOH "\001" /* ASCII Start Of Header */
| ^~~~~~
include/linux/kern_levels.h:11:18: note: in expansion of macro 'KERN_SOH'
11 | #define KERN_ERR KERN_SOH "3" /* error conditions */
| ^~~~~~~~
include/linux/printk.h:338:9: note: in expansion of macro 'KERN_ERR'
338 | printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~
drivers/mpool/mpool_printk.h:39:3: note: in expansion of macro 'pr_err'
39 | pr_err("%s: " _fmt ": errno %d", \
| ^~~~~~
drivers/mpool/mdc.c:480:3: note: in expansion of macro 'mp_pr_rl'
480 | mp_pr_rl("mpool %s, mdc %p append failed, mlog %p, len %lu sync %d",
| ^~~~~~~~
drivers/mpool/mdc.c:480:60: note: format string is defined here
480 | mp_pr_rl("mpool %s, mdc %p append failed, mlog %p, len %lu sync %d",
| ~~^
| |
| long unsigned int
| %u
--
In file included from arch/m68k/include/asm/io_mm.h:25,
from arch/m68k/include/asm/io.h:8,
from include/linux/io.h:13,
from include/linux/irq.h:20,
from include/asm-generic/hardirq.h:13,
from ./arch/m68k/include/generated/asm/hardirq.h:1,
from include/linux/hardirq.h:10,
from include/linux/highmem.h:10,
from include/linux/pagemap.h:11,
from include/linux/blkdev.h:16,
from drivers/mpool/mpctl.c:14:
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsb':
arch/m68k/include/asm/raw_io.h:83:7: warning: variable '__w' set but not used [-Wunused-but-set-variable]
83 | ({u8 __w, __v = (b); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:430:3: note: in expansion of macro 'rom_out_8'
430 | rom_out_8(port, *buf++);
| ^~~~~~~~~
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsw':
arch/m68k/include/asm/raw_io.h:86:8: warning: variable '__w' set but not used [-Wunused-but-set-variable]
86 | ({u16 __w, __v = (w); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:448:3: note: in expansion of macro 'rom_out_be16'
448 | rom_out_be16(port, *buf++);
| ^~~~~~~~~~~~
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsw_swapw':
arch/m68k/include/asm/raw_io.h:90:8: warning: variable '__w' set but not used [-Wunused-but-set-variable]
90 | ({u16 __w, __v = (w); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:466:3: note: in expansion of macro 'rom_out_le16'
466 | rom_out_le16(port, *buf++);
| ^~~~~~~~~~~~
In file included from include/linux/kernel.h:11,
from drivers/mpool/mpctl.c:6:
include/linux/scatterlist.h: In function 'sg_set_buf':
arch/m68k/include/asm/page_mm.h:169:49: warning: ordered comparison of pointer with null pointer [-Wextra]
169 | #define virt_addr_valid(kaddr) ((void *)(kaddr) >= (void *)PAGE_OFFSET && (void *)(kaddr) < high_memory)
| ^~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
include/linux/scatterlist.h:143:2: note: in expansion of macro 'BUG_ON'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~
include/linux/scatterlist.h:143:10: note: in expansion of macro 'virt_addr_valid'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~~~~~~~~~~
drivers/mpool/mpctl.c: In function 'mpc_open':
>> drivers/mpool/mpctl.c:2393:23: warning: left shift count >= width of type [-Wshift-count-overflow]
2393 | i_size_write(ip, 1ul << 63);
| ^~
--
In file included from arch/m68k/include/asm/io_mm.h:25,
from arch/m68k/include/asm/io.h:8,
from include/linux/io.h:13,
from include/linux/irq.h:20,
from include/asm-generic/hardirq.h:13,
from ./arch/m68k/include/generated/asm/hardirq.h:1,
from include/linux/hardirq.h:10,
from include/linux/interrupt.h:11,
from include/linux/kernel_stat.h:9,
from include/linux/cgroup.h:26,
from include/linux/memcontrol.h:13,
from drivers/mpool/mcache.c:7:
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsb':
arch/m68k/include/asm/raw_io.h:83:7: warning: variable '__w' set but not used [-Wunused-but-set-variable]
83 | ({u8 __w, __v = (b); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:430:3: note: in expansion of macro 'rom_out_8'
430 | rom_out_8(port, *buf++);
| ^~~~~~~~~
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsw':
arch/m68k/include/asm/raw_io.h:86:8: warning: variable '__w' set but not used [-Wunused-but-set-variable]
86 | ({u16 __w, __v = (w); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:448:3: note: in expansion of macro 'rom_out_be16'
448 | rom_out_be16(port, *buf++);
| ^~~~~~~~~~~~
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsw_swapw':
arch/m68k/include/asm/raw_io.h:90:8: warning: variable '__w' set but not used [-Wunused-but-set-variable]
90 | ({u16 __w, __v = (w); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:466:3: note: in expansion of macro 'rom_out_le16'
466 | rom_out_le16(port, *buf++);
| ^~~~~~~~~~~~
In file included from include/linux/kernel.h:11,
from include/linux/list.h:9,
from include/linux/module.h:12,
from drivers/mpool/mcache.c:6:
include/linux/scatterlist.h: In function 'sg_set_buf':
arch/m68k/include/asm/page_mm.h:169:49: warning: ordered comparison of pointer with null pointer [-Wextra]
169 | #define virt_addr_valid(kaddr) ((void *)(kaddr) >= (void *)PAGE_OFFSET && (void *)(kaddr) < high_memory)
| ^~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
include/linux/scatterlist.h:143:2: note: in expansion of macro 'BUG_ON'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~
include/linux/scatterlist.h:143:10: note: in expansion of macro 'virt_addr_valid'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~~~~~~~~~~
drivers/mpool/mcache.c: In function 'mpc_readpages':
>> drivers/mpool/mcache.c:581:3: error: implicit declaration of function 'prefetchw' [-Werror=implicit-function-declaration]
581 | prefetchw(&page->flags);
| ^~~~~~~~~
cc1: some warnings being treated as errors
--
drivers/mpool/reaper.c: In function 'mpc_reap_xvm_add':
>> drivers/mpool/reaper.c:577:12: warning: variable 'mult' set but not used [-Wunused-but-set-variable]
577 | uint idx, mult;
| ^~~~
vim +/prefetchw +581 drivers/mpool/mcache.c
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 499
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 500 static int mpc_readpages(struct file *file, struct address_space *mapping,
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 501 struct list_head *pages, uint nr_pages)
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 502 {
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 503 struct workqueue_struct *wq;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 504 struct readpage_work *w;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 505 struct work_struct *work;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 506 struct mpc_mbinfo *mbinfo;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 507 struct mpc_unit *unit;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 508 struct mpc_xvm *xvm;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 509 struct page *page;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 510 off_t offset, mbend;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 511 uint mbnum, iovmax, i;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 512 uint ra_pages_max;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 513 ulong index;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 514 gfp_t gfp;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 515 u32 key;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 516 int rc;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 517
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 518 unit = file->private_data;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 519
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 520 ra_pages_max = unit->un_ra_pages_max;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 521 if (ra_pages_max < 1)
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 522 return 0;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 523
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 524 page = lru_to_page(pages);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 525 offset = page->index << PAGE_SHIFT;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 526 index = page->index;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 527 work = NULL;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 528 w = NULL;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 529
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 530 key = offset >> xvm_size_max;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 531
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 532 /*
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 533 * The idr value here (xvm) is pinned for the lifetime of the address map.
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 534 * Therefore, we can exit the rcu read-side critsec without worry that xvm will be
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 535 * destroyed before put_page() has been called on each and every page in the given
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 536 * list of pages.
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 537 */
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 538 rcu_read_lock();
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 539 xvm = idr_find(&unit->un_rgnmap.rm_root, key);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 540 rcu_read_unlock();
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 541
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 542 if (!xvm)
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 543 return 0;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 544
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 545 offset %= (1ul << xvm_size_max);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 546
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 547 mbnum = offset / xvm->xvm_bktsz;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 548 if (mbnum >= xvm->xvm_mbinfoc)
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 549 return 0;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 550
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 551 mbinfo = xvm->xvm_mbinfov + mbnum;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 552
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 553 mbend = mbnum * xvm->xvm_bktsz + mbinfo->mblen;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 554 iovmax = MPC_RA_IOV_MAX;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 555
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 556 gfp = mapping_gfp_mask(mapping) & GFP_KERNEL;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 557 wq = mpc_rgn2wq(xvm->xvm_rgn);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 558
f5867898fb79966 Nabeel M Mohamed 2020-09-28 559 if (mpc_reap_xvm_duress(xvm))
f5867898fb79966 Nabeel M Mohamed 2020-09-28 560 nr_pages = min_t(uint, nr_pages, 8);
f5867898fb79966 Nabeel M Mohamed 2020-09-28 561
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 562 nr_pages = min_t(uint, nr_pages, ra_pages_max);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 563
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 564 for (i = 0; i < nr_pages; ++i) {
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 565 page = lru_to_page(pages);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 566 offset = page->index << PAGE_SHIFT;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 567 offset %= (1ul << xvm_size_max);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 568
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 569 /* Don't read past the end of the mblock. */
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 570 if (offset >= mbend)
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 571 break;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 572
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 573 /* mblock reads must be logically contiguous. */
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 574 if (page->index != index && work) {
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 575 queue_work(wq, work);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 576 work = NULL;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 577 }
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 578
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 579 index = page->index + 1; /* next expected page index */
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 580
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 @581 prefetchw(&page->flags);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 582 list_del(&page->lru);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 583
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 584 rc = add_to_page_cache_lru(page, mapping, page->index, gfp);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 585 if (rc) {
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 586 if (work) {
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 587 queue_work(wq, work);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 588 work = NULL;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 589 }
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 590 put_page(page);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 591 continue;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 592 }
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 593
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 594 if (!work) {
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 595 w = page_address(page);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 596 INIT_WORK(&w->w_work, mpc_readpages_cb);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 597 w->w_args.a_xvm = xvm;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 598 w->w_args.a_mbdesc = mbinfo->mbdesc;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 599 w->w_args.a_mboffset = offset % xvm->xvm_bktsz;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 600 w->w_args.a_pagec = 0;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 601 work = &w->w_work;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 602
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 603 iovmax = MPC_RA_IOV_MAX;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 604 iovmax -= page->index % MPC_RA_IOV_MAX;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 605 }
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 606
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 607 w->w_args.a_pagev[w->w_args.a_pagec++] = page;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 608
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 609 /*
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 610 * Restrict batch size to the number of struct kvecs
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 611 * that will fit into a page (minus our header).
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 612 */
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 613 if (w->w_args.a_pagec >= iovmax) {
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 614 queue_work(wq, work);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 615 work = NULL;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 616 }
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 617 }
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 618
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 619 if (work)
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 620 queue_work(wq, work);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 621
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 622 return 0;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 623 }
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 624
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
_______________________________________________
Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org
To unsubscribe send an email to linux-nvdimm-leave@lists.01.org
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: nmeeramohide@micron.com, linux-kernel@vger.kernel.org,
linux-block@vger.kernel.org, linux-nvme@lists.infradead.org,
linux-mm@kvack.org, linux-nvdimm@lists.01.org
Cc: smoyer@micron.com, plabat@micron.com, jgroves@micron.com,
Nabeel M Mohamed <nmeeramohide@micron.com>,
kbuild-all@lists.01.org, gbecker@micron.com
Subject: Re: [PATCH 22/22] mpool: add Kconfig and Makefile
Date: Tue, 29 Sep 2020 07:47:16 +0800 [thread overview]
Message-ID: <202009290752.VLWnaMdz%lkp@intel.com> (raw)
In-Reply-To: <20200928164534.48203-23-nmeeramohide@micron.com>
[-- Attachment #1: Type: text/plain, Size: 25084 bytes --]
Hi,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on linux/master]
[also build test ERROR on linus/master v5.9-rc7 next-20200928]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/nmeeramohide-micron-com/add-Object-Storage-Media-Pool-mpool/20200929-004933
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git bcf876870b95592b52519ed4aafcf9d95999bc9c
config: m68k-allmodconfig (attached as .config)
compiler: m68k-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/0d485fc58582bd112bb72fe15f107e8cbe3536b0
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review nmeeramohide-micron-com/add-Object-Storage-Media-Pool-mpool/20200929-004933
git checkout 0d485fc58582bd112bb72fe15f107e8cbe3536b0
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=m68k
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All error/warnings (new ones prefixed by >>):
In file included from arch/m68k/include/asm/io_mm.h:25,
from arch/m68k/include/asm/io.h:8,
from include/linux/io.h:13,
from include/linux/irq.h:20,
from include/asm-generic/hardirq.h:13,
from ./arch/m68k/include/generated/asm/hardirq.h:1,
from include/linux/hardirq.h:10,
from include/linux/highmem.h:10,
from include/linux/pagemap.h:11,
from include/linux/blkdev.h:16,
from drivers/mpool/pd.c:15:
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsb':
arch/m68k/include/asm/raw_io.h:83:7: warning: variable '__w' set but not used [-Wunused-but-set-variable]
83 | ({u8 __w, __v = (b); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:430:3: note: in expansion of macro 'rom_out_8'
430 | rom_out_8(port, *buf++);
| ^~~~~~~~~
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsw':
arch/m68k/include/asm/raw_io.h:86:8: warning: variable '__w' set but not used [-Wunused-but-set-variable]
86 | ({u16 __w, __v = (w); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:448:3: note: in expansion of macro 'rom_out_be16'
448 | rom_out_be16(port, *buf++);
| ^~~~~~~~~~~~
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsw_swapw':
arch/m68k/include/asm/raw_io.h:90:8: warning: variable '__w' set but not used [-Wunused-but-set-variable]
90 | ({u16 __w, __v = (w); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:466:3: note: in expansion of macro 'rom_out_le16'
466 | rom_out_le16(port, *buf++);
| ^~~~~~~~~~~~
In file included from include/linux/kernel.h:11,
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 drivers/mpool/pd.c:14:
include/linux/scatterlist.h: In function 'sg_set_buf':
arch/m68k/include/asm/page_mm.h:169:49: warning: ordered comparison of pointer with null pointer [-Wextra]
169 | #define virt_addr_valid(kaddr) ((void *)(kaddr) >= (void *)PAGE_OFFSET && (void *)(kaddr) < high_memory)
| ^~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
include/linux/scatterlist.h:143:2: note: in expansion of macro 'BUG_ON'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~
include/linux/scatterlist.h:143:10: note: in expansion of macro 'virt_addr_valid'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~~~~~~~~~~
drivers/mpool/pd.c: In function 'pd_bio_rw':
>> drivers/mpool/pd.c:294:14: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
294 | iov_base = (u64)iov[i].iov_base;
| ^
>> drivers/mpool/pd.c:224:13: warning: variable 'op' set but not used [-Wunused-but-set-variable]
224 | int i, cc, op;
| ^~
--
>> drivers/mpool/omf.c:27: warning: "STR" redefined
27 | #define STR(x) _STR(x)
|
In file included from arch/m68k/include/asm/irqflags.h:8,
from include/linux/irqflags.h:16,
from include/linux/spinlock.h:54,
from include/linux/mmzone.h:8,
from include/linux/gfp.h:6,
from include/linux/slab.h:15,
from drivers/mpool/omf.c:16:
arch/m68k/include/asm/entry.h:244: note: this is the location of the previous definition
244 | #define STR(X) STR1(X)
|
drivers/mpool/omf.c:28:19: warning: 'mpool_sbver' defined but not used [-Wunused-const-variable=]
28 | static const char mpool_sbver[] = "MPOOL_SBVER_" STR(OMF_SB_DESC_VER_LAST);
| ^~~~~~~~~~~
--
In file included from include/linux/printk.h:7,
from include/linux/kernel.h:15,
from include/asm-generic/bug.h:19,
from arch/m68k/include/asm/bug.h:32,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/gfp.h:5,
from include/linux/slab.h:15,
from drivers/mpool/mdc.c:6:
drivers/mpool/mdc.c: In function 'mp_mdc_read':
include/linux/kern_levels.h:5:18: warning: format '%lu' expects argument of type 'long unsigned int', but argument 6 has type 'size_t' {aka 'unsigned int'} [-Wformat=]
5 | #define KERN_SOH "\001" /* ASCII Start Of Header */
| ^~~~~~
include/linux/kern_levels.h:11:18: note: in expansion of macro 'KERN_SOH'
11 | #define KERN_ERR KERN_SOH "3" /* error conditions */
| ^~~~~~~~
include/linux/printk.h:338:9: note: in expansion of macro 'KERN_ERR'
338 | printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~
drivers/mpool/mpool_printk.h:17:2: note: in expansion of macro 'pr_err'
17 | pr_err("%s: " _fmt ": errno %d", __func__, ## __VA_ARGS__, (_err))
| ^~~~~~
drivers/mpool/mdc.c:458:3: note: in expansion of macro 'mp_pr_err'
458 | mp_pr_err("mpool %s, mdc %p read failed, mlog %p len %lu",
| ^~~~~~~~~
drivers/mpool/mdc.c:458:58: note: format string is defined here
458 | mp_pr_err("mpool %s, mdc %p read failed, mlog %p len %lu",
| ~~^
| |
| long unsigned int
| %u
In file included from include/linux/printk.h:7,
from include/linux/kernel.h:15,
from include/asm-generic/bug.h:19,
from arch/m68k/include/asm/bug.h:32,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/gfp.h:5,
from include/linux/slab.h:15,
from drivers/mpool/mdc.c:6:
drivers/mpool/mdc.c: In function 'mp_mdc_append':
>> include/linux/kern_levels.h:5:18: warning: format '%lu' expects argument of type 'long unsigned int', but argument 6 has type 'ssize_t' {aka 'int'} [-Wformat=]
5 | #define KERN_SOH "\001" /* ASCII Start Of Header */
| ^~~~~~
include/linux/kern_levels.h:11:18: note: in expansion of macro 'KERN_SOH'
11 | #define KERN_ERR KERN_SOH "3" /* error conditions */
| ^~~~~~~~
include/linux/printk.h:338:9: note: in expansion of macro 'KERN_ERR'
338 | printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~
drivers/mpool/mpool_printk.h:39:3: note: in expansion of macro 'pr_err'
39 | pr_err("%s: " _fmt ": errno %d", \
| ^~~~~~
drivers/mpool/mdc.c:480:3: note: in expansion of macro 'mp_pr_rl'
480 | mp_pr_rl("mpool %s, mdc %p append failed, mlog %p, len %lu sync %d",
| ^~~~~~~~
drivers/mpool/mdc.c:480:60: note: format string is defined here
480 | mp_pr_rl("mpool %s, mdc %p append failed, mlog %p, len %lu sync %d",
| ~~^
| |
| long unsigned int
| %u
--
In file included from arch/m68k/include/asm/io_mm.h:25,
from arch/m68k/include/asm/io.h:8,
from include/linux/io.h:13,
from include/linux/irq.h:20,
from include/asm-generic/hardirq.h:13,
from ./arch/m68k/include/generated/asm/hardirq.h:1,
from include/linux/hardirq.h:10,
from include/linux/highmem.h:10,
from include/linux/pagemap.h:11,
from include/linux/blkdev.h:16,
from drivers/mpool/mpctl.c:14:
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsb':
arch/m68k/include/asm/raw_io.h:83:7: warning: variable '__w' set but not used [-Wunused-but-set-variable]
83 | ({u8 __w, __v = (b); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:430:3: note: in expansion of macro 'rom_out_8'
430 | rom_out_8(port, *buf++);
| ^~~~~~~~~
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsw':
arch/m68k/include/asm/raw_io.h:86:8: warning: variable '__w' set but not used [-Wunused-but-set-variable]
86 | ({u16 __w, __v = (w); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:448:3: note: in expansion of macro 'rom_out_be16'
448 | rom_out_be16(port, *buf++);
| ^~~~~~~~~~~~
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsw_swapw':
arch/m68k/include/asm/raw_io.h:90:8: warning: variable '__w' set but not used [-Wunused-but-set-variable]
90 | ({u16 __w, __v = (w); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:466:3: note: in expansion of macro 'rom_out_le16'
466 | rom_out_le16(port, *buf++);
| ^~~~~~~~~~~~
In file included from include/linux/kernel.h:11,
from drivers/mpool/mpctl.c:6:
include/linux/scatterlist.h: In function 'sg_set_buf':
arch/m68k/include/asm/page_mm.h:169:49: warning: ordered comparison of pointer with null pointer [-Wextra]
169 | #define virt_addr_valid(kaddr) ((void *)(kaddr) >= (void *)PAGE_OFFSET && (void *)(kaddr) < high_memory)
| ^~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
include/linux/scatterlist.h:143:2: note: in expansion of macro 'BUG_ON'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~
include/linux/scatterlist.h:143:10: note: in expansion of macro 'virt_addr_valid'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~~~~~~~~~~
drivers/mpool/mpctl.c: In function 'mpc_open':
>> drivers/mpool/mpctl.c:2393:23: warning: left shift count >= width of type [-Wshift-count-overflow]
2393 | i_size_write(ip, 1ul << 63);
| ^~
--
In file included from arch/m68k/include/asm/io_mm.h:25,
from arch/m68k/include/asm/io.h:8,
from include/linux/io.h:13,
from include/linux/irq.h:20,
from include/asm-generic/hardirq.h:13,
from ./arch/m68k/include/generated/asm/hardirq.h:1,
from include/linux/hardirq.h:10,
from include/linux/interrupt.h:11,
from include/linux/kernel_stat.h:9,
from include/linux/cgroup.h:26,
from include/linux/memcontrol.h:13,
from drivers/mpool/mcache.c:7:
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsb':
arch/m68k/include/asm/raw_io.h:83:7: warning: variable '__w' set but not used [-Wunused-but-set-variable]
83 | ({u8 __w, __v = (b); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:430:3: note: in expansion of macro 'rom_out_8'
430 | rom_out_8(port, *buf++);
| ^~~~~~~~~
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsw':
arch/m68k/include/asm/raw_io.h:86:8: warning: variable '__w' set but not used [-Wunused-but-set-variable]
86 | ({u16 __w, __v = (w); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:448:3: note: in expansion of macro 'rom_out_be16'
448 | rom_out_be16(port, *buf++);
| ^~~~~~~~~~~~
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsw_swapw':
arch/m68k/include/asm/raw_io.h:90:8: warning: variable '__w' set but not used [-Wunused-but-set-variable]
90 | ({u16 __w, __v = (w); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:466:3: note: in expansion of macro 'rom_out_le16'
466 | rom_out_le16(port, *buf++);
| ^~~~~~~~~~~~
In file included from include/linux/kernel.h:11,
from include/linux/list.h:9,
from include/linux/module.h:12,
from drivers/mpool/mcache.c:6:
include/linux/scatterlist.h: In function 'sg_set_buf':
arch/m68k/include/asm/page_mm.h:169:49: warning: ordered comparison of pointer with null pointer [-Wextra]
169 | #define virt_addr_valid(kaddr) ((void *)(kaddr) >= (void *)PAGE_OFFSET && (void *)(kaddr) < high_memory)
| ^~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
include/linux/scatterlist.h:143:2: note: in expansion of macro 'BUG_ON'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~
include/linux/scatterlist.h:143:10: note: in expansion of macro 'virt_addr_valid'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~~~~~~~~~~
drivers/mpool/mcache.c: In function 'mpc_readpages':
>> drivers/mpool/mcache.c:581:3: error: implicit declaration of function 'prefetchw' [-Werror=implicit-function-declaration]
581 | prefetchw(&page->flags);
| ^~~~~~~~~
cc1: some warnings being treated as errors
--
drivers/mpool/reaper.c: In function 'mpc_reap_xvm_add':
>> drivers/mpool/reaper.c:577:12: warning: variable 'mult' set but not used [-Wunused-but-set-variable]
577 | uint idx, mult;
| ^~~~
vim +/prefetchw +581 drivers/mpool/mcache.c
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 499
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 500 static int mpc_readpages(struct file *file, struct address_space *mapping,
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 501 struct list_head *pages, uint nr_pages)
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 502 {
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 503 struct workqueue_struct *wq;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 504 struct readpage_work *w;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 505 struct work_struct *work;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 506 struct mpc_mbinfo *mbinfo;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 507 struct mpc_unit *unit;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 508 struct mpc_xvm *xvm;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 509 struct page *page;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 510 off_t offset, mbend;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 511 uint mbnum, iovmax, i;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 512 uint ra_pages_max;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 513 ulong index;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 514 gfp_t gfp;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 515 u32 key;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 516 int rc;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 517
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 518 unit = file->private_data;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 519
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 520 ra_pages_max = unit->un_ra_pages_max;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 521 if (ra_pages_max < 1)
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 522 return 0;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 523
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 524 page = lru_to_page(pages);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 525 offset = page->index << PAGE_SHIFT;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 526 index = page->index;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 527 work = NULL;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 528 w = NULL;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 529
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 530 key = offset >> xvm_size_max;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 531
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 532 /*
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 533 * The idr value here (xvm) is pinned for the lifetime of the address map.
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 534 * Therefore, we can exit the rcu read-side critsec without worry that xvm will be
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 535 * destroyed before put_page() has been called on each and every page in the given
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 536 * list of pages.
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 537 */
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 538 rcu_read_lock();
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 539 xvm = idr_find(&unit->un_rgnmap.rm_root, key);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 540 rcu_read_unlock();
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 541
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 542 if (!xvm)
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 543 return 0;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 544
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 545 offset %= (1ul << xvm_size_max);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 546
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 547 mbnum = offset / xvm->xvm_bktsz;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 548 if (mbnum >= xvm->xvm_mbinfoc)
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 549 return 0;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 550
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 551 mbinfo = xvm->xvm_mbinfov + mbnum;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 552
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 553 mbend = mbnum * xvm->xvm_bktsz + mbinfo->mblen;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 554 iovmax = MPC_RA_IOV_MAX;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 555
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 556 gfp = mapping_gfp_mask(mapping) & GFP_KERNEL;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 557 wq = mpc_rgn2wq(xvm->xvm_rgn);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 558
f5867898fb79966 Nabeel M Mohamed 2020-09-28 559 if (mpc_reap_xvm_duress(xvm))
f5867898fb79966 Nabeel M Mohamed 2020-09-28 560 nr_pages = min_t(uint, nr_pages, 8);
f5867898fb79966 Nabeel M Mohamed 2020-09-28 561
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 562 nr_pages = min_t(uint, nr_pages, ra_pages_max);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 563
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 564 for (i = 0; i < nr_pages; ++i) {
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 565 page = lru_to_page(pages);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 566 offset = page->index << PAGE_SHIFT;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 567 offset %= (1ul << xvm_size_max);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 568
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 569 /* Don't read past the end of the mblock. */
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 570 if (offset >= mbend)
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 571 break;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 572
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 573 /* mblock reads must be logically contiguous. */
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 574 if (page->index != index && work) {
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 575 queue_work(wq, work);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 576 work = NULL;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 577 }
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 578
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 579 index = page->index + 1; /* next expected page index */
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 580
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 @581 prefetchw(&page->flags);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 582 list_del(&page->lru);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 583
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 584 rc = add_to_page_cache_lru(page, mapping, page->index, gfp);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 585 if (rc) {
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 586 if (work) {
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 587 queue_work(wq, work);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 588 work = NULL;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 589 }
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 590 put_page(page);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 591 continue;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 592 }
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 593
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 594 if (!work) {
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 595 w = page_address(page);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 596 INIT_WORK(&w->w_work, mpc_readpages_cb);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 597 w->w_args.a_xvm = xvm;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 598 w->w_args.a_mbdesc = mbinfo->mbdesc;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 599 w->w_args.a_mboffset = offset % xvm->xvm_bktsz;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 600 w->w_args.a_pagec = 0;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 601 work = &w->w_work;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 602
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 603 iovmax = MPC_RA_IOV_MAX;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 604 iovmax -= page->index % MPC_RA_IOV_MAX;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 605 }
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 606
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 607 w->w_args.a_pagev[w->w_args.a_pagec++] = page;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 608
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 609 /*
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 610 * Restrict batch size to the number of struct kvecs
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 611 * that will fit into a page (minus our header).
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 612 */
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 613 if (w->w_args.a_pagec >= iovmax) {
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 614 queue_work(wq, work);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 615 work = NULL;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 616 }
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 617 }
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 618
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 619 if (work)
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 620 queue_work(wq, work);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 621
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 622 return 0;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 623 }
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 624
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 57283 bytes --]
[-- Attachment #3: Type: text/plain, Size: 158 bytes --]
_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: nmeeramohide@micron.com, linux-kernel@vger.kernel.org,
linux-block@vger.kernel.org, linux-nvme@lists.infradead.org,
linux-mm@kvack.org, linux-nvdimm@lists.01.org
Cc: kbuild-all@lists.01.org, smoyer@micron.com, gbecker@micron.com,
plabat@micron.com, jgroves@micron.com,
Nabeel M Mohamed <nmeeramohide@micron.com>
Subject: Re: [PATCH 22/22] mpool: add Kconfig and Makefile
Date: Tue, 29 Sep 2020 07:47:16 +0800 [thread overview]
Message-ID: <202009290752.VLWnaMdz%lkp@intel.com> (raw)
In-Reply-To: <20200928164534.48203-23-nmeeramohide@micron.com>
[-- Attachment #1: Type: text/plain, Size: 25084 bytes --]
Hi,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on linux/master]
[also build test ERROR on linus/master v5.9-rc7 next-20200928]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/nmeeramohide-micron-com/add-Object-Storage-Media-Pool-mpool/20200929-004933
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git bcf876870b95592b52519ed4aafcf9d95999bc9c
config: m68k-allmodconfig (attached as .config)
compiler: m68k-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/0d485fc58582bd112bb72fe15f107e8cbe3536b0
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review nmeeramohide-micron-com/add-Object-Storage-Media-Pool-mpool/20200929-004933
git checkout 0d485fc58582bd112bb72fe15f107e8cbe3536b0
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=m68k
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All error/warnings (new ones prefixed by >>):
In file included from arch/m68k/include/asm/io_mm.h:25,
from arch/m68k/include/asm/io.h:8,
from include/linux/io.h:13,
from include/linux/irq.h:20,
from include/asm-generic/hardirq.h:13,
from ./arch/m68k/include/generated/asm/hardirq.h:1,
from include/linux/hardirq.h:10,
from include/linux/highmem.h:10,
from include/linux/pagemap.h:11,
from include/linux/blkdev.h:16,
from drivers/mpool/pd.c:15:
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsb':
arch/m68k/include/asm/raw_io.h:83:7: warning: variable '__w' set but not used [-Wunused-but-set-variable]
83 | ({u8 __w, __v = (b); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:430:3: note: in expansion of macro 'rom_out_8'
430 | rom_out_8(port, *buf++);
| ^~~~~~~~~
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsw':
arch/m68k/include/asm/raw_io.h:86:8: warning: variable '__w' set but not used [-Wunused-but-set-variable]
86 | ({u16 __w, __v = (w); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:448:3: note: in expansion of macro 'rom_out_be16'
448 | rom_out_be16(port, *buf++);
| ^~~~~~~~~~~~
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsw_swapw':
arch/m68k/include/asm/raw_io.h:90:8: warning: variable '__w' set but not used [-Wunused-but-set-variable]
90 | ({u16 __w, __v = (w); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:466:3: note: in expansion of macro 'rom_out_le16'
466 | rom_out_le16(port, *buf++);
| ^~~~~~~~~~~~
In file included from include/linux/kernel.h:11,
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 drivers/mpool/pd.c:14:
include/linux/scatterlist.h: In function 'sg_set_buf':
arch/m68k/include/asm/page_mm.h:169:49: warning: ordered comparison of pointer with null pointer [-Wextra]
169 | #define virt_addr_valid(kaddr) ((void *)(kaddr) >= (void *)PAGE_OFFSET && (void *)(kaddr) < high_memory)
| ^~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
include/linux/scatterlist.h:143:2: note: in expansion of macro 'BUG_ON'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~
include/linux/scatterlist.h:143:10: note: in expansion of macro 'virt_addr_valid'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~~~~~~~~~~
drivers/mpool/pd.c: In function 'pd_bio_rw':
>> drivers/mpool/pd.c:294:14: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
294 | iov_base = (u64)iov[i].iov_base;
| ^
>> drivers/mpool/pd.c:224:13: warning: variable 'op' set but not used [-Wunused-but-set-variable]
224 | int i, cc, op;
| ^~
--
>> drivers/mpool/omf.c:27: warning: "STR" redefined
27 | #define STR(x) _STR(x)
|
In file included from arch/m68k/include/asm/irqflags.h:8,
from include/linux/irqflags.h:16,
from include/linux/spinlock.h:54,
from include/linux/mmzone.h:8,
from include/linux/gfp.h:6,
from include/linux/slab.h:15,
from drivers/mpool/omf.c:16:
arch/m68k/include/asm/entry.h:244: note: this is the location of the previous definition
244 | #define STR(X) STR1(X)
|
drivers/mpool/omf.c:28:19: warning: 'mpool_sbver' defined but not used [-Wunused-const-variable=]
28 | static const char mpool_sbver[] = "MPOOL_SBVER_" STR(OMF_SB_DESC_VER_LAST);
| ^~~~~~~~~~~
--
In file included from include/linux/printk.h:7,
from include/linux/kernel.h:15,
from include/asm-generic/bug.h:19,
from arch/m68k/include/asm/bug.h:32,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/gfp.h:5,
from include/linux/slab.h:15,
from drivers/mpool/mdc.c:6:
drivers/mpool/mdc.c: In function 'mp_mdc_read':
include/linux/kern_levels.h:5:18: warning: format '%lu' expects argument of type 'long unsigned int', but argument 6 has type 'size_t' {aka 'unsigned int'} [-Wformat=]
5 | #define KERN_SOH "\001" /* ASCII Start Of Header */
| ^~~~~~
include/linux/kern_levels.h:11:18: note: in expansion of macro 'KERN_SOH'
11 | #define KERN_ERR KERN_SOH "3" /* error conditions */
| ^~~~~~~~
include/linux/printk.h:338:9: note: in expansion of macro 'KERN_ERR'
338 | printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~
drivers/mpool/mpool_printk.h:17:2: note: in expansion of macro 'pr_err'
17 | pr_err("%s: " _fmt ": errno %d", __func__, ## __VA_ARGS__, (_err))
| ^~~~~~
drivers/mpool/mdc.c:458:3: note: in expansion of macro 'mp_pr_err'
458 | mp_pr_err("mpool %s, mdc %p read failed, mlog %p len %lu",
| ^~~~~~~~~
drivers/mpool/mdc.c:458:58: note: format string is defined here
458 | mp_pr_err("mpool %s, mdc %p read failed, mlog %p len %lu",
| ~~^
| |
| long unsigned int
| %u
In file included from include/linux/printk.h:7,
from include/linux/kernel.h:15,
from include/asm-generic/bug.h:19,
from arch/m68k/include/asm/bug.h:32,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/gfp.h:5,
from include/linux/slab.h:15,
from drivers/mpool/mdc.c:6:
drivers/mpool/mdc.c: In function 'mp_mdc_append':
>> include/linux/kern_levels.h:5:18: warning: format '%lu' expects argument of type 'long unsigned int', but argument 6 has type 'ssize_t' {aka 'int'} [-Wformat=]
5 | #define KERN_SOH "\001" /* ASCII Start Of Header */
| ^~~~~~
include/linux/kern_levels.h:11:18: note: in expansion of macro 'KERN_SOH'
11 | #define KERN_ERR KERN_SOH "3" /* error conditions */
| ^~~~~~~~
include/linux/printk.h:338:9: note: in expansion of macro 'KERN_ERR'
338 | printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~
drivers/mpool/mpool_printk.h:39:3: note: in expansion of macro 'pr_err'
39 | pr_err("%s: " _fmt ": errno %d", \
| ^~~~~~
drivers/mpool/mdc.c:480:3: note: in expansion of macro 'mp_pr_rl'
480 | mp_pr_rl("mpool %s, mdc %p append failed, mlog %p, len %lu sync %d",
| ^~~~~~~~
drivers/mpool/mdc.c:480:60: note: format string is defined here
480 | mp_pr_rl("mpool %s, mdc %p append failed, mlog %p, len %lu sync %d",
| ~~^
| |
| long unsigned int
| %u
--
In file included from arch/m68k/include/asm/io_mm.h:25,
from arch/m68k/include/asm/io.h:8,
from include/linux/io.h:13,
from include/linux/irq.h:20,
from include/asm-generic/hardirq.h:13,
from ./arch/m68k/include/generated/asm/hardirq.h:1,
from include/linux/hardirq.h:10,
from include/linux/highmem.h:10,
from include/linux/pagemap.h:11,
from include/linux/blkdev.h:16,
from drivers/mpool/mpctl.c:14:
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsb':
arch/m68k/include/asm/raw_io.h:83:7: warning: variable '__w' set but not used [-Wunused-but-set-variable]
83 | ({u8 __w, __v = (b); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:430:3: note: in expansion of macro 'rom_out_8'
430 | rom_out_8(port, *buf++);
| ^~~~~~~~~
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsw':
arch/m68k/include/asm/raw_io.h:86:8: warning: variable '__w' set but not used [-Wunused-but-set-variable]
86 | ({u16 __w, __v = (w); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:448:3: note: in expansion of macro 'rom_out_be16'
448 | rom_out_be16(port, *buf++);
| ^~~~~~~~~~~~
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsw_swapw':
arch/m68k/include/asm/raw_io.h:90:8: warning: variable '__w' set but not used [-Wunused-but-set-variable]
90 | ({u16 __w, __v = (w); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:466:3: note: in expansion of macro 'rom_out_le16'
466 | rom_out_le16(port, *buf++);
| ^~~~~~~~~~~~
In file included from include/linux/kernel.h:11,
from drivers/mpool/mpctl.c:6:
include/linux/scatterlist.h: In function 'sg_set_buf':
arch/m68k/include/asm/page_mm.h:169:49: warning: ordered comparison of pointer with null pointer [-Wextra]
169 | #define virt_addr_valid(kaddr) ((void *)(kaddr) >= (void *)PAGE_OFFSET && (void *)(kaddr) < high_memory)
| ^~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
include/linux/scatterlist.h:143:2: note: in expansion of macro 'BUG_ON'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~
include/linux/scatterlist.h:143:10: note: in expansion of macro 'virt_addr_valid'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~~~~~~~~~~
drivers/mpool/mpctl.c: In function 'mpc_open':
>> drivers/mpool/mpctl.c:2393:23: warning: left shift count >= width of type [-Wshift-count-overflow]
2393 | i_size_write(ip, 1ul << 63);
| ^~
--
In file included from arch/m68k/include/asm/io_mm.h:25,
from arch/m68k/include/asm/io.h:8,
from include/linux/io.h:13,
from include/linux/irq.h:20,
from include/asm-generic/hardirq.h:13,
from ./arch/m68k/include/generated/asm/hardirq.h:1,
from include/linux/hardirq.h:10,
from include/linux/interrupt.h:11,
from include/linux/kernel_stat.h:9,
from include/linux/cgroup.h:26,
from include/linux/memcontrol.h:13,
from drivers/mpool/mcache.c:7:
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsb':
arch/m68k/include/asm/raw_io.h:83:7: warning: variable '__w' set but not used [-Wunused-but-set-variable]
83 | ({u8 __w, __v = (b); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:430:3: note: in expansion of macro 'rom_out_8'
430 | rom_out_8(port, *buf++);
| ^~~~~~~~~
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsw':
arch/m68k/include/asm/raw_io.h:86:8: warning: variable '__w' set but not used [-Wunused-but-set-variable]
86 | ({u16 __w, __v = (w); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:448:3: note: in expansion of macro 'rom_out_be16'
448 | rom_out_be16(port, *buf++);
| ^~~~~~~~~~~~
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsw_swapw':
arch/m68k/include/asm/raw_io.h:90:8: warning: variable '__w' set but not used [-Wunused-but-set-variable]
90 | ({u16 __w, __v = (w); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:466:3: note: in expansion of macro 'rom_out_le16'
466 | rom_out_le16(port, *buf++);
| ^~~~~~~~~~~~
In file included from include/linux/kernel.h:11,
from include/linux/list.h:9,
from include/linux/module.h:12,
from drivers/mpool/mcache.c:6:
include/linux/scatterlist.h: In function 'sg_set_buf':
arch/m68k/include/asm/page_mm.h:169:49: warning: ordered comparison of pointer with null pointer [-Wextra]
169 | #define virt_addr_valid(kaddr) ((void *)(kaddr) >= (void *)PAGE_OFFSET && (void *)(kaddr) < high_memory)
| ^~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
include/linux/scatterlist.h:143:2: note: in expansion of macro 'BUG_ON'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~
include/linux/scatterlist.h:143:10: note: in expansion of macro 'virt_addr_valid'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~~~~~~~~~~
drivers/mpool/mcache.c: In function 'mpc_readpages':
>> drivers/mpool/mcache.c:581:3: error: implicit declaration of function 'prefetchw' [-Werror=implicit-function-declaration]
581 | prefetchw(&page->flags);
| ^~~~~~~~~
cc1: some warnings being treated as errors
--
drivers/mpool/reaper.c: In function 'mpc_reap_xvm_add':
>> drivers/mpool/reaper.c:577:12: warning: variable 'mult' set but not used [-Wunused-but-set-variable]
577 | uint idx, mult;
| ^~~~
vim +/prefetchw +581 drivers/mpool/mcache.c
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 499
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 500 static int mpc_readpages(struct file *file, struct address_space *mapping,
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 501 struct list_head *pages, uint nr_pages)
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 502 {
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 503 struct workqueue_struct *wq;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 504 struct readpage_work *w;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 505 struct work_struct *work;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 506 struct mpc_mbinfo *mbinfo;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 507 struct mpc_unit *unit;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 508 struct mpc_xvm *xvm;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 509 struct page *page;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 510 off_t offset, mbend;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 511 uint mbnum, iovmax, i;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 512 uint ra_pages_max;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 513 ulong index;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 514 gfp_t gfp;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 515 u32 key;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 516 int rc;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 517
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 518 unit = file->private_data;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 519
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 520 ra_pages_max = unit->un_ra_pages_max;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 521 if (ra_pages_max < 1)
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 522 return 0;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 523
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 524 page = lru_to_page(pages);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 525 offset = page->index << PAGE_SHIFT;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 526 index = page->index;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 527 work = NULL;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 528 w = NULL;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 529
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 530 key = offset >> xvm_size_max;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 531
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 532 /*
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 533 * The idr value here (xvm) is pinned for the lifetime of the address map.
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 534 * Therefore, we can exit the rcu read-side critsec without worry that xvm will be
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 535 * destroyed before put_page() has been called on each and every page in the given
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 536 * list of pages.
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 537 */
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 538 rcu_read_lock();
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 539 xvm = idr_find(&unit->un_rgnmap.rm_root, key);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 540 rcu_read_unlock();
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 541
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 542 if (!xvm)
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 543 return 0;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 544
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 545 offset %= (1ul << xvm_size_max);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 546
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 547 mbnum = offset / xvm->xvm_bktsz;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 548 if (mbnum >= xvm->xvm_mbinfoc)
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 549 return 0;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 550
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 551 mbinfo = xvm->xvm_mbinfov + mbnum;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 552
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 553 mbend = mbnum * xvm->xvm_bktsz + mbinfo->mblen;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 554 iovmax = MPC_RA_IOV_MAX;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 555
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 556 gfp = mapping_gfp_mask(mapping) & GFP_KERNEL;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 557 wq = mpc_rgn2wq(xvm->xvm_rgn);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 558
f5867898fb79966 Nabeel M Mohamed 2020-09-28 559 if (mpc_reap_xvm_duress(xvm))
f5867898fb79966 Nabeel M Mohamed 2020-09-28 560 nr_pages = min_t(uint, nr_pages, 8);
f5867898fb79966 Nabeel M Mohamed 2020-09-28 561
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 562 nr_pages = min_t(uint, nr_pages, ra_pages_max);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 563
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 564 for (i = 0; i < nr_pages; ++i) {
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 565 page = lru_to_page(pages);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 566 offset = page->index << PAGE_SHIFT;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 567 offset %= (1ul << xvm_size_max);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 568
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 569 /* Don't read past the end of the mblock. */
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 570 if (offset >= mbend)
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 571 break;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 572
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 573 /* mblock reads must be logically contiguous. */
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 574 if (page->index != index && work) {
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 575 queue_work(wq, work);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 576 work = NULL;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 577 }
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 578
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 579 index = page->index + 1; /* next expected page index */
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 580
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 @581 prefetchw(&page->flags);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 582 list_del(&page->lru);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 583
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 584 rc = add_to_page_cache_lru(page, mapping, page->index, gfp);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 585 if (rc) {
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 586 if (work) {
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 587 queue_work(wq, work);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 588 work = NULL;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 589 }
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 590 put_page(page);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 591 continue;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 592 }
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 593
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 594 if (!work) {
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 595 w = page_address(page);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 596 INIT_WORK(&w->w_work, mpc_readpages_cb);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 597 w->w_args.a_xvm = xvm;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 598 w->w_args.a_mbdesc = mbinfo->mbdesc;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 599 w->w_args.a_mboffset = offset % xvm->xvm_bktsz;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 600 w->w_args.a_pagec = 0;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 601 work = &w->w_work;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 602
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 603 iovmax = MPC_RA_IOV_MAX;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 604 iovmax -= page->index % MPC_RA_IOV_MAX;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 605 }
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 606
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 607 w->w_args.a_pagev[w->w_args.a_pagec++] = page;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 608
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 609 /*
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 610 * Restrict batch size to the number of struct kvecs
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 611 * that will fit into a page (minus our header).
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 612 */
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 613 if (w->w_args.a_pagec >= iovmax) {
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 614 queue_work(wq, work);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 615 work = NULL;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 616 }
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 617 }
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 618
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 619 if (work)
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 620 queue_work(wq, work);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 621
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 622 return 0;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 623 }
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 624
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 57283 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH 22/22] mpool: add Kconfig and Makefile
Date: Tue, 29 Sep 2020 07:47:16 +0800 [thread overview]
Message-ID: <202009290752.VLWnaMdz%lkp@intel.com> (raw)
In-Reply-To: <20200928164534.48203-23-nmeeramohide@micron.com>
[-- Attachment #1: Type: text/plain, Size: 25499 bytes --]
Hi,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on linux/master]
[also build test ERROR on linus/master v5.9-rc7 next-20200928]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/nmeeramohide-micron-com/add-Object-Storage-Media-Pool-mpool/20200929-004933
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git bcf876870b95592b52519ed4aafcf9d95999bc9c
config: m68k-allmodconfig (attached as .config)
compiler: m68k-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/0d485fc58582bd112bb72fe15f107e8cbe3536b0
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review nmeeramohide-micron-com/add-Object-Storage-Media-Pool-mpool/20200929-004933
git checkout 0d485fc58582bd112bb72fe15f107e8cbe3536b0
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=m68k
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All error/warnings (new ones prefixed by >>):
In file included from arch/m68k/include/asm/io_mm.h:25,
from arch/m68k/include/asm/io.h:8,
from include/linux/io.h:13,
from include/linux/irq.h:20,
from include/asm-generic/hardirq.h:13,
from ./arch/m68k/include/generated/asm/hardirq.h:1,
from include/linux/hardirq.h:10,
from include/linux/highmem.h:10,
from include/linux/pagemap.h:11,
from include/linux/blkdev.h:16,
from drivers/mpool/pd.c:15:
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsb':
arch/m68k/include/asm/raw_io.h:83:7: warning: variable '__w' set but not used [-Wunused-but-set-variable]
83 | ({u8 __w, __v = (b); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:430:3: note: in expansion of macro 'rom_out_8'
430 | rom_out_8(port, *buf++);
| ^~~~~~~~~
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsw':
arch/m68k/include/asm/raw_io.h:86:8: warning: variable '__w' set but not used [-Wunused-but-set-variable]
86 | ({u16 __w, __v = (w); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:448:3: note: in expansion of macro 'rom_out_be16'
448 | rom_out_be16(port, *buf++);
| ^~~~~~~~~~~~
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsw_swapw':
arch/m68k/include/asm/raw_io.h:90:8: warning: variable '__w' set but not used [-Wunused-but-set-variable]
90 | ({u16 __w, __v = (w); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:466:3: note: in expansion of macro 'rom_out_le16'
466 | rom_out_le16(port, *buf++);
| ^~~~~~~~~~~~
In file included from include/linux/kernel.h:11,
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 drivers/mpool/pd.c:14:
include/linux/scatterlist.h: In function 'sg_set_buf':
arch/m68k/include/asm/page_mm.h:169:49: warning: ordered comparison of pointer with null pointer [-Wextra]
169 | #define virt_addr_valid(kaddr) ((void *)(kaddr) >= (void *)PAGE_OFFSET && (void *)(kaddr) < high_memory)
| ^~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
include/linux/scatterlist.h:143:2: note: in expansion of macro 'BUG_ON'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~
include/linux/scatterlist.h:143:10: note: in expansion of macro 'virt_addr_valid'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~~~~~~~~~~
drivers/mpool/pd.c: In function 'pd_bio_rw':
>> drivers/mpool/pd.c:294:14: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
294 | iov_base = (u64)iov[i].iov_base;
| ^
>> drivers/mpool/pd.c:224:13: warning: variable 'op' set but not used [-Wunused-but-set-variable]
224 | int i, cc, op;
| ^~
--
>> drivers/mpool/omf.c:27: warning: "STR" redefined
27 | #define STR(x) _STR(x)
|
In file included from arch/m68k/include/asm/irqflags.h:8,
from include/linux/irqflags.h:16,
from include/linux/spinlock.h:54,
from include/linux/mmzone.h:8,
from include/linux/gfp.h:6,
from include/linux/slab.h:15,
from drivers/mpool/omf.c:16:
arch/m68k/include/asm/entry.h:244: note: this is the location of the previous definition
244 | #define STR(X) STR1(X)
|
drivers/mpool/omf.c:28:19: warning: 'mpool_sbver' defined but not used [-Wunused-const-variable=]
28 | static const char mpool_sbver[] = "MPOOL_SBVER_" STR(OMF_SB_DESC_VER_LAST);
| ^~~~~~~~~~~
--
In file included from include/linux/printk.h:7,
from include/linux/kernel.h:15,
from include/asm-generic/bug.h:19,
from arch/m68k/include/asm/bug.h:32,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/gfp.h:5,
from include/linux/slab.h:15,
from drivers/mpool/mdc.c:6:
drivers/mpool/mdc.c: In function 'mp_mdc_read':
include/linux/kern_levels.h:5:18: warning: format '%lu' expects argument of type 'long unsigned int', but argument 6 has type 'size_t' {aka 'unsigned int'} [-Wformat=]
5 | #define KERN_SOH "\001" /* ASCII Start Of Header */
| ^~~~~~
include/linux/kern_levels.h:11:18: note: in expansion of macro 'KERN_SOH'
11 | #define KERN_ERR KERN_SOH "3" /* error conditions */
| ^~~~~~~~
include/linux/printk.h:338:9: note: in expansion of macro 'KERN_ERR'
338 | printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~
drivers/mpool/mpool_printk.h:17:2: note: in expansion of macro 'pr_err'
17 | pr_err("%s: " _fmt ": errno %d", __func__, ## __VA_ARGS__, (_err))
| ^~~~~~
drivers/mpool/mdc.c:458:3: note: in expansion of macro 'mp_pr_err'
458 | mp_pr_err("mpool %s, mdc %p read failed, mlog %p len %lu",
| ^~~~~~~~~
drivers/mpool/mdc.c:458:58: note: format string is defined here
458 | mp_pr_err("mpool %s, mdc %p read failed, mlog %p len %lu",
| ~~^
| |
| long unsigned int
| %u
In file included from include/linux/printk.h:7,
from include/linux/kernel.h:15,
from include/asm-generic/bug.h:19,
from arch/m68k/include/asm/bug.h:32,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/gfp.h:5,
from include/linux/slab.h:15,
from drivers/mpool/mdc.c:6:
drivers/mpool/mdc.c: In function 'mp_mdc_append':
>> include/linux/kern_levels.h:5:18: warning: format '%lu' expects argument of type 'long unsigned int', but argument 6 has type 'ssize_t' {aka 'int'} [-Wformat=]
5 | #define KERN_SOH "\001" /* ASCII Start Of Header */
| ^~~~~~
include/linux/kern_levels.h:11:18: note: in expansion of macro 'KERN_SOH'
11 | #define KERN_ERR KERN_SOH "3" /* error conditions */
| ^~~~~~~~
include/linux/printk.h:338:9: note: in expansion of macro 'KERN_ERR'
338 | printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
| ^~~~~~~~
drivers/mpool/mpool_printk.h:39:3: note: in expansion of macro 'pr_err'
39 | pr_err("%s: " _fmt ": errno %d", \
| ^~~~~~
drivers/mpool/mdc.c:480:3: note: in expansion of macro 'mp_pr_rl'
480 | mp_pr_rl("mpool %s, mdc %p append failed, mlog %p, len %lu sync %d",
| ^~~~~~~~
drivers/mpool/mdc.c:480:60: note: format string is defined here
480 | mp_pr_rl("mpool %s, mdc %p append failed, mlog %p, len %lu sync %d",
| ~~^
| |
| long unsigned int
| %u
--
In file included from arch/m68k/include/asm/io_mm.h:25,
from arch/m68k/include/asm/io.h:8,
from include/linux/io.h:13,
from include/linux/irq.h:20,
from include/asm-generic/hardirq.h:13,
from ./arch/m68k/include/generated/asm/hardirq.h:1,
from include/linux/hardirq.h:10,
from include/linux/highmem.h:10,
from include/linux/pagemap.h:11,
from include/linux/blkdev.h:16,
from drivers/mpool/mpctl.c:14:
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsb':
arch/m68k/include/asm/raw_io.h:83:7: warning: variable '__w' set but not used [-Wunused-but-set-variable]
83 | ({u8 __w, __v = (b); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:430:3: note: in expansion of macro 'rom_out_8'
430 | rom_out_8(port, *buf++);
| ^~~~~~~~~
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsw':
arch/m68k/include/asm/raw_io.h:86:8: warning: variable '__w' set but not used [-Wunused-but-set-variable]
86 | ({u16 __w, __v = (w); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:448:3: note: in expansion of macro 'rom_out_be16'
448 | rom_out_be16(port, *buf++);
| ^~~~~~~~~~~~
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsw_swapw':
arch/m68k/include/asm/raw_io.h:90:8: warning: variable '__w' set but not used [-Wunused-but-set-variable]
90 | ({u16 __w, __v = (w); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:466:3: note: in expansion of macro 'rom_out_le16'
466 | rom_out_le16(port, *buf++);
| ^~~~~~~~~~~~
In file included from include/linux/kernel.h:11,
from drivers/mpool/mpctl.c:6:
include/linux/scatterlist.h: In function 'sg_set_buf':
arch/m68k/include/asm/page_mm.h:169:49: warning: ordered comparison of pointer with null pointer [-Wextra]
169 | #define virt_addr_valid(kaddr) ((void *)(kaddr) >= (void *)PAGE_OFFSET && (void *)(kaddr) < high_memory)
| ^~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
include/linux/scatterlist.h:143:2: note: in expansion of macro 'BUG_ON'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~
include/linux/scatterlist.h:143:10: note: in expansion of macro 'virt_addr_valid'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~~~~~~~~~~
drivers/mpool/mpctl.c: In function 'mpc_open':
>> drivers/mpool/mpctl.c:2393:23: warning: left shift count >= width of type [-Wshift-count-overflow]
2393 | i_size_write(ip, 1ul << 63);
| ^~
--
In file included from arch/m68k/include/asm/io_mm.h:25,
from arch/m68k/include/asm/io.h:8,
from include/linux/io.h:13,
from include/linux/irq.h:20,
from include/asm-generic/hardirq.h:13,
from ./arch/m68k/include/generated/asm/hardirq.h:1,
from include/linux/hardirq.h:10,
from include/linux/interrupt.h:11,
from include/linux/kernel_stat.h:9,
from include/linux/cgroup.h:26,
from include/linux/memcontrol.h:13,
from drivers/mpool/mcache.c:7:
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsb':
arch/m68k/include/asm/raw_io.h:83:7: warning: variable '__w' set but not used [-Wunused-but-set-variable]
83 | ({u8 __w, __v = (b); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:430:3: note: in expansion of macro 'rom_out_8'
430 | rom_out_8(port, *buf++);
| ^~~~~~~~~
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsw':
arch/m68k/include/asm/raw_io.h:86:8: warning: variable '__w' set but not used [-Wunused-but-set-variable]
86 | ({u16 __w, __v = (w); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:448:3: note: in expansion of macro 'rom_out_be16'
448 | rom_out_be16(port, *buf++);
| ^~~~~~~~~~~~
arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsw_swapw':
arch/m68k/include/asm/raw_io.h:90:8: warning: variable '__w' set but not used [-Wunused-but-set-variable]
90 | ({u16 __w, __v = (w); u32 _addr = ((u32) (addr)); \
| ^~~
arch/m68k/include/asm/raw_io.h:466:3: note: in expansion of macro 'rom_out_le16'
466 | rom_out_le16(port, *buf++);
| ^~~~~~~~~~~~
In file included from include/linux/kernel.h:11,
from include/linux/list.h:9,
from include/linux/module.h:12,
from drivers/mpool/mcache.c:6:
include/linux/scatterlist.h: In function 'sg_set_buf':
arch/m68k/include/asm/page_mm.h:169:49: warning: ordered comparison of pointer with null pointer [-Wextra]
169 | #define virt_addr_valid(kaddr) ((void *)(kaddr) >= (void *)PAGE_OFFSET && (void *)(kaddr) < high_memory)
| ^~
include/linux/compiler.h:78:42: note: in definition of macro 'unlikely'
78 | # define unlikely(x) __builtin_expect(!!(x), 0)
| ^
include/linux/scatterlist.h:143:2: note: in expansion of macro 'BUG_ON'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~
include/linux/scatterlist.h:143:10: note: in expansion of macro 'virt_addr_valid'
143 | BUG_ON(!virt_addr_valid(buf));
| ^~~~~~~~~~~~~~~
drivers/mpool/mcache.c: In function 'mpc_readpages':
>> drivers/mpool/mcache.c:581:3: error: implicit declaration of function 'prefetchw' [-Werror=implicit-function-declaration]
581 | prefetchw(&page->flags);
| ^~~~~~~~~
cc1: some warnings being treated as errors
--
drivers/mpool/reaper.c: In function 'mpc_reap_xvm_add':
>> drivers/mpool/reaper.c:577:12: warning: variable 'mult' set but not used [-Wunused-but-set-variable]
577 | uint idx, mult;
| ^~~~
vim +/prefetchw +581 drivers/mpool/mcache.c
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 499
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 500 static int mpc_readpages(struct file *file, struct address_space *mapping,
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 501 struct list_head *pages, uint nr_pages)
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 502 {
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 503 struct workqueue_struct *wq;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 504 struct readpage_work *w;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 505 struct work_struct *work;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 506 struct mpc_mbinfo *mbinfo;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 507 struct mpc_unit *unit;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 508 struct mpc_xvm *xvm;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 509 struct page *page;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 510 off_t offset, mbend;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 511 uint mbnum, iovmax, i;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 512 uint ra_pages_max;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 513 ulong index;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 514 gfp_t gfp;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 515 u32 key;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 516 int rc;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 517
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 518 unit = file->private_data;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 519
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 520 ra_pages_max = unit->un_ra_pages_max;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 521 if (ra_pages_max < 1)
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 522 return 0;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 523
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 524 page = lru_to_page(pages);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 525 offset = page->index << PAGE_SHIFT;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 526 index = page->index;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 527 work = NULL;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 528 w = NULL;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 529
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 530 key = offset >> xvm_size_max;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 531
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 532 /*
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 533 * The idr value here (xvm) is pinned for the lifetime of the address map.
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 534 * Therefore, we can exit the rcu read-side critsec without worry that xvm will be
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 535 * destroyed before put_page() has been called on each and every page in the given
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 536 * list of pages.
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 537 */
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 538 rcu_read_lock();
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 539 xvm = idr_find(&unit->un_rgnmap.rm_root, key);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 540 rcu_read_unlock();
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 541
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 542 if (!xvm)
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 543 return 0;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 544
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 545 offset %= (1ul << xvm_size_max);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 546
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 547 mbnum = offset / xvm->xvm_bktsz;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 548 if (mbnum >= xvm->xvm_mbinfoc)
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 549 return 0;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 550
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 551 mbinfo = xvm->xvm_mbinfov + mbnum;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 552
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 553 mbend = mbnum * xvm->xvm_bktsz + mbinfo->mblen;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 554 iovmax = MPC_RA_IOV_MAX;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 555
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 556 gfp = mapping_gfp_mask(mapping) & GFP_KERNEL;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 557 wq = mpc_rgn2wq(xvm->xvm_rgn);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 558
f5867898fb79966 Nabeel M Mohamed 2020-09-28 559 if (mpc_reap_xvm_duress(xvm))
f5867898fb79966 Nabeel M Mohamed 2020-09-28 560 nr_pages = min_t(uint, nr_pages, 8);
f5867898fb79966 Nabeel M Mohamed 2020-09-28 561
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 562 nr_pages = min_t(uint, nr_pages, ra_pages_max);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 563
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 564 for (i = 0; i < nr_pages; ++i) {
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 565 page = lru_to_page(pages);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 566 offset = page->index << PAGE_SHIFT;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 567 offset %= (1ul << xvm_size_max);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 568
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 569 /* Don't read past the end of the mblock. */
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 570 if (offset >= mbend)
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 571 break;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 572
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 573 /* mblock reads must be logically contiguous. */
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 574 if (page->index != index && work) {
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 575 queue_work(wq, work);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 576 work = NULL;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 577 }
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 578
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 579 index = page->index + 1; /* next expected page index */
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 580
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 @581 prefetchw(&page->flags);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 582 list_del(&page->lru);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 583
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 584 rc = add_to_page_cache_lru(page, mapping, page->index, gfp);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 585 if (rc) {
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 586 if (work) {
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 587 queue_work(wq, work);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 588 work = NULL;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 589 }
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 590 put_page(page);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 591 continue;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 592 }
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 593
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 594 if (!work) {
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 595 w = page_address(page);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 596 INIT_WORK(&w->w_work, mpc_readpages_cb);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 597 w->w_args.a_xvm = xvm;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 598 w->w_args.a_mbdesc = mbinfo->mbdesc;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 599 w->w_args.a_mboffset = offset % xvm->xvm_bktsz;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 600 w->w_args.a_pagec = 0;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 601 work = &w->w_work;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 602
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 603 iovmax = MPC_RA_IOV_MAX;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 604 iovmax -= page->index % MPC_RA_IOV_MAX;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 605 }
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 606
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 607 w->w_args.a_pagev[w->w_args.a_pagec++] = page;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 608
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 609 /*
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 610 * Restrict batch size to the number of struct kvecs
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 611 * that will fit into a page (minus our header).
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 612 */
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 613 if (w->w_args.a_pagec >= iovmax) {
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 614 queue_work(wq, work);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 615 work = NULL;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 616 }
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 617 }
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 618
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 619 if (work)
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 620 queue_work(wq, work);
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 621
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 622 return 0;
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 623 }
3114e86da188ef1 Nabeel M Mohamed 2020-09-28 624
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 57283 bytes --]
next prev parent reply other threads:[~2020-09-28 23:48 UTC|newest]
Thread overview: 85+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-28 16:45 [PATCH 00/22] add Object Storage Media Pool (mpool) nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` [PATCH 01/22] mpool: add utility routines and ioctl definitions nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-30 11:27 ` Hillf Danton
2020-09-30 11:27 ` Hillf Danton
2020-09-30 21:49 ` [EXT] " Nabeel Meeramohideen Mohamed (nmeeramohide)
2020-09-30 21:49 ` Nabeel Meeramohideen Mohamed (nmeeramohide)
2020-09-30 21:49 ` Nabeel Meeramohideen Mohamed (nmeeramohide)
2020-09-28 16:45 ` [PATCH 02/22] mpool: add in-memory struct definitions nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` [PATCH 03/22] mpool: add on-media " nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` [PATCH 04/22] mpool: add pool drive component which handles mpool IO using the block layer API nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` [PATCH 05/22] mpool: add space map component which manages free space on mpool devices nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` [PATCH 06/22] mpool: add on-media pack, unpack and upgrade routines nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` [PATCH 07/22] mpool: add superblock management routines nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` [PATCH 08/22] mpool: add pool metadata routines to manage object lifecycle and IO nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` [PATCH 09/22] mpool: add mblock lifecycle management and IO routines nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` [PATCH 10/22] mpool: add mlog IO utility routines nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` [PATCH 11/22] mpool: add mlog lifecycle management and IO routines nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` [PATCH 12/22] mpool: add metadata container or mlog-pair framework nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` [PATCH 13/22] mpool: add utility routines for mpool lifecycle management nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` [PATCH 14/22] mpool: add pool metadata routines to create persistent mpools nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` [PATCH 15/22] mpool: add mpool lifecycle management routines nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` [PATCH 16/22] mpool: add mpool control plane utility routines nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` [PATCH 17/22] mpool: add mpool lifecycle management ioctls nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-30 0:13 ` Randy Dunlap
2020-09-30 0:13 ` Randy Dunlap
2020-09-30 0:13 ` Randy Dunlap
2020-09-30 20:00 ` [EXT] " Nabeel Meeramohideen Mohamed (nmeeramohide)
2020-09-30 20:00 ` Nabeel Meeramohideen Mohamed (nmeeramohide)
2020-09-30 20:00 ` Nabeel Meeramohideen Mohamed (nmeeramohide)
2020-09-30 20:00 ` Nabeel Meeramohideen Mohamed (nmeeramohide)
2020-09-28 16:45 ` [PATCH 18/22] mpool: add object " nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` [PATCH 19/22] mpool: add support to mmap arbitrary collection of mblocks nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` [PATCH 20/22] mpool: add support to proactively evict cached mblock data from the page-cache nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` [PATCH 21/22] mpool: add documentation nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` [PATCH 22/22] mpool: add Kconfig and Makefile nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 16:45 ` nmeeramohide
2020-09-28 23:47 ` kernel test robot [this message]
2020-09-28 23:47 ` kernel test robot
2020-09-28 23:47 ` kernel test robot
2020-09-28 23:47 ` kernel test robot
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=202009290752.VLWnaMdz%lkp@intel.com \
--to=lkp@intel.com \
--cc=gbecker@micron.com \
--cc=jgroves@micron.com \
--cc=kbuild-all@lists.01.org \
--cc=linux-block@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-nvdimm@lists.01.org \
--cc=linux-nvme@lists.infradead.org \
--cc=nmeeramohide@micron.com \
--cc=plabat@micron.com \
--cc=smoyer@micron.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.