Re: [PATCH] io_uring: Fix reversed nonblock flag
Hi "Pavel, Thank you for the patch! Yet something to improve: [auto build test ERROR on linus/master] [cannot apply to v5.4-rc1 next-20191002] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Pavel-Begunkov-Silence/io_uring-Fix-reversed-nonblock-flag/20191004-163432 config: sparc-allyesconfig (attached as .config) compiler: sparc64-linux-gcc (GCC) 7.4.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=7.4.0 make.cross ARCH=sparc If you fix the issue, kindly add following tag Reported-by: kbuild test robot All errors (new ones prefixed by >>): fs/io_uring.c: In function 'io_ring_submit': >> fs/io_uring.c:2764:6: error: 'force_nonblock' undeclared (first use in this >> function); did you mean 'lock_pin_lock'? force_nonblock); ^~ lock_pin_lock fs/io_uring.c:2764:6: note: each undeclared identifier is reported only once for each function it appears in vim +2764 fs/io_uring.c 2697 2698 static int io_ring_submit(struct io_ring_ctx *ctx, unsigned int to_submit, 2699bool block_for_last) 2700 { 2701 struct io_submit_state state, *statep = NULL; 2702 struct io_kiocb *link = NULL; 2703 struct io_kiocb *shadow_req = NULL; 2704 bool prev_was_link = false; 2705 int i, submit = 0; 2706 2707 if (to_submit > IO_PLUG_THRESHOLD) { 2708 io_submit_state_start(&state, ctx, to_submit); 2709 statep = &state; 2710 } 2711 2712 for (i = 0; i < to_submit; i++) { 2713 bool force_nonblock = true; 2714 struct sqe_submit s; 2715 2716 if (!io_get_sqring(ctx, &s)) 2717 break; 2718 2719 /* 2720 * If previous wasn't linked and we have a linked command, 2721 * that's the end of the chain. Submit the previous link. 2722 */ 2723 if (!prev_was_link && link) { 2724 io_queue_link_head(ctx, link, &link->submit, shadow_req, 2725 force_nonblock); 2726 link = NULL; 2727 shadow_req = NULL; 2728 } 2729 prev_was_link = (s.sqe->flags & IOSQE_IO_LINK) != 0; 2730 2731 if (link && (s.sqe->flags & IOSQE_IO_DRAIN)) { 2732 if (!shadow_req) { 2733 shadow_req = io_get_req(ctx, NULL); 2734 if (unlikely(!shadow_req)) 2735 goto out; 2736 shadow_req->flags |= (REQ_F_IO_DRAIN | REQ_F_SHADOW_DRAIN); 2737 refcount_dec(&shadow_req->refs); 2738 } 2739 shadow_req->sequence = s.sequence; 2740 } 2741 2742 out: 2743 s.has_user = true; 2744 s.needs_lock = false; 2745 s.needs_fixed_file = false; 2746 submit++; 2747 2748 /* 2749 * The caller will block for events after submit, submit the 2750 * last IO non-blocking. This is either the only IO it's 2751 * submitting, or it already submitted the previous ones. This 2752 * improves performance by avoiding an async punt that we don't 2753 * need to do. 2754 */ 2755 if (block_for_last && submit == to_submit) 2756 force_nonblock = false; 2757 2758 io_submit_sqe(ctx, &s, statep, &link, force_nonblock); 2759 } 2760 io_commit_sqring(ctx); 2761 2762 if (link) 2763 io_queue_link_head(ctx, link, &link->submit, shadow_req, > 2764 force_nonblock); 2765 if (statep) 2766 io_submit_state_end(statep); 2767 2768 return submit; 2769 } 2770 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH] io_uring: Fix reversed nonblock flag
Hi "Pavel, Thank you for the patch! Yet something to improve: [auto build test ERROR on linus/master] [cannot apply to v5.4-rc1 next-20191004] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Pavel-Begunkov-Silence/io_uring-Fix-reversed-nonblock-flag/20191004-163432 config: m68k-allyesconfig (attached as .config) compiler: m68k-linux-gcc (GCC) 7.4.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=7.4.0 make.cross ARCH=m68k If you fix the issue, kindly add following tag Reported-by: kbuild test robot All errors (new ones prefixed by >>): fs/io_uring.c: In function 'io_ring_submit': >> fs/io_uring.c:2764:6: error: 'force_nonblock' undeclared (first use in this >> function); did you mean 'tcf_block'? force_nonblock); ^~ tcf_block fs/io_uring.c:2764:6: note: each undeclared identifier is reported only once for each function it appears in vim +2764 fs/io_uring.c 2697 2698 static int io_ring_submit(struct io_ring_ctx *ctx, unsigned int to_submit, 2699bool block_for_last) 2700 { 2701 struct io_submit_state state, *statep = NULL; 2702 struct io_kiocb *link = NULL; 2703 struct io_kiocb *shadow_req = NULL; 2704 bool prev_was_link = false; 2705 int i, submit = 0; 2706 2707 if (to_submit > IO_PLUG_THRESHOLD) { 2708 io_submit_state_start(&state, ctx, to_submit); 2709 statep = &state; 2710 } 2711 2712 for (i = 0; i < to_submit; i++) { 2713 bool force_nonblock = true; 2714 struct sqe_submit s; 2715 2716 if (!io_get_sqring(ctx, &s)) 2717 break; 2718 2719 /* 2720 * If previous wasn't linked and we have a linked command, 2721 * that's the end of the chain. Submit the previous link. 2722 */ 2723 if (!prev_was_link && link) { 2724 io_queue_link_head(ctx, link, &link->submit, shadow_req, 2725 force_nonblock); 2726 link = NULL; 2727 shadow_req = NULL; 2728 } 2729 prev_was_link = (s.sqe->flags & IOSQE_IO_LINK) != 0; 2730 2731 if (link && (s.sqe->flags & IOSQE_IO_DRAIN)) { 2732 if (!shadow_req) { 2733 shadow_req = io_get_req(ctx, NULL); 2734 if (unlikely(!shadow_req)) 2735 goto out; 2736 shadow_req->flags |= (REQ_F_IO_DRAIN | REQ_F_SHADOW_DRAIN); 2737 refcount_dec(&shadow_req->refs); 2738 } 2739 shadow_req->sequence = s.sequence; 2740 } 2741 2742 out: 2743 s.has_user = true; 2744 s.needs_lock = false; 2745 s.needs_fixed_file = false; 2746 submit++; 2747 2748 /* 2749 * The caller will block for events after submit, submit the 2750 * last IO non-blocking. This is either the only IO it's 2751 * submitting, or it already submitted the previous ones. This 2752 * improves performance by avoiding an async punt that we don't 2753 * need to do. 2754 */ 2755 if (block_for_last && submit == to_submit) 2756 force_nonblock = false; 2757 2758 io_submit_sqe(ctx, &s, statep, &link, force_nonblock); 2759 } 2760 io_commit_sqring(ctx); 2761 2762 if (link) 2763 io_queue_link_head(ctx, link, &link->submit, shadow_req, > 2764 force_nonblock); 2765 if (statep) 2766 io_submit_state_end(statep); 2767 2768 return submit; 2769 } 2770 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCHv2 4/4] block: Change at_head argument of blk_execute_rq to bool
Hi Marcos, Thank you for the patch! Yet something to improve: [auto build test ERROR on linus/master] [cannot apply to v5.3-rc3 next-20190809] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Marcos-Paulo-de-Souza/block-Remove-request_queue-argument-from-blk_execute_rq_nowait/20190811-113304 config: sparc64-allmodconfig (attached as .config) compiler: sparc64-linux-gcc (GCC) 7.4.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=7.4.0 make.cross ARCH=sparc64 If you fix the issue, kindly add following tag Reported-by: kbuild test robot All errors (new ones prefixed by >>): block/scsi_ioctl.c: In function 'sg_io': >> block/scsi_ioctl.c:309:2: error: expected ';' before 'ret' ret = -ENOMEM; ^~~ vim +309 block/scsi_ioctl.c 3d6392cfbd7dc1 block/scsi_ioctl.c Jens Axboe2007-07-09 277 5842e51ff2e8d6 block/scsi_ioctl.c Al Viro 2008-09-02 278 static int sg_io(struct request_queue *q, struct gendisk *bd_disk, 5842e51ff2e8d6 block/scsi_ioctl.c Al Viro 2008-09-02 279 struct sg_io_hdr *hdr, fmode_t mode) ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds2005-04-16 280 { 3d6392cfbd7dc1 block/scsi_ioctl.c Jens Axboe2007-07-09 281 unsigned long start_time; e0ce0eacb3197a block/scsi_ioctl.c Kent Overstreet 2013-08-07 282 ssize_t ret = 0; e0ce0eacb3197a block/scsi_ioctl.c Kent Overstreet 2013-08-07 283 int writing = 0; e9e1e68597dd4a block/scsi_ioctl.c Marcos Paulo de Souza 2019-08-09 284 bool at_head = false; ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds2005-04-16 285 struct request *rq; 82ed4db499b859 block/scsi_ioctl.c Christoph Hellwig 2017-01-27 286 struct scsi_request *req; 77d172ce2719b5 block/scsi_ioctl.c FUJITA Tomonori 2006-12-11 287 struct bio *bio; ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds2005-04-16 288 ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds2005-04-16 289 if (hdr->interface_id != 'S') ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds2005-04-16 290 return -EINVAL; ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds2005-04-16 291 ae03bf639a5027 block/scsi_ioctl.c Martin K. Petersen2009-05-22 292 if (hdr->dxfer_len > (queue_max_hw_sectors(q) << 9)) ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds2005-04-16 293 return -EIO; ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds2005-04-16 294 f1970baf6d74e0 drivers/block/scsi_ioctl.c James Bottomley 2005-06-20 295 if (hdr->dxfer_len) ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds2005-04-16 296 switch (hdr->dxfer_direction) { ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds2005-04-16 297 default: ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds2005-04-16 298 return -EINVAL; ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds2005-04-16 299 case SG_DXFER_TO_DEV: ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds2005-04-16 300 writing = 1; ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds2005-04-16 301 break; 616e8a091a035c block/scsi_ioctl.c Jens Axboe2006-11-13 302 case SG_DXFER_TO_FROM_DEV: ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds2005-04-16 303 case SG_DXFER_FROM_DEV: ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds2005-04-16 304 break; ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds2005-04-16 305 } d15156138dad40 block/scsi_ioctl.c Douglas Gilbert 2014-07-01 306 if (hdr->flags & SG_FLAG_Q_AT_HEAD) e9e1e68597dd4a block/scsi_ioctl.c Marcos Paulo de Souza 2019-08-09 307 at_head = true ^1da177e4c3f41 drivers/block/scsi_ioctl.c Linus Torvalds2005-04-16 308 a57821cac6bb6e block/scsi_ioctl.c Christoph Hellwig 2014-08-21 @309 ret = -ENOMEM; ff005a066240ef block/scsi_ioctl.c Christoph Hellwig 2018-05-09 310 rq = blk_get_request(q, writing ? REQ_OP_SCSI_OUT : REQ_OP_SCSI_IN, 0); a492f075450f3b block/scsi_ioctl.c Joe Lawrence 2014-08-28 311
Re: [PATCH 2/2] scsi: core: fix dh and multipathing for SCSI hosts without request batching
Hi Steffen, I love your patch! Perhaps something to improve: [auto build test WARNING on linus/master] [cannot apply to v5.3-rc3 next-20190808] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Steffen-Maier/scsi-core-fix-missing-cleanup_rq-for-SCSI-hosts-without-request-batching/20190808-052017 config: i386-randconfig-d003-201931 (attached as .config) compiler: gcc-7 (Debian 7.4.0-10) 7.4.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 If you fix the issue, kindly add following tag Reported-by: kbuild test robot All warnings (new ones prefixed by >>): drivers/scsi/scsi_lib.c:1824:3: error: 'const struct blk_mq_ops' has no member named 'cleanup_rq'; did you mean 'queue_rq'? .cleanup_rq = scsi_cleanup_rq, ^~ queue_rq drivers/scsi/scsi_lib.c:1824:16: error: 'scsi_cleanup_rq' undeclared here (not in a function); did you mean 'scsi_queue_rq'? .cleanup_rq = scsi_cleanup_rq, ^~~ scsi_queue_rq In file included from include/linux/export.h:45:0, from include/linux/linkage.h:7, from include/linux/fs.h:5, from include/linux/highmem.h:5, from include/linux/bio.h:8, from drivers/scsi/scsi_lib.c:12: drivers/scsi/scsi_lib.c: In function 'scsi_device_from_queue': drivers/scsi/scsi_lib.c:1881:20: error: 'scsi_mq_ops_no_commit' undeclared (first use in this function); did you mean 'scsi_mq_ops'? if (q->mq_ops == &scsi_mq_ops_no_commit || ^ include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond)) ^~~~ >> drivers/scsi/scsi_lib.c:1881:2: note: in expansion of macro 'if' if (q->mq_ops == &scsi_mq_ops_no_commit || ^~ drivers/scsi/scsi_lib.c:1881:20: note: each undeclared identifier is reported only once for each function it appears in if (q->mq_ops == &scsi_mq_ops_no_commit || ^ include/linux/compiler.h:58:52: note: in definition of macro '__trace_if_var' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond)) ^~~~ >> drivers/scsi/scsi_lib.c:1881:2: note: in expansion of macro 'if' if (q->mq_ops == &scsi_mq_ops_no_commit || ^~ vim +/if +1881 drivers/scsi/scsi_lib.c 1869 1870 /** 1871 * scsi_device_from_queue - return sdev associated with a request_queue 1872 * @q: The request queue to return the sdev from 1873 * 1874 * Return the sdev associated with a request queue or NULL if the 1875 * request_queue does not reference a SCSI device. 1876 */ 1877 struct scsi_device *scsi_device_from_queue(struct request_queue *q) 1878 { 1879 struct scsi_device *sdev = NULL; 1880 > 1881 if (q->mq_ops == &scsi_mq_ops_no_commit || 1882 q->mq_ops == &scsi_mq_ops) 1883 sdev = q->queuedata; 1884 if (!sdev || !get_device(&sdev->sdev_gendev)) 1885 sdev = NULL; 1886 1887 return sdev; 1888 } 1889 EXPORT_SYMBOL_GPL(scsi_device_from_queue); 1890 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 1/2] scsi: core: fix missing .cleanup_rq for SCSI hosts without request batching
Hi Steffen, I love your patch! Yet something to improve: [auto build test ERROR on linus/master] [cannot apply to v5.3-rc3 next-20190808] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Steffen-Maier/scsi-core-fix-missing-cleanup_rq-for-SCSI-hosts-without-request-batching/20190808-052017 config: s390-allmodconfig (attached as .config) compiler: s390-linux-gcc (GCC) 7.4.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=7.4.0 make.cross ARCH=s390 If you fix the issue, kindly add following tag Reported-by: kbuild test robot All errors (new ones prefixed by >>): drivers//scsi/scsi_lib.c:1824:3: error: 'const struct blk_mq_ops' has no member named 'cleanup_rq'; did you mean 'queue_rq'? .cleanup_rq = scsi_cleanup_rq, ^~ queue_rq drivers//scsi/scsi_lib.c:1824:16: error: 'scsi_cleanup_rq' undeclared here (not in a function); did you mean 'scsi_queue_rq'? .cleanup_rq = scsi_cleanup_rq, ^~~ scsi_queue_rq >> drivers//scsi/scsi_lib.c:1824:16: error: positional initialization of field >> in 'struct' declared with 'designated_init' attribute >> [-Werror=designated-init] drivers//scsi/scsi_lib.c:1824:16: note: (near initialization for 'scsi_mq_ops') cc1: some warnings being treated as errors vim +1824 drivers//scsi/scsi_lib.c 1811 1812 static const struct blk_mq_ops scsi_mq_ops = { 1813 .get_budget = scsi_mq_get_budget, 1814 .put_budget = scsi_mq_put_budget, 1815 .queue_rq = scsi_queue_rq, 1816 .complete = scsi_softirq_done, 1817 .timeout= scsi_timeout, 1818 #ifdef CONFIG_BLK_DEBUG_FS 1819 .show_rq= scsi_show_rq, 1820 #endif 1821 .init_request = scsi_mq_init_request, 1822 .exit_request = scsi_mq_exit_request, 1823 .initialize_rq_fn = scsi_initialize_rq, > 1824 .cleanup_rq = scsi_cleanup_rq, 1825 .busy = scsi_mq_lld_busy, 1826 .map_queues = scsi_map_queues, 1827 }; 1828 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 2/2] scsi: core: fix dh and multipathing for SCSI hosts without request batching
Hi Steffen, I love your patch! Yet something to improve: [auto build test ERROR on linus/master] [cannot apply to v5.3-rc3 next-20190807] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Steffen-Maier/scsi-core-fix-missing-cleanup_rq-for-SCSI-hosts-without-request-batching/20190808-052017 config: riscv-defconfig (attached as .config) compiler: riscv64-linux-gcc (GCC) 7.4.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=7.4.0 make.cross ARCH=riscv If you fix the issue, kindly add following tag Reported-by: kbuild test robot All errors (new ones prefixed by >>): drivers/scsi/scsi_lib.c:1824:3: error: 'const struct blk_mq_ops' has no member named 'cleanup_rq'; did you mean 'queue_rq'? .cleanup_rq = scsi_cleanup_rq, ^~ queue_rq drivers/scsi/scsi_lib.c:1824:16: error: 'scsi_cleanup_rq' undeclared here (not in a function); did you mean 'scsi_queue_rq'? .cleanup_rq = scsi_cleanup_rq, ^~~ scsi_queue_rq drivers/scsi/scsi_lib.c: In function 'scsi_device_from_queue': >> drivers/scsi/scsi_lib.c:1881:20: error: 'scsi_mq_ops_no_commit' undeclared >> (first use in this function); did you mean 'scsi_mq_ops'? if (q->mq_ops == &scsi_mq_ops_no_commit || ^ scsi_mq_ops drivers/scsi/scsi_lib.c:1881:20: note: each undeclared identifier is reported only once for each function it appears in vim +1881 drivers/scsi/scsi_lib.c 1811 1812 static const struct blk_mq_ops scsi_mq_ops = { 1813 .get_budget = scsi_mq_get_budget, 1814 .put_budget = scsi_mq_put_budget, 1815 .queue_rq = scsi_queue_rq, 1816 .complete = scsi_softirq_done, 1817 .timeout= scsi_timeout, 1818 #ifdef CONFIG_BLK_DEBUG_FS 1819 .show_rq= scsi_show_rq, 1820 #endif 1821 .init_request = scsi_mq_init_request, 1822 .exit_request = scsi_mq_exit_request, 1823 .initialize_rq_fn = scsi_initialize_rq, > 1824 .cleanup_rq = scsi_cleanup_rq, 1825 .busy = scsi_mq_lld_busy, 1826 .map_queues = scsi_map_queues, 1827 }; 1828 1829 struct request_queue *scsi_mq_alloc_queue(struct scsi_device *sdev) 1830 { 1831 sdev->request_queue = blk_mq_init_queue(&sdev->host->tag_set); 1832 if (IS_ERR(sdev->request_queue)) 1833 return NULL; 1834 1835 sdev->request_queue->queuedata = sdev; 1836 __scsi_init_queue(sdev->host, sdev->request_queue); 1837 blk_queue_flag_set(QUEUE_FLAG_SCSI_PASSTHROUGH, sdev->request_queue); 1838 return sdev->request_queue; 1839 } 1840 1841 int scsi_mq_setup_tags(struct Scsi_Host *shost) 1842 { 1843 unsigned int cmd_size, sgl_size; 1844 1845 sgl_size = scsi_mq_inline_sgl_size(shost); 1846 cmd_size = sizeof(struct scsi_cmnd) + shost->hostt->cmd_size + sgl_size; 1847 if (scsi_host_get_prot(shost)) 1848 cmd_size += sizeof(struct scsi_data_buffer) + 1849 sizeof(struct scatterlist) * SCSI_INLINE_PROT_SG_CNT; 1850 1851 memset(&shost->tag_set, 0, sizeof(shost->tag_set)); 1852 shost->tag_set.ops = &scsi_mq_ops; 1853 shost->tag_set.nr_hw_queues = shost->nr_hw_queues ? : 1; 1854 shost->tag_set.queue_depth = shost->can_queue; 1855 shost->tag_set.cmd_size = cmd_size; 1856 shost->tag_set.numa_node = NUMA_NO_NODE; 1857 shost->tag_set.flags = BLK_MQ_F_SHOULD_MERGE; 1858 shost->tag_set.flags |= 1859 BLK_ALLOC_POLICY_TO_MQ_FLAG(shost->hostt->tag_alloc_policy); 1860 shost->tag_set.driver_data = shost; 1861 1862 return blk_mq_alloc_tag_set(&shost->tag_set); 1863 } 1864 1865 void scsi_mq_destroy_tags(struct Scsi_Host *shost) 1866 { 1867 blk_mq_free_tag_set(&shost->tag_set); 1868 } 1869 1870 /** 1871 * scsi_device_from_queue - return sdev associated with a request_queue 1872 * @q: The request queue to return the sdev from 1873 * 1874 * Return the sdev associated with a request queue or NULL if the 1875 * request_queue does not reference a SCSI device. 1876 */ 1877 struct scsi_device *scsi_device_from_queue(struct request_queue *q) 187
Re: [PATCH 1/2] scsi: core: fix missing .cleanup_rq for SCSI hosts without request batching
Hi Steffen, I love your patch! Yet something to improve: [auto build test ERROR on linus/master] [cannot apply to v5.3-rc3 next-20190807] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Steffen-Maier/scsi-core-fix-missing-cleanup_rq-for-SCSI-hosts-without-request-batching/20190808-052017 config: riscv-defconfig (attached as .config) compiler: riscv64-linux-gcc (GCC) 7.4.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=7.4.0 make.cross ARCH=riscv If you fix the issue, kindly add following tag Reported-by: kbuild test robot All errors (new ones prefixed by >>): >> drivers/scsi/scsi_lib.c:1824:3: error: 'const struct blk_mq_ops' has no >> member named 'cleanup_rq'; did you mean 'queue_rq'? .cleanup_rq = scsi_cleanup_rq, ^~ queue_rq >> drivers/scsi/scsi_lib.c:1824:16: error: 'scsi_cleanup_rq' undeclared here >> (not in a function); did you mean 'scsi_queue_rq'? .cleanup_rq = scsi_cleanup_rq, ^~~ scsi_queue_rq vim +1824 drivers/scsi/scsi_lib.c 1811 1812 static const struct blk_mq_ops scsi_mq_ops = { 1813 .get_budget = scsi_mq_get_budget, 1814 .put_budget = scsi_mq_put_budget, 1815 .queue_rq = scsi_queue_rq, 1816 .complete = scsi_softirq_done, 1817 .timeout= scsi_timeout, 1818 #ifdef CONFIG_BLK_DEBUG_FS 1819 .show_rq= scsi_show_rq, 1820 #endif 1821 .init_request = scsi_mq_init_request, 1822 .exit_request = scsi_mq_exit_request, 1823 .initialize_rq_fn = scsi_initialize_rq, > 1824 .cleanup_rq = scsi_cleanup_rq, 1825 .busy = scsi_mq_lld_busy, 1826 .map_queues = scsi_map_queues, 1827 }; 1828 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH v2 1/3] block: introduce LED block device activity trigger
Hi Akinobu, I love your patch! Yet something to improve: [auto build test ERROR on linus/master] [cannot apply to v5.3-rc1 next-20190722] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Akinobu-Mita/block-introduce-LED-block-device-activity-trigger/20190723-074956 config: x86_64-rhel (attached as .config) compiler: gcc-7 (Debian 7.4.0-10) 7.4.0 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 If you fix the issue, kindly add following tag Reported-by: kbuild test robot All errors (new ones prefixed by >>): In file included from drivers/scsi/mvsas/mv_94xx.c:11:0: >> drivers/scsi/mvsas/mv_94xx.h:278:2: error: redeclaration of enumerator >> 'LED_OFF' LED_OFF = 0, ^~~ In file included from include/linux/genhd.h:20:0, from include/linux/blkdev.h:11, from include/linux/blk-mq.h:5, from include/scsi/scsi_host.h:11, from include/linux/libata.h:21, from include/scsi/libsas.h:16, from drivers/scsi/mvsas/mv_sas.h:27, from drivers/scsi/mvsas/mv_94xx.c:10: include/linux/leds.h:27:2: note: previous definition of 'LED_OFF' was here LED_OFF = 0, ^~~ In file included from drivers/scsi/mvsas/mv_94xx.c:11:0: >> drivers/scsi/mvsas/mv_94xx.h:279:2: error: redeclaration of enumerator >> 'LED_ON' LED_ON = 1, ^~ In file included from include/linux/genhd.h:20:0, from include/linux/blkdev.h:11, from include/linux/blk-mq.h:5, from include/scsi/scsi_host.h:11, from include/linux/libata.h:21, from include/scsi/libsas.h:16, from drivers/scsi/mvsas/mv_sas.h:27, from drivers/scsi/mvsas/mv_94xx.c:10: include/linux/leds.h:28:2: note: previous definition of 'LED_ON' was here LED_ON = 1, ^~ vim +/LED_OFF +278 drivers/scsi/mvsas/mv_94xx.h c56f5f1de3a6ab8 Wilfried Weissmann 2015-12-27 276 c56f5f1de3a6ab8 Wilfried Weissmann 2015-12-27 277 enum sgpio_led_status { c56f5f1de3a6ab8 Wilfried Weissmann 2015-12-27 @278 LED_OFF = 0, c56f5f1de3a6ab8 Wilfried Weissmann 2015-12-27 @279 LED_ON = 1, c56f5f1de3a6ab8 Wilfried Weissmann 2015-12-27 280 LED_BLINKA = 2, c56f5f1de3a6ab8 Wilfried Weissmann 2015-12-27 281 LED_BLINKA_INV = 3, c56f5f1de3a6ab8 Wilfried Weissmann 2015-12-27 282 LED_BLINKA_SOF = 4, c56f5f1de3a6ab8 Wilfried Weissmann 2015-12-27 283 LED_BLINKA_EOF = 5, c56f5f1de3a6ab8 Wilfried Weissmann 2015-12-27 284 LED_BLINKB = 6, c56f5f1de3a6ab8 Wilfried Weissmann 2015-12-27 285 LED_BLINKB_INV = 7, c56f5f1de3a6ab8 Wilfried Weissmann 2015-12-27 286 }; c56f5f1de3a6ab8 Wilfried Weissmann 2015-12-27 287 c56f5f1de3a6ab8 Wilfried Weissmann 2015-12-27 288 #define DEFAULT_SGPIO_BITS ((LED_BLINKA_SOF << \ c56f5f1de3a6ab8 Wilfried Weissmann 2015-12-27 289 MVS_SGPIO_DCTRL_ACT_SHIFT) << (8 * 3) | \ c56f5f1de3a6ab8 Wilfried Weissmann 2015-12-27 290 (LED_BLINKA_SOF << \ c56f5f1de3a6ab8 Wilfried Weissmann 2015-12-27 291 MVS_SGPIO_DCTRL_ACT_SHIFT) << (8 * 2) | \ c56f5f1de3a6ab8 Wilfried Weissmann 2015-12-27 292 (LED_BLINKA_SOF << \ c56f5f1de3a6ab8 Wilfried Weissmann 2015-12-27 293 MVS_SGPIO_DCTRL_ACT_SHIFT) << (8 * 1) | \ c56f5f1de3a6ab8 Wilfried Weissmann 2015-12-27 294 (LED_BLINKA_SOF << \ c56f5f1de3a6ab8 Wilfried Weissmann 2015-12-27 295 MVS_SGPIO_DCTRL_ACT_SHIFT) << (8 * 0)) c56f5f1de3a6ab8 Wilfried Weissmann 2015-12-27 296 f1f82a919d7fff2 Xiangliang Yu 2011-05-24 297 /* f1f82a919d7fff2 Xiangliang Yu 2011-05-24 298 * these registers are accessed through port vendor f1f82a919d7fff2 Xiangliang Yu 2011-05-24 299 * specific address/data registers f1f82a919d7fff2 Xiangliang Yu 2011-05-24 300 */ f1f82a919d7fff2 Xiangliang Yu 2011-05-24 301 enum sas_sata_phy_regs { f1f82a919d7fff2 Xiangliang Yu 2011-05-24 302 GENERATION_1_SETTING = 0x118, f1f82a919d7fff2 Xiangliang Yu 2011-05-24 303 GENERATION_1_2_SETTING = 0x11C, f1f82a919d7fff2 Xiangliang Yu 2011-05-24 304 GENERATION_2_3_SETTING = 0x120, f1f82a919d7fff2 Xiangliang Yu 2011-05-24 305 GENERATION_3_4_SETTING = 0x124, f1f82a919d7fff2 Xiangliang Yu 2011-05-24 306 }; f1f82a919d7fff2 Xiangliang Yu 2011-05-24 307 20b09c2992fefbe Andy Yan 2009-05-08 308 #define SPI_CTRL_REG_94XX
Re: [PATCH v2 1/3] block: introduce LED block device activity trigger
Hi Akinobu, I love your patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v5.3-rc1 next-20190722] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Akinobu-Mita/block-introduce-LED-block-device-activity-trigger/20190723-074956 config: x86_64-fedora-25 (attached as .config) compiler: gcc-7 (Debian 7.4.0-10) 7.4.0 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 If you fix the issue, kindly add following tag Reported-by: kbuild test robot All error/warnings (new ones prefixed by >>): In file included from drivers/block/umem.c:52:0: >> drivers/block/umem.h:39:19: error: expected identifier before numeric >> constant #define LED_OFF 0x00 ^ >> include/linux/leds.h:27:2: note: in expansion of macro 'LED_OFF' LED_OFF = 0, ^~~ vim +/LED_OFF +27 include/linux/leds.h af410fc1 Johannes Berg 2006-09-29 19 c72a1d60 Richard Purdie 2006-03-31 20 struct device; 5fd752b6 Baolin Wang2018-10-11 21 struct led_pattern; c72a1d60 Richard Purdie 2006-03-31 22 /* c72a1d60 Richard Purdie 2006-03-31 23 * LED Core c72a1d60 Richard Purdie 2006-03-31 24 */ c72a1d60 Richard Purdie 2006-03-31 25 c72a1d60 Richard Purdie 2006-03-31 26 enum led_brightness { c72a1d60 Richard Purdie 2006-03-31 @27 LED_OFF = 0, 4e552c8c Andi Shyti 2017-01-05 28 LED_ON = 1, c72a1d60 Richard Purdie 2006-03-31 29 LED_HALF= 127, c72a1d60 Richard Purdie 2006-03-31 30 LED_FULL= 255, c72a1d60 Richard Purdie 2006-03-31 31 }; c72a1d60 Richard Purdie 2006-03-31 32 :: The code at line 27 was first introduced by commit :: c72a1d608dd0eb3d553a08bfdf1c0041bebaa8a0 [PATCH] LED: add LED class :: TO: Richard Purdie :: CC: Linus Torvalds --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 2/3] sd_zbc: Fix report zones buffer allocation
Hi Damien, I love your patch! Yet something to improve: [auto build test ERROR on block/for-next] [also build test ERROR on v5.2-rc6 next-20190621] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Damien-Le-Moal/Fix-zone-revalidation-memory-allocation-failures/20190625-175053 base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next config: sparc64-allyesconfig (attached as .config) compiler: sparc64-linux-gcc (GCC) 7.4.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=7.4.0 make.cross ARCH=sparc64 If you fix the issue, kindly add following tag Reported-by: kbuild test robot All error/warnings (new ones prefixed by >>): drivers/scsi/sd_zbc.c: In function 'sd_zbc_alloc_report_buffer': >> drivers/scsi/sd_zbc.c:141:8: error: implicit declaration of function >> '__vmalloc'; did you mean '__kmalloc'? >> [-Werror=implicit-function-declaration] buf = __vmalloc(bufsize, gfp_mask, PAGE_KERNEL); ^ __kmalloc >> drivers/scsi/sd_zbc.c:141:6: warning: assignment makes pointer from integer >> without a cast [-Wint-conversion] buf = __vmalloc(bufsize, gfp_mask, PAGE_KERNEL); ^ cc1: some warnings being treated as errors vim +141 drivers/scsi/sd_zbc.c 110 111 /** 112 * Allocate a buffer for report zones reply. 113 * @disk: The target disk 114 * @nr_zones: Maximum number of zones to report 115 * @buflen: Size of the buffer allocated 116 * @gfp_mask: Memory allocation mask 117 * 118 */ 119 static void *sd_zbc_alloc_report_buffer(struct request_queue *q, 120 unsigned int nr_zones, size_t *buflen, 121 gfp_t gfp_mask) 122 { 123 size_t bufsize; 124 void *buf; 125 126 /* 127 * Report zone buffer size should be at most 64B times the number of 128 * zones requested plus the 64B reply header, but should be at least 129 * SECTOR_SIZE for ATA devices. 130 * Make sure that this size does not exceed the hardware capabilities. 131 * Furthermore, since the report zone command cannot be split, make 132 * sure that the allocated buffer can always be mapped by limiting the 133 * number of pages allocated to the HBA max segments limit. 134 */ 135 nr_zones = min(nr_zones, SD_ZBC_REPORT_MAX_ZONES); 136 bufsize = roundup((nr_zones + 1) * 64, 512); 137 bufsize = min_t(size_t, bufsize, 138 queue_max_hw_sectors(q) << SECTOR_SHIFT); 139 bufsize = min_t(size_t, bufsize, queue_max_segments(q) << PAGE_SHIFT); 140 > 141 buf = __vmalloc(bufsize, gfp_mask, PAGE_KERNEL); 142 if (buf) 143 *buflen = bufsize; 144 145 return buf; 146 } 147 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH V2] block: clarify that bio_add_page() and related helpers can add multi pages
Hi Ming, Thank you for the patch! Yet something to improve: [auto build test ERROR on block/for-next] [also build test ERROR on next-20190418] [cannot apply to v5.1-rc6] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Ming-Lei/block-clarify-that-bio_add_page-and-related-helpers-can-add-multi-pages/20190423-010505 base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next config: x86_64-randconfig-x015-201916 (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 If you fix the issue, kindly add following tag Reported-by: kbuild test robot All errors (new ones prefixed by >>): In file included from arch/x86/include/asm/bug.h:83:0, from include/linux/bug.h:5, from include/linux/mmdebug.h:5, from include/linux/mm.h:9, from block/bio.c:18: block/bio.c: In function 'can_add_page_to_seg': >> block/bio.c:691:15: error: 'same_page' undeclared (first use in this >> function); did you mean 'shake_page'? WARN_ON_ONCE(same_page && (len + off) > PAGE_SIZE); ^ include/asm-generic/bug.h:69:25: note: in definition of macro 'WARN_ON_ONCE' int __ret_warn_on = !!(condition); \ ^ block/bio.c:691:15: note: each undeclared identifier is reported only once for each function it appears in WARN_ON_ONCE(same_page && (len + off) > PAGE_SIZE); ^ include/asm-generic/bug.h:69:25: note: in definition of macro 'WARN_ON_ONCE' int __ret_warn_on = !!(condition); \ ^ >> block/bio.c:691:35: error: 'off' undeclared (first use in this function) WARN_ON_ONCE(same_page && (len + off) > PAGE_SIZE); ^ include/asm-generic/bug.h:69:25: note: in definition of macro 'WARN_ON_ONCE' int __ret_warn_on = !!(condition); \ ^ vim +691 block/bio.c 672 673 /* 674 * Check if the @page can be added to the current segment(@bv), and make 675 * sure to call it only if page_is_mergeable(@bv, @page) is true 676 */ 677 static bool can_add_page_to_seg(struct request_queue *q, 678 struct bio_vec *bv, struct page *page, unsigned len, 679 unsigned offset) 680 { 681 unsigned long mask = queue_segment_boundary(q); 682 phys_addr_t addr1 = page_to_phys(bv->bv_page) + bv->bv_offset; 683 phys_addr_t addr2 = page_to_phys(page) + offset + len - 1; 684 685 if ((addr1 | mask) != (addr2 | mask)) 686 return false; 687 688 if (bv->bv_len + len > queue_max_segment_size(q)) 689 return false; 690 > 691 WARN_ON_ONCE(same_page && (len + off) > PAGE_SIZE); 692 693 return true; 694 } 695 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH v3] blkcg: prevent priority inversion problem during sync()
Hi Andrea, Thank you for the patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v5.0 next-20190306] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Andrea-Righi/blkcg-prevent-priority-inversion-problem-during-sync/20190310-020543 config: i386-randconfig-s1-201910 (attached as .config) compiler: gcc-6 (Debian 6.5.0-2) 6.5.0 20181026 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): fs/fs-writeback.c: In function 'sync_inodes_sb': >> fs/fs-writeback.c:2450:2: error: implicit declaration of function >> 'blkcg_start_wb_wait_on_bdi' [-Werror=implicit-function-declaration] blkcg_start_wb_wait_on_bdi(bdi); ^~ >> fs/fs-writeback.c:2460:2: error: implicit declaration of function >> 'blkcg_stop_wb_wait_on_bdi' [-Werror=implicit-function-declaration] blkcg_stop_wb_wait_on_bdi(bdi); ^ cc1: some warnings being treated as errors vim +/blkcg_start_wb_wait_on_bdi +2450 fs/fs-writeback.c 2419 2420 /** 2421 * sync_inodes_sb - sync sb inode pages 2422 * @sb: the superblock 2423 * 2424 * This function writes and waits on any dirty inode belonging to this 2425 * super_block. 2426 */ 2427 void sync_inodes_sb(struct super_block *sb) 2428 { 2429 DEFINE_WB_COMPLETION_ONSTACK(done); 2430 struct wb_writeback_work work = { 2431 .sb = sb, 2432 .sync_mode = WB_SYNC_ALL, 2433 .nr_pages = LONG_MAX, 2434 .range_cyclic = 0, 2435 .done = &done, 2436 .reason = WB_REASON_SYNC, 2437 .for_sync = 1, 2438 }; 2439 struct backing_dev_info *bdi = sb->s_bdi; 2440 2441 /* 2442 * Can't skip on !bdi_has_dirty() because we should wait for !dirty 2443 * inodes under writeback and I_DIRTY_TIME inodes ignored by 2444 * bdi_has_dirty() need to be written out too. 2445 */ 2446 if (bdi == &noop_backing_dev_info) 2447 return; 2448 WARN_ON(!rwsem_is_locked(&sb->s_umount)); 2449 > 2450 blkcg_start_wb_wait_on_bdi(bdi); 2451 2452 /* protect against inode wb switch, see inode_switch_wbs_work_fn() */ 2453 bdi_down_write_wb_switch_rwsem(bdi); 2454 bdi_split_work_to_wbs(bdi, &work, false); 2455 wb_wait_for_completion(bdi, &done); 2456 bdi_up_write_wb_switch_rwsem(bdi); 2457 2458 wait_sb_inodes(sb); 2459 > 2460 blkcg_stop_wb_wait_on_bdi(bdi); 2461 } 2462 EXPORT_SYMBOL(sync_inodes_sb); 2463 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH v3] blkcg: prevent priority inversion problem during sync()
Hi Andrea, Thank you for the patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v5.0 next-20190306] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Andrea-Righi/blkcg-prevent-priority-inversion-problem-during-sync/20190310-020543 config: riscv-tinyconfig (attached as .config) compiler: riscv64-linux-gcc (GCC) 8.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=8.2.0 make.cross ARCH=riscv All errors (new ones prefixed by >>): fs/sync.c: In function 'sync_fs_one_sb': >> fs/sync.c:83:3: error: implicit declaration of function >> 'blkcg_start_wb_wait_on_bdi' [-Werror=implicit-function-declaration] blkcg_start_wb_wait_on_bdi(bdi); ^~ >> fs/sync.c:85:3: error: implicit declaration of function >> 'blkcg_stop_wb_wait_on_bdi' [-Werror=implicit-function-declaration] blkcg_stop_wb_wait_on_bdi(bdi); ^ cc1: some warnings being treated as errors vim +/blkcg_start_wb_wait_on_bdi +83 fs/sync.c 77 78 static void sync_fs_one_sb(struct super_block *sb, void *arg) 79 { 80 struct backing_dev_info *bdi = sb->s_bdi; 81 82 if (!sb_rdonly(sb) && sb->s_op->sync_fs) { > 83 blkcg_start_wb_wait_on_bdi(bdi); 84 sb->s_op->sync_fs(sb, *(int *)arg); > 85 blkcg_stop_wb_wait_on_bdi(bdi); 86 } 87 } 88 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH v4 11/16] block: sed-opal: ioctl for writing to shadow mbr
Hi Jonas, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on block/for-next] [also build test WARNING on v5.0-rc4 next-20190204] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/David-Kozub/block-sed-opal-support-shadow-MBR-done-flag-and-write/20190205-005425 base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next config: i386-randconfig-x002-201905 (attached as .config) compiler: gcc-8 (Debian 8.2.0-14) 8.2.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 All warnings (new ones prefixed by >>): block/sed-opal.c: In function 'write_shadow_mbr': >> block/sed-opal.c:1520:8: warning: cast to pointer from integer of different >> size [-Wint-to-pointer-cast] src = (u8 *) shadow->data; ^ vim +1520 block/sed-opal.c 1509 1510 static int write_shadow_mbr(struct opal_dev *dev, void *data) 1511 { 1512 struct opal_shadow_mbr *shadow = data; 1513 const u8 __user *src; 1514 u8 *dst; 1515 size_t off = 0; 1516 u64 len; 1517 int err = 0; 1518 1519 /* do the actual transmission(s) */ > 1520 src = (u8 *) shadow->data; 1521 while (off < shadow->size) { 1522 err = cmd_start(dev, opaluid[OPAL_MBR], opalmethod[OPAL_SET]); 1523 add_token_u8(&err, dev, OPAL_STARTNAME); 1524 add_token_u8(&err, dev, OPAL_WHERE); 1525 add_token_u64(&err, dev, shadow->offset + off); 1526 add_token_u8(&err, dev, OPAL_ENDNAME); 1527 1528 add_token_u8(&err, dev, OPAL_STARTNAME); 1529 add_token_u8(&err, dev, OPAL_VALUES); 1530 1531 /* 1532 * The bytestring header is either 1 or 2 bytes, so assume 2. 1533 * There also needs to be enough space to accommodate the 1534 * trailing OPAL_ENDNAME (1 byte) and tokens added by 1535 * cmd_finalize. 1536 */ 1537 len = min(remaining_size(dev) - (2+1+CMD_FINALIZE_BYTES_NEEDED), 1538(size_t)(shadow->size - off)); 1539 pr_debug("MBR: write bytes %zu+%llu/%llu\n", 1540 off, len, shadow->size); 1541 1542 dst = add_bytestring_header(&err, dev, len); 1543 if (!dst) 1544 break; 1545 if (copy_from_user(dst, src + off, len)) 1546 err = -EFAULT; 1547 dev->pos += len; 1548 1549 add_token_u8(&err, dev, OPAL_ENDNAME); 1550 if (err) 1551 break; 1552 1553 err = finalize_and_send(dev, parse_and_check_status); 1554 if (err) 1555 break; 1556 1557 off += len; 1558 } 1559 return err; 1560 } 1561 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH] block: Change to use DEFINE_SHOW_ATTRIBUTE macro
Hi Yangtao, Thank you for the patch! Yet something to improve: [auto build test ERROR on block/for-next] [also build test ERROR on v4.20-rc4 next-20181130] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Yangtao-Li/block-Change-to-use-DEFINE_SHOW_ATTRIBUTE-macro/20181201-211704 base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next config: i386-randconfig-x075-201847 (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): >> drivers//block/pktcdvd.c:2244:12: error: conflicting types for 'pkt_open' static int pkt_open(struct block_device *bdev, fmode_t mode) ^~~~ In file included from include/linux/cgroup.h:18:0, from include/linux/kthread.h:7, from drivers//block/pktcdvd.c:54: drivers//block/pktcdvd.c:455:23: note: previous definition of 'pkt_open' was here DEFINE_SHOW_ATTRIBUTE(pkt); ^ include/linux/seq_file.h:149:12: note: in definition of macro 'DEFINE_SHOW_ATTRIBUTE' static int __name ## _open(struct inode *inode, struct file *file) \ ^~ vim +/pkt_open +2244 drivers//block/pktcdvd.c ^1da177e Linus Torvalds 2005-04-16 2243 5e5e007c Al Viro 2008-03-02 @2244 static int pkt_open(struct block_device *bdev, fmode_t mode) ^1da177e Linus Torvalds 2005-04-16 2245 { ^1da177e Linus Torvalds 2005-04-16 2246 struct pktcdvd_device *pd = NULL; ^1da177e Linus Torvalds 2005-04-16 2247 int ret; ^1da177e Linus Torvalds 2005-04-16 2248 2a48fc0a Arnd Bergmann 2010-06-02 2249 mutex_lock(&pktcdvd_mutex); 1657f824 Jes Sorensen2006-03-23 2250 mutex_lock(&ctl_mutex); 5e5e007c Al Viro 2008-03-02 2251 pd = pkt_find_dev_from_minor(MINOR(bdev->bd_dev)); ^1da177e Linus Torvalds 2005-04-16 2252 if (!pd) { ^1da177e Linus Torvalds 2005-04-16 2253 ret = -ENODEV; ^1da177e Linus Torvalds 2005-04-16 2254 goto out; ^1da177e Linus Torvalds 2005-04-16 2255 } ^1da177e Linus Torvalds 2005-04-16 2256 BUG_ON(pd->refcnt < 0); ^1da177e Linus Torvalds 2005-04-16 2257 ^1da177e Linus Torvalds 2005-04-16 2258 pd->refcnt++; 46f4e1b7 Peter Osterlund 2005-05-20 2259 if (pd->refcnt > 1) { 5e5e007c Al Viro 2008-03-02 2260 if ((mode & FMODE_WRITE) && 46f4e1b7 Peter Osterlund 2005-05-20 2261 !test_bit(PACKET_WRITABLE, &pd->flags)) { 46f4e1b7 Peter Osterlund 2005-05-20 2262 ret = -EBUSY; 46f4e1b7 Peter Osterlund 2005-05-20 2263 goto out_dec; 46f4e1b7 Peter Osterlund 2005-05-20 2264 } 46f4e1b7 Peter Osterlund 2005-05-20 2265 } else { 5e5e007c Al Viro 2008-03-02 2266 ret = pkt_open_dev(pd, mode & FMODE_WRITE); 01fd9fda Peter Osterlund 2006-02-14 2267 if (ret) ^1da177e Linus Torvalds 2005-04-16 2268 goto out_dec; ^1da177e Linus Torvalds 2005-04-16 2269 /* ^1da177e Linus Torvalds 2005-04-16 2270* needed here as well, since ext2 (among others) may change ^1da177e Linus Torvalds 2005-04-16 2271* the blocksize at mount time ^1da177e Linus Torvalds 2005-04-16 2272*/ 5e5e007c Al Viro 2008-03-02 2273 set_blocksize(bdev, CD_FRAMESIZE); ^1da177e Linus Torvalds 2005-04-16 2274 } ^1da177e Linus Torvalds 2005-04-16 2275 1657f824 Jes Sorensen2006-03-23 2276 mutex_unlock(&ctl_mutex); 2a48fc0a Arnd Bergmann 2010-06-02 2277 mutex_unlock(&pktcdvd_mutex); ^1da177e Linus Torvalds 2005-04-16 2278 return 0; ^1da177e Linus Torvalds 2005-04-16 2279 ^1da177e Linus Torvalds 2005-04-16 2280 out_dec: ^1da177e Linus Torvalds 2005-04-16 2281 pd->refcnt--; ^1da177e Linus Torvalds 2005-04-16 2282 out: 1657f824 Jes Sorensen2006-03-23 2283 mutex_unlock(&ctl_mutex); 2a48fc0a Arnd Bergmann 2010-06-02 2284 mutex_unlock(&pktcdvd_mutex); ^1da177e Linus Torvalds 2005-04-16 2285 return ret; ^1da177e Linus Torvalds 2005-04-16 2286 } ^1da177e Linus Torvalds 2005-04-16 2287 :: The code at line 2244 was first introduced by commit :: 5e5e007c25009c304af693b7fc49bab8d1d25801 [PATCH] switch pktdvdcd :: TO: Al Viro :: CC: Al Viro --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH] partitions/efi: Fix partition name parsing in GUID partition entry
Hi Nikolai, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on block/for-next] [also build test WARNING on v4.20-rc3 next-20181123] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Nikolai-Merinov/partitions-efi-Fix-partition-name-parsing-in-GUID-partition-entry/20181125-060728 base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next config: x86_64-allmodconfig (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All warnings (new ones prefixed by >>): include/linux/slab.h:332:43: warning: dubious: x & !y include/linux/slab.h:332:43: warning: dubious: x & !y include/linux/slab.h:332:43: warning: dubious: x & !y >> block/partitions/efi.c:732:32: warning: cast to restricted __le16 vim +732 block/partitions/efi.c 672 673 /** 674 * efi_partition(struct parsed_partitions *state) 675 * @state: disk parsed partitions 676 * 677 * Description: called from check.c, if the disk contains GPT 678 * partitions, sets up partition entries in the kernel. 679 * 680 * If the first block on the disk is a legacy MBR, 681 * it will get handled by msdos_partition(). 682 * If it's a Protective MBR, we'll handle it here. 683 * 684 * We do not create a Linux partition for GPT, but 685 * only for the actual data partitions. 686 * Returns: 687 * -1 if unable to read the partition table 688 * 0 if this isn't our partition table 689 * 1 if successful 690 * 691 */ 692 int efi_partition(struct parsed_partitions *state) 693 { 694 gpt_header *gpt = NULL; 695 gpt_entry *ptes = NULL; 696 u32 i; 697 unsigned ssz = bdev_logical_block_size(state->bdev) / 512; 698 699 if (!find_valid_gpt(state, &gpt, &ptes) || !gpt || !ptes) { 700 kfree(gpt); 701 kfree(ptes); 702 return 0; 703 } 704 705 pr_debug("GUID Partition Table is valid! Yea!\n"); 706 707 for (i = 0; i < le32_to_cpu(gpt->num_partition_entries) && i < state->limit-1; i++) { 708 struct partition_meta_info *info; 709 unsigned label_count = 0; 710 unsigned label_max; 711 u64 start = le64_to_cpu(ptes[i].starting_lba); 712 u64 size = le64_to_cpu(ptes[i].ending_lba) - 713 le64_to_cpu(ptes[i].starting_lba) + 1ULL; 714 715 if (!is_pte_valid(&ptes[i], last_lba(state->bdev))) 716 continue; 717 718 put_partition(state, i+1, start * ssz, size * ssz); 719 720 /* If this is a RAID volume, tell md */ 721 if (!efi_guidcmp(ptes[i].partition_type_guid, PARTITION_LINUX_RAID_GUID)) 722 state->parts[i + 1].flags = ADDPART_FLAG_RAID; 723 724 info = &state->parts[i + 1].info; 725 efi_guid_to_str(&ptes[i].unique_partition_guid, info->uuid); 726 727 /* Naively convert UTF16-LE to 7 bits. */ 728 label_max = min(ARRAY_SIZE(info->volname) - 1, 729 ARRAY_SIZE(ptes[i].partition_name)); 730 info->volname[label_max] = 0; 731 while (label_count < label_max) { > 732 u8 c = > le16_to_cpu(ptes[i].partition_name[label_count]) & 0xff; --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH v2 4/7] lightnvm: pblk: set conservative threshold for user writes
Hi Hans, Thank you for the patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v4.20-rc1 next-20181105] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Hans-Holmberg/PBLK-Bugfixes-and-cleanups/20181106-022237 config: arm-allyesconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=7.2.0 make.cross ARCH=arm All errors (new ones prefixed by >>): drivers/lightnvm/pblk-init.o: In function `pblk_lines_init': >> pblk-init.c:(.text+0x1c94): undefined reference to `__aeabi_uldivmod' --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH v2 4/7] lightnvm: pblk: set conservative threshold for user writes
Hi Hans, Thank you for the patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v4.20-rc1 next-20181105] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Hans-Holmberg/PBLK-Bugfixes-and-cleanups/20181106-022237 config: i386-randconfig-sb0-11060349 (attached as .config) compiler: gcc-4.9 (Debian 4.9.4-2) 4.9.4 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): drivers/lightnvm/pblk-init.o: In function `pblk_set_provision': >> drivers/lightnvm/pblk-init.c:668: undefined reference to `__udivdi3' vim +668 drivers/lightnvm/pblk-init.c 637 638 static int pblk_set_provision(struct pblk *pblk, long nr_free_chks) 639 { 640 struct nvm_tgt_dev *dev = pblk->dev; 641 struct pblk_line_mgmt *l_mg = &pblk->l_mg; 642 struct pblk_line_meta *lm = &pblk->lm; 643 struct nvm_geo *geo = &dev->geo; 644 sector_t provisioned, minimum; 645 int sec_meta, blk_meta; 646 647 if (geo->op == NVM_TARGET_DEFAULT_OP) 648 pblk->op = PBLK_DEFAULT_OP; 649 else 650 pblk->op = geo->op; 651 652 minimum = pblk_get_min_chks(pblk); 653 provisioned = nr_free_chks; 654 provisioned *= (100 - pblk->op); 655 sector_div(provisioned, 100); 656 657 if ((nr_free_chks - provisioned) < minimum) { 658 if (geo->op != NVM_TARGET_DEFAULT_OP) { 659 pblk_err(pblk, "OP too small to create a sane instance\n"); 660 return -EINTR; 661 } 662 663 /* If the user did not specify an OP value, and PBLK_DEFAULT_OP 664 * is not enough, calculate and set sane value 665 */ 666 667 provisioned = nr_free_chks - minimum; > 668 pblk->op = (100 * minimum) / nr_free_chks; 669 pblk_info(pblk, "Default OP insufficient, adjusting OP to %d\n", 670 pblk->op); 671 } 672 673 pblk->op_blks = nr_free_chks - provisioned; 674 675 /* Internally pblk manages all free blocks, but all calculations based 676 * on user capacity consider only provisioned blocks 677 */ 678 pblk->rl.total_blocks = nr_free_chks; 679 pblk->rl.nr_secs = nr_free_chks * geo->clba; 680 681 /* Consider sectors used for metadata */ 682 sec_meta = (lm->smeta_sec + lm->emeta_sec[0]) * l_mg->nr_free_lines; 683 blk_meta = DIV_ROUND_UP(sec_meta, geo->clba); 684 685 pblk->capacity = (provisioned - blk_meta) * geo->clba; 686 687 atomic_set(&pblk->rl.free_blocks, nr_free_chks); 688 atomic_set(&pblk->rl.free_user_blocks, nr_free_chks); 689 690 return 0; 691 } 692 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 4/7] lightnvm: pblk: set conservative threshold for user writes
Hi Hans, Thank you for the patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v4.20-rc1 next-20181105] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Hans-Holmberg/PBLK-Bugfixes-and-cleanups/20181105-212909 config: i386-randconfig-s3-201844 (attached as .config) compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): >> ERROR: "__udivdi3" [drivers/lightnvm/pblk.ko] undefined! --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
[PATCH] block: fix semicolon.cocci warnings
From: kbuild test robot block/blk-mq-rdma.c:105:34-35: Unneeded semicolon Remove unneeded semicolon. Generated by: scripts/coccinelle/misc/semicolon.cocci Fixes: 4f5388d0fa49 ("block: fix rdma queue mapping") CC: Sagi Grimberg Signed-off-by: kbuild test robot --- blk-mq-rdma.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/block/blk-mq-rdma.c +++ b/block/blk-mq-rdma.c @@ -102,7 +102,7 @@ int blk_mq_rdma_map_queues(struct blk_mq /* map any remaining unmapped cpus */ for_each_possible_cpu(cpu) { if (set->mq_map[cpu] == UINT_MAX) - blk_mq_map_queue_cpu(set, cpu);; + blk_mq_map_queue_cpu(set, cpu); } return 0;
Re: [PATCH] block: fix rdma queue mapping
Hi Sagi, I love your patch! Perhaps something to improve: [auto build test WARNING on block/for-next] [also build test WARNING on v4.18 next-20180817] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Sagi-Grimberg/block-fix-rdma-queue-mapping/20180818-103103 base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next coccinelle warnings: (new ones prefixed by >>) >> block/blk-mq-rdma.c:105:34-35: Unneeded semicolon Please review and possibly fold the followup patch. --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Re: [PATCH v5 3/5] fs: Add aio iopriority support
Hi Adam, Thank you for the patch! Yet something to improve: [auto build test ERROR on next-20180517] [cannot apply to linus/master block/for-next v4.17-rc6 v4.17-rc5 v4.17-rc4 v4.17-rc6] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/adam-manzanares-wdc-com/AIO-add-per-command-iopriority/20180522-232203 config: x86_64-randconfig-s0-05230027 (attached as .config) compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): fs/aio.o: In function `aio_prep_rw': >> fs/aio.c:1460: undefined reference to `ioprio_check_cap' vim +1460 fs/aio.c 1440 1441 static int aio_prep_rw(struct kiocb *req, struct iocb *iocb) 1442 { 1443 int ret; 1444 1445 req->ki_filp = fget(iocb->aio_fildes); 1446 if (unlikely(!req->ki_filp)) 1447 return -EBADF; 1448 req->ki_complete = aio_complete_rw; 1449 req->ki_pos = iocb->aio_offset; 1450 req->ki_flags = iocb_flags(req->ki_filp); 1451 if (iocb->aio_flags & IOCB_FLAG_RESFD) 1452 req->ki_flags |= IOCB_EVENTFD; 1453 req->ki_hint = file_write_hint(req->ki_filp); 1454 if (iocb->aio_flags & IOCB_FLAG_IOPRIO) { 1455 /* 1456 * If the IOCB_FLAG_IOPRIO flag of aio_flags is set, then 1457 * aio_reqprio is interpreted as an I/O scheduling 1458 * class and priority. 1459 */ > 1460 ret = ioprio_check_cap(iocb->aio_reqprio); 1461 if (ret) { 1462 pr_debug("aio ioprio check cap error\n"); 1463 return -EINVAL; 1464 } 1465 1466 req->ki_ioprio = iocb->aio_reqprio; 1467 } else 1468 req->ki_ioprio = IOPRIO_PRIO_VALUE(IOPRIO_CLASS_NONE, 0); 1469 1470 ret = kiocb_set_rw_flags(req, iocb->aio_rw_flags); 1471 if (unlikely(ret)) 1472 fput(req->ki_filp); 1473 return ret; 1474 } 1475 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH v2 14/26] ibtrs: include client and server modules into kernel compilation
Hi Roman, Thank you for the patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v4.17-rc6 next-20180517] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Roman-Pen/InfiniBand-Transport-IBTRS-and-Network-Block-Device-IBNBD/20180520-222445 config: m68k-allyesconfig (attached as .config) compiler: m68k-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=m68k All errors (new ones prefixed by >>): drivers/mtd/nand/raw/nand_base.o: In function `nand_soft_waitrdy': nand_base.c:(.text+0x1022): undefined reference to `__udivdi3' drivers/infiniband/ulp/ibtrs/ibtrs-clt-stats.o: In function `ibtrs_clt_stats_wc_completion_to_str': >> ibtrs-clt-stats.c:(.text+0x172): undefined reference to `__udivdi3' drivers/infiniband/ulp/ibtrs/ibtrs-clt-stats.o: In function `ibtrs_clt_stats_sg_list_distr_to_str': ibtrs-clt-stats.c:(.text+0x49c): undefined reference to `__udivdi3' --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH v2 24/26] ibnbd: include client and server modules into kernel compilation
Hi Roman, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on linus/master] [also build test WARNING on v4.17-rc6 next-20180517] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Roman-Pen/InfiniBand-Transport-IBTRS-and-Network-Block-Device-IBNBD/20180520-222445 config: i386-allyesconfig (attached as .config) compiler: gcc-7 (Debian 7.3.0-16) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 All warnings (new ones prefixed by >>): drivers/block/ibnbd/ibnbd-clt-sysfs.c: In function 'ibnbd_clt_parse_map_options': >> drivers/block/ibnbd/ibnbd-clt-sysfs.c:139:12: warning: format '%lu' expects >> argument of type 'long unsigned int', but argument 2 has type 'size_t {aka >> unsigned int}' [-Wformat=] pr_err("map_device: too many (> %lu) paths " ^~ drivers/block/ibnbd/ibnbd-clt-sysfs.c: In function 'ibnbd_clt_map_device_store': drivers/block/ibnbd/ibnbd-clt-sysfs.c:613:1: warning: the frame size of 1612 bytes is larger than 1024 bytes [-Wframe-larger-than=] } ^ vim +139 drivers/block/ibnbd/ibnbd-clt-sysfs.c ea541da7d Roman Pen 2018-05-18 88 ea541da7d Roman Pen 2018-05-18 89 static int ibnbd_clt_parse_map_options(const char *buf, ea541da7d Roman Pen 2018-05-18 90char *sessname, ea541da7d Roman Pen 2018-05-18 91struct ibtrs_addr *paths, ea541da7d Roman Pen 2018-05-18 92size_t *path_cnt, ea541da7d Roman Pen 2018-05-18 93size_t max_path_cnt, ea541da7d Roman Pen 2018-05-18 94char *pathname, ea541da7d Roman Pen 2018-05-18 95enum ibnbd_access_mode *access_mode, ea541da7d Roman Pen 2018-05-18 96enum ibnbd_io_mode *io_mode) ea541da7d Roman Pen 2018-05-18 97 { ea541da7d Roman Pen 2018-05-18 98 char *options, *sep_opt; ea541da7d Roman Pen 2018-05-18 99 char *p; ea541da7d Roman Pen 2018-05-18 100 substring_t args[MAX_OPT_ARGS]; ea541da7d Roman Pen 2018-05-18 101 int opt_mask = 0; ea541da7d Roman Pen 2018-05-18 102 int token; ea541da7d Roman Pen 2018-05-18 103 int ret = -EINVAL; ea541da7d Roman Pen 2018-05-18 104 int i; ea541da7d Roman Pen 2018-05-18 105 int p_cnt = 0; ea541da7d Roman Pen 2018-05-18 106 ea541da7d Roman Pen 2018-05-18 107 options = kstrdup(buf, GFP_KERNEL); ea541da7d Roman Pen 2018-05-18 108 if (!options) ea541da7d Roman Pen 2018-05-18 109 return -ENOMEM; ea541da7d Roman Pen 2018-05-18 110 ea541da7d Roman Pen 2018-05-18 111 sep_opt = strstrip(options); ea541da7d Roman Pen 2018-05-18 112 strip(sep_opt); ea541da7d Roman Pen 2018-05-18 113 while ((p = strsep(&sep_opt, " ")) != NULL) { ea541da7d Roman Pen 2018-05-18 114 if (!*p) ea541da7d Roman Pen 2018-05-18 115 continue; ea541da7d Roman Pen 2018-05-18 116 ea541da7d Roman Pen 2018-05-18 117 token = match_token(p, ibnbd_opt_tokens, args); ea541da7d Roman Pen 2018-05-18 118 opt_mask |= token; ea541da7d Roman Pen 2018-05-18 119 ea541da7d Roman Pen 2018-05-18 120 switch (token) { ea541da7d Roman Pen 2018-05-18 121 case IBNBD_OPT_SESSNAME: ea541da7d Roman Pen 2018-05-18 122 p = match_strdup(args); ea541da7d Roman Pen 2018-05-18 123 if (!p) { ea541da7d Roman Pen 2018-05-18 124 ret = -ENOMEM; ea541da7d Roman Pen 2018-05-18 125 goto out; ea541da7d Roman Pen 2018-05-18 126 } ea541da7d Roman Pen 2018-05-18 127 if (strlen(p) > NAME_MAX) { ea541da7d Roman Pen 2018-05-18 128 pr_err("map_device: sessname too long\n"); ea541da7d Roman Pen 2018-05-18 129 ret = -EINVAL; ea541da7d Roman Pen 2018-05-18 130 kfree(p); ea541da7d Roman Pen 2018-05-18 131 goto out; ea541da7d Roman Pen 2018-05-18 132 } ea541da7d Roman Pen 2018-05-18 133 strlcpy(sessname, p, NAME_MAX); ea541da7d Roman Pen 2018-05-18 134 kfree(p); ea541da7d Roman Pen 2018-05-18 135 break; ea541da7d Roman Pen 2018-05-18 136 ea541da7d Roman Pen 2018-05-18 137 case IBNBD_OPT_PATH: ea541da7d Roman Pen 2018-05-18 138 if (p_cnt >= max_path_cnt) { ea541da7d Roman Pen 2018-05-18 @139 pr_err("map_device: too many (> %lu) paths " ea541da7d Roman Pen 2018-05-18 140 "provided\n", max_path_cnt); ea541da7d Roman
Re: [PATCH v2 24/26] ibnbd: include client and server modules into kernel compilation
Hi Roman, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on linus/master] [also build test WARNING on v4.17-rc5 next-20180517] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Roman-Pen/InfiniBand-Transport-IBTRS-and-Network-Block-Device-IBNBD/20180520-222445 reproduce: # apt-get install sparse make ARCH=x86_64 allmodconfig make C=1 CF=-D__CHECK_ENDIAN__ sparse warnings: (new ones prefixed by >>) >> drivers/block/ibnbd/ibnbd-clt.c:133:39: sparse: expression using sizeof(void) >> drivers/block/ibnbd/ibnbd-clt.c:133:39: sparse: expression using sizeof(void) drivers/block/ibnbd/ibnbd-clt.c:135:37: sparse: expression using sizeof(void) drivers/block/ibnbd/ibnbd-clt.c:135:37: sparse: expression using sizeof(void) drivers/block/ibnbd/ibnbd-clt.c:592:29: sparse: expression using sizeof(void) -- >> drivers/block/ibnbd/ibnbd-srv.c:357:48: sparse: incorrect type in argument 1 >> (different base types) @@expected int [signed] dev_id @@got >> restricted __le32 consint [signed] dev_id @@ drivers/block/ibnbd/ibnbd-srv.c:357:48:expected int [signed] dev_id drivers/block/ibnbd/ibnbd-srv.c:357:48:got restricted __le32 const [usertype] device_id >> drivers/block/ibnbd/ibnbd-srv.c:696:25: sparse: expression using sizeof(void) include/linux/blkdev.h:1105:24: sparse: expression using sizeof(void) vim +133 drivers/block/ibnbd/ibnbd-clt.c 563b98df Roman Pen 2018-05-18 108 563b98df Roman Pen 2018-05-18 109 static int ibnbd_clt_set_dev_attr(struct ibnbd_clt_dev *dev, 563b98df Roman Pen 2018-05-18 110const struct ibnbd_msg_open_rsp *rsp) 563b98df Roman Pen 2018-05-18 111 { 563b98df Roman Pen 2018-05-18 112 struct ibnbd_clt_session *sess = dev->sess; 563b98df Roman Pen 2018-05-18 113 563b98df Roman Pen 2018-05-18 114 if (unlikely(!rsp->logical_block_size)) 563b98df Roman Pen 2018-05-18 115 return -EINVAL; 563b98df Roman Pen 2018-05-18 116 563b98df Roman Pen 2018-05-18 117 dev->device_id = le32_to_cpu(rsp->device_id); 563b98df Roman Pen 2018-05-18 118 dev->nsectors = le64_to_cpu(rsp->nsectors); 563b98df Roman Pen 2018-05-18 119 dev->logical_block_size = le16_to_cpu(rsp->logical_block_size); 563b98df Roman Pen 2018-05-18 120 dev->physical_block_size= le16_to_cpu(rsp->physical_block_size); 563b98df Roman Pen 2018-05-18 121 dev->max_write_same_sectors = le32_to_cpu(rsp->max_write_same_sectors); 563b98df Roman Pen 2018-05-18 122 dev->max_discard_sectors= le32_to_cpu(rsp->max_discard_sectors); 563b98df Roman Pen 2018-05-18 123 dev->discard_granularity= le32_to_cpu(rsp->discard_granularity); 563b98df Roman Pen 2018-05-18 124 dev->discard_alignment = le32_to_cpu(rsp->discard_alignment); 563b98df Roman Pen 2018-05-18 125 dev->secure_discard = le16_to_cpu(rsp->secure_discard); 563b98df Roman Pen 2018-05-18 126 dev->rotational = rsp->rotational; 563b98df Roman Pen 2018-05-18 127 dev->remote_io_mode = rsp->io_mode; 563b98df Roman Pen 2018-05-18 128 563b98df Roman Pen 2018-05-18 129 dev->max_hw_sectors = sess->max_io_size / dev->logical_block_size; 563b98df Roman Pen 2018-05-18 130 dev->max_segments = BMAX_SEGMENTS; 563b98df Roman Pen 2018-05-18 131 563b98df Roman Pen 2018-05-18 132 if (dev->remote_io_mode == IBNBD_BLOCKIO) { 563b98df Roman Pen 2018-05-18 @133 dev->max_hw_sectors = min_t(u32, dev->max_hw_sectors, 563b98df Roman Pen 2018-05-18 134 le32_to_cpu(rsp->max_hw_sectors)); 563b98df Roman Pen 2018-05-18 135 dev->max_segments = min_t(u16, dev->max_segments, 563b98df Roman Pen 2018-05-18 136 le16_to_cpu(rsp->max_segments)); 563b98df Roman Pen 2018-05-18 137 } 563b98df Roman Pen 2018-05-18 138 563b98df Roman Pen 2018-05-18 139 return 0; 563b98df Roman Pen 2018-05-18 140 } 563b98df Roman Pen 2018-05-18 141 :: The code at line 133 was first introduced by commit :: 563b98df79220ea51ec7d61fa671c810eef1db6b ibnbd: client: main functionality :: TO: Roman Pen :: CC: 0day robot --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Re: [PATCH v2 14/26] ibtrs: include client and server modules into kernel compilation
Hi Roman, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on linus/master] [also build test WARNING on v4.17-rc5 next-20180517] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Roman-Pen/InfiniBand-Transport-IBTRS-and-Network-Block-Device-IBNBD/20180520-222445 config: m68k-allmodconfig (attached as .config) compiler: m68k-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=m68k All warnings (new ones prefixed by >>): In file included from arch/m68k/include/asm/atomic.h:7:0, from include/linux/atomic.h:5, from include/linux/spinlock.h:399, from include/linux/seqlock.h:36, from include/linux/time.h:6, from include/linux/stat.h:19, from include/linux/module.h:10, from drivers/infiniband//ulp/ibtrs/ibtrs-clt.c:34: drivers/infiniband//ulp/ibtrs/ibtrs-clt.c: In function 'ibtrs_clt_remove_path_from_arr': arch/m68k/include/asm/cmpxchg.h:122:3: warning: value computed is not used [-Wunused-value] ((__typeof__(*(ptr)))__cmpxchg((ptr), (unsigned long)(o), \ ~^~ (unsigned long)(n), sizeof(*(ptr >> drivers/infiniband//ulp/ibtrs/ibtrs-clt.c:1456:3: note: in expansion of >> macro 'cmpxchg' cmpxchg(ppcpu_path, sess, next); ^~~ vim +/cmpxchg +1456 drivers/infiniband//ulp/ibtrs/ibtrs-clt.c 44463323 Roman Pen 2018-05-18 1396 44463323 Roman Pen 2018-05-18 1397 static void ibtrs_clt_remove_path_from_arr(struct ibtrs_clt_sess *sess) 44463323 Roman Pen 2018-05-18 1398 { 44463323 Roman Pen 2018-05-18 1399 struct ibtrs_clt *clt = sess->clt; 44463323 Roman Pen 2018-05-18 1400 struct ibtrs_clt_sess *next; 44463323 Roman Pen 2018-05-18 1401 int cpu; 44463323 Roman Pen 2018-05-18 1402 44463323 Roman Pen 2018-05-18 1403 mutex_lock(&clt->paths_mutex); 44463323 Roman Pen 2018-05-18 1404 list_del_rcu(&sess->s.entry); 44463323 Roman Pen 2018-05-18 1405 44463323 Roman Pen 2018-05-18 1406 /* Make sure everybody observes path removal. */ 44463323 Roman Pen 2018-05-18 1407 synchronize_rcu(); 44463323 Roman Pen 2018-05-18 1408 44463323 Roman Pen 2018-05-18 1409 /* 44463323 Roman Pen 2018-05-18 1410 * Decrement paths number only after grace period, because 44463323 Roman Pen 2018-05-18 1411 * caller of do_each_path() must firstly observe list without 44463323 Roman Pen 2018-05-18 1412 * path and only then decremented paths number. 44463323 Roman Pen 2018-05-18 1413 * 44463323 Roman Pen 2018-05-18 1414 * Otherwise there can be the following situation: 44463323 Roman Pen 2018-05-18 1415 *o Two paths exist and IO is coming. 44463323 Roman Pen 2018-05-18 1416 *o One path is removed: 44463323 Roman Pen 2018-05-18 1417 * CPU#0 CPU#1 44463323 Roman Pen 2018-05-18 1418 * do_each_path(): ibtrs_clt_remove_path_from_arr(): 44463323 Roman Pen 2018-05-18 1419 * path = get_next_path() 44463323 Roman Pen 2018-05-18 1420 * ^^^ list_del_rcu(path) 44463323 Roman Pen 2018-05-18 1421 * [!CONNECTED path] clt->paths_num-- 44463323 Roman Pen 2018-05-18 1422 * ^ 44463323 Roman Pen 2018-05-18 1423 * load clt->paths_num from 2 to 1 44463323 Roman Pen 2018-05-18 1424 *^ 44463323 Roman Pen 2018-05-18 1425 *sees 1 44463323 Roman Pen 2018-05-18 1426 * 44463323 Roman Pen 2018-05-18 1427 * path is observed as !CONNECTED, but do_each_path() loop 44463323 Roman Pen 2018-05-18 1428 * ends, because expression i < clt->paths_num is false. 44463323 Roman Pen 2018-05-18 1429 */ 44463323 Roman Pen 2018-05-18 1430 clt->paths_num--; 44463323 Roman Pen 2018-05-18 1431 44463323 Roman Pen 2018-05-18 1432 next = list_next_or_null_rr_rcu(&clt->paths_list, &sess->s.entry, 44463323 Roman Pen 2018-05-18 1433 typeof(*next), s.entry); 44463323 Roman Pen 2018-05-18 1434 44463323 Roman Pen 2018-05-18 1435 /* 44463323 Roman Pen 2018-05-18 1436 * Pcpu paths can still point to the path which is going to be 44463323 Roman Pen 2018-05-18 1437 * removed, so change the pointer manually. 44463323 Roman Pen 2018-05-18 1438 */ 44463323 Roman
Re: [PATCH v2 24/26] ibnbd: include client and server modules into kernel compilation
Hi Roman, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on linus/master] [also build test WARNING on v4.17-rc5 next-20180517] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Roman-Pen/InfiniBand-Transport-IBTRS-and-Network-Block-Device-IBNBD/20180520-222445 config: sh-allmodconfig (attached as .config) compiler: sh4-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=sh All warnings (new ones prefixed by >>): In file included from include/linux/printk.h:7:0, from include/linux/kernel.h:14, from include/linux/list.h:9, from include/linux/module.h:9, from drivers/block/ibnbd/ibnbd-clt-sysfs.c:37: drivers/block/ibnbd/ibnbd-clt-sysfs.c: In function 'ibnbd_clt_parse_map_options': include/linux/kern_levels.h:5:18: warning: format '%lu' expects argument of type 'long unsigned int', but argument 2 has type 'size_t {aka unsigned int}' [-Wformat=] #define KERN_SOH "\001" /* ASCII Start Of Header */ ^ include/linux/kern_levels.h:11:18: note: in expansion of macro 'KERN_SOH' #define KERN_ERR KERN_SOH "3" /* error conditions */ ^~~~ include/linux/printk.h:304:9: note: in expansion of macro 'KERN_ERR' printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__) ^~~~ >> drivers/block/ibnbd/ibnbd-clt-sysfs.c:139:5: note: in expansion of macro >> 'pr_err' pr_err("map_device: too many (> %lu) paths " ^~ drivers/block/ibnbd/ibnbd-clt-sysfs.c: In function 'ibnbd_clt_map_device_store': >> drivers/block/ibnbd/ibnbd-clt-sysfs.c:613:1: warning: the frame size of 1616 >> bytes is larger than 1024 bytes [-Wframe-larger-than=] } ^ vim +/pr_err +139 drivers/block/ibnbd/ibnbd-clt-sysfs.c ea541da7d Roman Pen 2018-05-18 88 ea541da7d Roman Pen 2018-05-18 89 static int ibnbd_clt_parse_map_options(const char *buf, ea541da7d Roman Pen 2018-05-18 90char *sessname, ea541da7d Roman Pen 2018-05-18 91struct ibtrs_addr *paths, ea541da7d Roman Pen 2018-05-18 92size_t *path_cnt, ea541da7d Roman Pen 2018-05-18 93size_t max_path_cnt, ea541da7d Roman Pen 2018-05-18 94char *pathname, ea541da7d Roman Pen 2018-05-18 95enum ibnbd_access_mode *access_mode, ea541da7d Roman Pen 2018-05-18 96enum ibnbd_io_mode *io_mode) ea541da7d Roman Pen 2018-05-18 97 { ea541da7d Roman Pen 2018-05-18 98 char *options, *sep_opt; ea541da7d Roman Pen 2018-05-18 99 char *p; ea541da7d Roman Pen 2018-05-18 100 substring_t args[MAX_OPT_ARGS]; ea541da7d Roman Pen 2018-05-18 101 int opt_mask = 0; ea541da7d Roman Pen 2018-05-18 102 int token; ea541da7d Roman Pen 2018-05-18 103 int ret = -EINVAL; ea541da7d Roman Pen 2018-05-18 104 int i; ea541da7d Roman Pen 2018-05-18 105 int p_cnt = 0; ea541da7d Roman Pen 2018-05-18 106 ea541da7d Roman Pen 2018-05-18 107 options = kstrdup(buf, GFP_KERNEL); ea541da7d Roman Pen 2018-05-18 108 if (!options) ea541da7d Roman Pen 2018-05-18 109 return -ENOMEM; ea541da7d Roman Pen 2018-05-18 110 ea541da7d Roman Pen 2018-05-18 111 sep_opt = strstrip(options); ea541da7d Roman Pen 2018-05-18 112 strip(sep_opt); ea541da7d Roman Pen 2018-05-18 113 while ((p = strsep(&sep_opt, " ")) != NULL) { ea541da7d Roman Pen 2018-05-18 114 if (!*p) ea541da7d Roman Pen 2018-05-18 115 continue; ea541da7d Roman Pen 2018-05-18 116 ea541da7d Roman Pen 2018-05-18 117 token = match_token(p, ibnbd_opt_tokens, args); ea541da7d Roman Pen 2018-05-18 118 opt_mask |= token; ea541da7d Roman Pen 2018-05-18 119 ea541da7d Roman Pen 2018-05-18 120 switch (token) { ea541da7d Roman Pen 2018-05-18 121 case IBNBD_OPT_SESSNAME: ea541da7d Roman Pen 2018-05-18 122 p = match_strdup(args); ea541da7d Roman Pen 2018-05-18 123 if (!p) { ea541da7d Roman Pen 2018-05-18 124 ret = -ENOMEM; ea541da7d Roman Pen 2018-05-18 125 goto out; ea541da7d Roman Pen 2018-05-18 126 } ea541da7d Roman Pen 2018-05-18 127 if (strlen(p) > NAME_MAX) { ea541da7d Roman Pen 2018-05-18 128 pr_err("map_device: sessname too long\n"); ea541da7d Roman Pen 2018-05-18
Re: [PATCH v4 3/3] fs: Add aio iopriority support for block_dev
Hi Adam, Thank you for the patch! Yet something to improve: [auto build test ERROR on next-20180516] [cannot apply to linus/master block/for-next v4.17-rc5 v4.17-rc4 v4.17-rc3 v4.17-rc5] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/adam-manzanares-wdc-com/AIO-add-per-command-iopriority/20180519-031848 config: x86_64-randconfig-x013-201819 (attached as .config) compiler: gcc-7 (Debian 7.3.0-16) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): fs/aio.c: In function 'aio_prep_rw': >> fs/aio.c:1460:9: error: implicit declaration of function 'ioprio_check_cap'; >> did you mean 'param_check_charp'? [-Werror=implicit-function-declaration] ret = ioprio_check_cap(iocb->aio_reqprio); ^~~~ param_check_charp cc1: some warnings being treated as errors vim +1460 fs/aio.c 1440 1441 static int aio_prep_rw(struct kiocb *req, struct iocb *iocb) 1442 { 1443 int ret; 1444 1445 req->ki_filp = fget(iocb->aio_fildes); 1446 if (unlikely(!req->ki_filp)) 1447 return -EBADF; 1448 req->ki_complete = aio_complete_rw; 1449 req->ki_pos = iocb->aio_offset; 1450 req->ki_flags = iocb_flags(req->ki_filp); 1451 if (iocb->aio_flags & IOCB_FLAG_RESFD) 1452 req->ki_flags |= IOCB_EVENTFD; 1453 req->ki_hint = file_write_hint(req->ki_filp); 1454 if (iocb->aio_flags & IOCB_FLAG_IOPRIO) { 1455 /* 1456 * If the IOCB_FLAG_IOPRIO flag of aio_flags is set, then 1457 * aio_reqprio is interpreted as an I/O scheduling 1458 * class and priority. 1459 */ > 1460 ret = ioprio_check_cap(iocb->aio_reqprio); 1461 if (ret) { 1462 pr_debug("aio ioprio check cap error\n"); 1463 return -EINVAL; 1464 } 1465 1466 req->ki_ioprio = iocb->aio_reqprio; 1467 req->ki_flags |= IOCB_IOPRIO; 1468 } 1469 1470 ret = kiocb_set_rw_flags(req, iocb->aio_rw_flags); 1471 if (unlikely(ret)) 1472 fput(req->ki_filp); 1473 return ret; 1474 } 1475 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH v3 3/3] fs: Add aio iopriority support for block_dev
Hi Adam, Thank you for the patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v4.17-rc4 next-20180508] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/adam-manzanares-wdc-com/block-add-ioprio_check_cap-function/20180509-094058 config: x86_64-randconfig-s0-05091255 (attached as .config) compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): fs/aio.c: In function 'io_submit_one': >> fs/aio.c:1606:9: error: implicit declaration of function 'ioprio_check_cap' >> [-Werror=implicit-function-declaration] ret = ioprio_check_cap(iocb->aio_reqprio); ^~~~ cc1: some warnings being treated as errors vim +/ioprio_check_cap +1606 fs/aio.c 1545 1546 static int io_submit_one(struct kioctx *ctx, struct iocb __user *user_iocb, 1547 struct iocb *iocb, bool compat) 1548 { 1549 struct aio_kiocb *req; 1550 struct file *file; 1551 ssize_t ret; 1552 1553 /* enforce forwards compatibility on users */ 1554 if (unlikely(iocb->aio_reserved2)) { 1555 pr_debug("EINVAL: reserve field set\n"); 1556 return -EINVAL; 1557 } 1558 1559 /* prevent overflows */ 1560 if (unlikely( 1561 (iocb->aio_buf != (unsigned long)iocb->aio_buf) || 1562 (iocb->aio_nbytes != (size_t)iocb->aio_nbytes) || 1563 ((ssize_t)iocb->aio_nbytes < 0) 1564 )) { 1565 pr_debug("EINVAL: overflow check\n"); 1566 return -EINVAL; 1567 } 1568 1569 req = aio_get_req(ctx); 1570 if (unlikely(!req)) 1571 return -EAGAIN; 1572 1573 req->common.ki_filp = file = fget(iocb->aio_fildes); 1574 if (unlikely(!req->common.ki_filp)) { 1575 ret = -EBADF; 1576 goto out_put_req; 1577 } 1578 req->common.ki_pos = iocb->aio_offset; 1579 req->common.ki_complete = aio_complete; 1580 req->common.ki_flags = iocb_flags(req->common.ki_filp); 1581 req->common.ki_hint = file_write_hint(file); 1582 1583 if (iocb->aio_flags & IOCB_FLAG_RESFD) { 1584 /* 1585 * If the IOCB_FLAG_RESFD flag of aio_flags is set, get an 1586 * instance of the file* now. The file descriptor must be 1587 * an eventfd() fd, and will be signaled for each completed 1588 * event using the eventfd_signal() function. 1589 */ 1590 req->ki_eventfd = eventfd_ctx_fdget((int) iocb->aio_resfd); 1591 if (IS_ERR(req->ki_eventfd)) { 1592 ret = PTR_ERR(req->ki_eventfd); 1593 req->ki_eventfd = NULL; 1594 goto out_put_req; 1595 } 1596 1597 req->common.ki_flags |= IOCB_EVENTFD; 1598 } 1599 1600 if (iocb->aio_flags & IOCB_FLAG_IOPRIO) { 1601 /* 1602 * If the IOCB_FLAG_IOPRIO flag of aio_flags is set, then 1603 * aio_reqprio is interpreted as an I/O scheduling 1604 * class and priority. 1605 */ > 1606 ret = ioprio_check_cap(iocb->aio_reqprio); 1607 if (ret) { 1608 pr_debug("aio ioprio check cap error\n"); 1609 goto out_put_req; 1610 } 1611 1612 req->common.ki_ioprio = iocb->aio_reqprio; 1613 req->common.ki_flags |= IOCB_IOPRIO; 1614 } 1615 1616 ret = kiocb_set_rw_flags(&req->common, iocb->aio_rw_flags); 1617 if (unlikely(ret)) { 1618 pr_debug("EINVAL: aio_rw_flags\n"); 1619 goto out_put_req; 1620 } 1621 1622 ret = put_user(KIOCB_KEY, &user_iocb->aio_key); 1623 if (unlikely(ret)) { 1624 pr_debug("EFAULT: aio_key\n"); 1625 goto out_put_req; 1626 } 1627 1628 req->ki_user_iocb = user_iocb; 1629 req->ki_user_data = iocb->aio_data; 1630 1631 get_file(file); 1632 switch (iocb->aio_lio_opcode) { 1633 case IOCB_CMD_PREAD: 1634 ret = aio_read(&req->common, iocb, false, compat); 1635 break; 1636 case IOCB_CMD_PWRITE: 1637 ret = aio_write(&req->common, iocb, false, c
Re: [PATCH 6/7] psi: pressure stall information for CPU, memory, and IO
Hi Johannes, I love your patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v4.17-rc4] [cannot apply to next-20180507] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Johannes-Weiner/mm-workingset-don-t-drop-refault-information-prematurely/20180508-081214 config: x86_64-randconfig-x012-201818 (attached as .config) compiler: gcc-7 (Debian 7.3.0-16) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): In file included from kernel/livepatch/../sched/sched.h:1317:0, from kernel/livepatch/transition.c:27: >> kernel/livepatch/../sched/stats.h:126:1: error: expected identifier or '(' >> before '{' token { ^ vim +126 kernel/livepatch/../sched/stats.h 57 58 #ifdef CONFIG_PSI 59 /* 60 * PSI tracks state that persists across sleeps, such as iowaits and 61 * memory stalls. As a result, it has to distinguish between sleeps, 62 * where a task's runnable state changes, and requeues, where a task 63 * and its state are being moved between CPUs and runqueues. 64 */ 65 static inline void psi_enqueue(struct task_struct *p, u64 now) 66 { 67 int clear = 0, set = TSK_RUNNING; 68 69 if (p->state == TASK_RUNNING || p->sched_psi_wake_requeue) { 70 if (p->flags & PF_MEMSTALL) 71 set |= TSK_MEMSTALL; 72 p->sched_psi_wake_requeue = 0; 73 } else { 74 if (p->in_iowait) 75 clear |= TSK_IOWAIT; 76 } 77 78 psi_task_change(p, now, clear, set); 79 } 80 static inline void psi_dequeue(struct task_struct *p, u64 now) 81 { 82 int clear = TSK_RUNNING, set = 0; 83 84 if (p->state == TASK_RUNNING) { 85 if (p->flags & PF_MEMSTALL) 86 clear |= TSK_MEMSTALL; 87 } else { 88 if (p->in_iowait) 89 set |= TSK_IOWAIT; 90 } 91 92 psi_task_change(p, now, clear, set); 93 } 94 static inline void psi_ttwu_dequeue(struct task_struct *p) 95 { 96 /* 97 * Is the task being migrated during a wakeup? Make sure to 98 * deregister its sleep-persistent psi states from the old 99 * queue, and let psi_enqueue() know it has to requeue. 100 */ 101 if (unlikely(p->in_iowait || (p->flags & PF_MEMSTALL))) { 102 struct rq_flags rf; 103 struct rq *rq; 104 int clear = 0; 105 106 if (p->in_iowait) 107 clear |= TSK_IOWAIT; 108 if (p->flags & PF_MEMSTALL) 109 clear |= TSK_MEMSTALL; 110 111 rq = __task_rq_lock(p, &rf); 112 update_rq_clock(rq); 113 psi_task_change(p, rq_clock(rq), clear, 0); 114 p->sched_psi_wake_requeue = 1; 115 __task_rq_unlock(rq, &rf); 116 } 117 } 118 #else /* CONFIG_PSI */ 119 static inline void psi_enqueue(struct task_struct *p, u64 now) 120 { 121 } 122 static inline void psi_dequeue(struct task_struct *p, u64 now) 123 { 124 } 125 static inline void psi_ttwu_dequeue(struct task_struct *p) {} > 126 { 127 } 128 #endif /* CONFIG_PSI */ 129 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 6/7] psi: pressure stall information for CPU, memory, and IO
Hi Johannes, I love your patch! Yet something to improve: [auto build test ERROR on linus/master] [also build test ERROR on v4.17-rc4] [cannot apply to next-20180507] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Johannes-Weiner/mm-workingset-don-t-drop-refault-information-prematurely/20180508-081214 config: i386-randconfig-x073-201818 (attached as .config) compiler: gcc-7 (Debian 7.3.0-16) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): In file included from kernel/sched/sched.h:1317:0, from kernel/sched/core.c:8: >> kernel/sched/stats.h:126:1: error: expected identifier or '(' before '{' >> token { ^ vim +126 kernel/sched/stats.h 57 58 #ifdef CONFIG_PSI 59 /* 60 * PSI tracks state that persists across sleeps, such as iowaits and 61 * memory stalls. As a result, it has to distinguish between sleeps, 62 * where a task's runnable state changes, and requeues, where a task 63 * and its state are being moved between CPUs and runqueues. 64 */ 65 static inline void psi_enqueue(struct task_struct *p, u64 now) 66 { 67 int clear = 0, set = TSK_RUNNING; 68 69 if (p->state == TASK_RUNNING || p->sched_psi_wake_requeue) { 70 if (p->flags & PF_MEMSTALL) 71 set |= TSK_MEMSTALL; 72 p->sched_psi_wake_requeue = 0; 73 } else { 74 if (p->in_iowait) 75 clear |= TSK_IOWAIT; 76 } 77 78 psi_task_change(p, now, clear, set); 79 } 80 static inline void psi_dequeue(struct task_struct *p, u64 now) 81 { 82 int clear = TSK_RUNNING, set = 0; 83 84 if (p->state == TASK_RUNNING) { 85 if (p->flags & PF_MEMSTALL) 86 clear |= TSK_MEMSTALL; 87 } else { 88 if (p->in_iowait) 89 set |= TSK_IOWAIT; 90 } 91 92 psi_task_change(p, now, clear, set); 93 } 94 static inline void psi_ttwu_dequeue(struct task_struct *p) 95 { 96 /* 97 * Is the task being migrated during a wakeup? Make sure to 98 * deregister its sleep-persistent psi states from the old 99 * queue, and let psi_enqueue() know it has to requeue. 100 */ 101 if (unlikely(p->in_iowait || (p->flags & PF_MEMSTALL))) { 102 struct rq_flags rf; 103 struct rq *rq; 104 int clear = 0; 105 106 if (p->in_iowait) 107 clear |= TSK_IOWAIT; 108 if (p->flags & PF_MEMSTALL) 109 clear |= TSK_MEMSTALL; 110 111 rq = __task_rq_lock(p, &rf); 112 update_rq_clock(rq); 113 psi_task_change(p, rq_clock(rq), clear, 0); 114 p->sched_psi_wake_requeue = 1; 115 __task_rq_unlock(rq, &rf); 116 } 117 } 118 #else /* CONFIG_PSI */ 119 static inline void psi_enqueue(struct task_struct *p, u64 now) 120 { 121 } 122 static inline void psi_dequeue(struct task_struct *p, u64 now) 123 { 124 } 125 static inline void psi_ttwu_dequeue(struct task_struct *p) {} > 126 { 127 } 128 #endif /* CONFIG_PSI */ 129 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 3/3] xen blkback: add fault injection facility
Hi Stanislav, Thank you for the patch! Yet something to improve: [auto build test ERROR on net-next/master] [also build test ERROR on v4.17-rc1 next-20180420] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Stanislav-Kinsburskii/Introduce-Xen-fault-injection-facility/20180422-201946 config: x86_64-allmodconfig (attached as .config) compiler: gcc-7 (Debian 7.3.0-16) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): drivers/block//xen-blkback/blkback_fi.c: In function 'xen_blkif_fi_init': >> drivers/block//xen-blkback/blkback_fi.c:87:51: error: dereferencing pointer >> to incomplete type 'struct backend_info' bfi->dir = debugfs_create_dir(dev_name(&blkif->be->dev->dev), ^~ vim +87 drivers/block//xen-blkback/blkback_fi.c 77 78 int xen_blkif_fi_init(struct xen_blkif *blkif) 79 { 80 struct xen_blkif_fi *bfi; 81 int fi, err = -ENOMEM; 82 83 bfi = kmalloc(sizeof(*bfi), GFP_KERNEL); 84 if (!bfi) 85 return -ENOMEM; 86 > 87 bfi->dir = debugfs_create_dir(dev_name(&blkif->be->dev->dev), 88blkif_fi_dir); 89 if (!bfi->dir) 90 goto err_dir; 91 92 for (fi = 0; fi < XENBLKIF_FI_MAX; fi++) { 93 bfi->faults[fi] = xen_fi_dir_add(bfi->dir, 94 xen_blkif_fi_names[fi]); 95 if (!bfi->faults[fi]) 96 goto err_fault; 97 } 98 99 blkif->fi_info = bfi; 100 return 0; 101 102 err_fault: 103 for (; fi > 0; fi--) 104 xen_fi_del(bfi->faults[fi]); 105 debugfs_remove_recursive(bfi->dir); 106 err_dir: 107 kfree(bfi); 108 return err; 109 } 110 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH] blk-cgroup: remove entries in blkg_tree before queue release
Hi Alexandru, Thank you for the patch! Yet something to improve: [auto build test ERROR on block/for-next] [also build test ERROR on v4.16 next-20180406] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Alexandru-Moise/blk-cgroup-remove-entries-in-blkg_tree-before-queue-release/20180407-035957 base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next config: c6x-evmc6678_defconfig (attached as .config) compiler: c6x-elf-gcc (GCC) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=c6x All errors (new ones prefixed by >>): block/blk-sysfs.c: In function '__blk_release_queue': >> block/blk-sysfs.c:820:2: error: implicit declaration of function >> 'blkg_destroy_all'; did you mean 'irq_destroy_ipi'? >> [-Werror=implicit-function-declaration] blkg_destroy_all(q); ^~~~ irq_destroy_ipi cc1: some warnings being treated as errors vim +820 block/blk-sysfs.c 770 771 /** 772 * __blk_release_queue - release a request queue when it is no longer needed 773 * @work: pointer to the release_work member of the request queue to be released 774 * 775 * Description: 776 * blk_release_queue is the counterpart of blk_init_queue(). It should be 777 * called when a request queue is being released; typically when a block 778 * device is being de-registered. Its primary task it to free the queue 779 * itself. 780 * 781 * Notes: 782 * The low level driver must have finished any outstanding requests first 783 * via blk_cleanup_queue(). 784 * 785 * Although blk_release_queue() may be called with preemption disabled, 786 * __blk_release_queue() may sleep. 787 */ 788 static void __blk_release_queue(struct work_struct *work) 789 { 790 struct request_queue *q = container_of(work, typeof(*q), release_work); 791 792 if (test_bit(QUEUE_FLAG_POLL_STATS, &q->queue_flags)) 793 blk_stat_remove_callback(q, q->poll_cb); 794 blk_stat_free_callback(q->poll_cb); 795 796 blk_free_queue_stats(q->stats); 797 798 blk_exit_rl(q, &q->root_rl); 799 800 if (q->queue_tags) 801 __blk_queue_free_tags(q); 802 803 if (!q->mq_ops) { 804 if (q->exit_rq_fn) 805 q->exit_rq_fn(q, q->fq->flush_rq); 806 blk_free_flush_queue(q->fq); 807 } else { 808 blk_mq_release(q); 809 } 810 811 blk_trace_shutdown(q); 812 813 if (q->mq_ops) 814 blk_mq_debugfs_unregister(q); 815 816 if (q->bio_split) 817 bioset_free(q->bio_split); 818 819 spin_lock_irq(q->queue_lock); > 820 blkg_destroy_all(q); 821 spin_unlock_irq(q->queue_lock); 822 823 ida_simple_remove(&blk_queue_ida, q->id); 824 call_rcu(&q->rcu_head, blk_free_queue_rcu); 825 } 826 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH] blk-cgroup: remove entries in blkg_tree before queue release
Hi Alexandru, Thank you for the patch! Yet something to improve: [auto build test ERROR on block/for-next] [also build test ERROR on v4.16 next-20180406] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Alexandru-Moise/blk-cgroup-remove-entries-in-blkg_tree-before-queue-release/20180407-035957 base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next config: x86_64-randconfig-x001-201813 (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): block/blk-sysfs.c: In function '__blk_release_queue': >> block/blk-sysfs.c:820:2: error: implicit declaration of function >> 'blkg_destroy_all'; did you mean 'blk_stat_add'? >> [-Werror=implicit-function-declaration] blkg_destroy_all(q); ^~~~ blk_stat_add cc1: some warnings being treated as errors vim +820 block/blk-sysfs.c 770 771 /** 772 * __blk_release_queue - release a request queue when it is no longer needed 773 * @work: pointer to the release_work member of the request queue to be released 774 * 775 * Description: 776 * blk_release_queue is the counterpart of blk_init_queue(). It should be 777 * called when a request queue is being released; typically when a block 778 * device is being de-registered. Its primary task it to free the queue 779 * itself. 780 * 781 * Notes: 782 * The low level driver must have finished any outstanding requests first 783 * via blk_cleanup_queue(). 784 * 785 * Although blk_release_queue() may be called with preemption disabled, 786 * __blk_release_queue() may sleep. 787 */ 788 static void __blk_release_queue(struct work_struct *work) 789 { 790 struct request_queue *q = container_of(work, typeof(*q), release_work); 791 792 if (test_bit(QUEUE_FLAG_POLL_STATS, &q->queue_flags)) 793 blk_stat_remove_callback(q, q->poll_cb); 794 blk_stat_free_callback(q->poll_cb); 795 796 blk_free_queue_stats(q->stats); 797 798 blk_exit_rl(q, &q->root_rl); 799 800 if (q->queue_tags) 801 __blk_queue_free_tags(q); 802 803 if (!q->mq_ops) { 804 if (q->exit_rq_fn) 805 q->exit_rq_fn(q, q->fq->flush_rq); 806 blk_free_flush_queue(q->fq); 807 } else { 808 blk_mq_release(q); 809 } 810 811 blk_trace_shutdown(q); 812 813 if (q->mq_ops) 814 blk_mq_debugfs_unregister(q); 815 816 if (q->bio_split) 817 bioset_free(q->bio_split); 818 819 spin_lock_irq(q->queue_lock); > 820 blkg_destroy_all(q); 821 spin_unlock_irq(q->queue_lock); 822 823 ida_simple_remove(&blk_queue_ida, q->id); 824 call_rcu(&q->rcu_head, blk_free_queue_rcu); 825 } 826 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 8/8] block: sed-opal: ioctl for writing to shadow mbr
Hi Jonas, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on next-20180309] [cannot apply to linus/master v4.16-rc4 v4.16-rc3 v4.16-rc2 v4.16-rc5] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Jonas-Rabenstein/block-sed-opal-support-write-to-shadow-mbr/20180314-184749 reproduce: # apt-get install sparse make ARCH=x86_64 allmodconfig make C=1 CF=-D__CHECK_ENDIAN__ sparse warnings: (new ones prefixed by >>) block/sed-opal.c:381:20: sparse: incorrect type in assignment (different base types) @@expected unsigned long long [unsigned] [usertype] align @@ got ed long long [unsigned] [usertype] align @@ block/sed-opal.c:381:20:expected unsigned long long [unsigned] [usertype] align block/sed-opal.c:381:20:got restricted __be64 const [usertype] alignment_granularity block/sed-opal.c:382:25: sparse: incorrect type in assignment (different base types) @@expected unsigned long long [unsigned] [usertype] lowest_lba @@got ed long long [unsigned] [usertype] lowest_lba @@ block/sed-opal.c:382:25:expected unsigned long long [unsigned] [usertype] lowest_lba block/sed-opal.c:382:25:got restricted __be64 const [usertype] lowest_aligned_lba >> block/sed-opal.c:1526:58: sparse: incorrect type in argument 2 (different >> address spaces) @@expected void const [noderef] *from @@got >> unsvoid const [noderef] *from @@ block/sed-opal.c:1526:58:expected void const [noderef] *from block/sed-opal.c:1526:58:got unsigned char const [usertype] * >> block/sed-opal.c:2100:14: sparse: incorrect type in argument 1 (different >> address spaces) @@expected void const volatile [noderef] >> * @@got onst volatile [noderef] * @@ block/sed-opal.c:2100:14:expected void const volatile [noderef] * block/sed-opal.c:2100:14:got unsigned char const [usertype] *data vim +1526 block/sed-opal.c 1493 1494 static int write_shadow_mbr(struct opal_dev *dev, void *data) 1495 { 1496 struct opal_shadow_mbr *shadow = data; 1497 size_t off; 1498 u64 len; 1499 int err = 0; 1500 u8 *payload; 1501 1502 /* FIXME: this is the maximum we can use for IO_BUFFER_LENGTH=2048. 1503 *Instead of having constant, it would be nice to compute the 1504 *actual value depending on IO_BUFFER_LENGTH 1505 */ 1506 len = 1950; 1507 1508 /* do the actual transmission(s) */ 1509 for (off = 0 ; off < shadow->size; off += len) { 1510 len = min(len, shadow->size - off); 1511 1512 pr_debug("MBR: write bytes %zu+%llu/%llu\n", 1513 off, len, shadow->size); 1514 err = start_opal_cmd(dev, opaluid[OPAL_MBR], 1515 opalmethod[OPAL_SET]); 1516 add_token_u8(&err, dev, OPAL_STARTNAME); 1517 add_token_u8(&err, dev, OPAL_WHERE); 1518 add_token_u64(&err, dev, shadow->offset + off); 1519 add_token_u8(&err, dev, OPAL_ENDNAME); 1520 1521 add_token_u8(&err, dev, OPAL_STARTNAME); 1522 add_token_u8(&err, dev, OPAL_VALUES); 1523 payload = add_bytestring_header(&err, dev, len); 1524 if (!payload) 1525 break; > 1526 if (copy_from_user(payload, shadow->data + off, len)) 1527 err = -EFAULT; 1528 1529 add_token_u8(&err, dev, OPAL_ENDNAME); 1530 if (err) 1531 break; 1532 1533 err = finalize_and_send(dev, parse_and_check_status); 1534 if (err) 1535 break; 1536 } 1537 return err; 1538 } 1539 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Re: [PATCH V2 3/5] genirq/affinity: move actual irq vector spread into one helper
Hi Ming, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on tip/irq/core] [also build test WARNING on v4.16-rc4 next-20180305] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Ming-Lei/genirq-affinity-irq-vector-spread-among-online-CPUs-as-far-as-possible/20180305-184912 config: i386-randconfig-a1-201809 (attached as .config) compiler: gcc-4.9 (Debian 4.9.4-2) 4.9.4 reproduce: # save the attached .config to linux build tree make ARCH=i386 All warnings (new ones prefixed by >>): kernel/irq/affinity.c: In function 'irq_create_affinity_masks': >> kernel/irq/affinity.c:201:50: warning: passing argument 3 of >> 'irq_build_affinity_masks' from incompatible pointer type curvec += irq_build_affinity_masks(nvecs, affd, node_to_cpumask, ^ kernel/irq/affinity.c:97:12: note: expected 'const struct cpumask (*)[1]' but argument is of type 'struct cpumask (*)[1]' static int irq_build_affinity_masks(int nvecs, const struct irq_affinity *affd, ^ vim +/irq_build_affinity_masks +201 kernel/irq/affinity.c 161 162 /** 163 * irq_create_affinity_masks - Create affinity masks for multiqueue spreading 164 * @nvecs: The total number of vectors 165 * @affd: Description of the affinity requirements 166 * 167 * Returns the masks pointer or NULL if allocation failed. 168 */ 169 struct cpumask * 170 irq_create_affinity_masks(int nvecs, const struct irq_affinity *affd) 171 { 172 int curvec; 173 struct cpumask *masks; 174 cpumask_var_t nmsk, *node_to_cpumask; 175 176 /* 177 * If there aren't any vectors left after applying the pre/post 178 * vectors don't bother with assigning affinity. 179 */ 180 if (nvecs == affd->pre_vectors + affd->post_vectors) 181 return NULL; 182 183 if (!zalloc_cpumask_var(&nmsk, GFP_KERNEL)) 184 return NULL; 185 186 masks = kcalloc(nvecs, sizeof(*masks), GFP_KERNEL); 187 if (!masks) 188 goto out; 189 190 node_to_cpumask = alloc_node_to_cpumask(); 191 if (!node_to_cpumask) 192 goto out; 193 194 /* Fill out vectors at the beginning that don't need affinity */ 195 for (curvec = 0; curvec < affd->pre_vectors; curvec++) 196 cpumask_copy(masks + curvec, irq_default_affinity); 197 198 /* Stabilize the cpumasks */ 199 get_online_cpus(); 200 build_node_to_cpumask(node_to_cpumask); > 201 curvec += irq_build_affinity_masks(nvecs, affd, node_to_cpumask, 202 cpu_possible_mask, nmsk, masks); 203 put_online_cpus(); 204 205 /* Fill out vectors at the end that don't need affinity */ 206 for (; curvec < nvecs; curvec++) 207 cpumask_copy(masks + curvec, irq_default_affinity); 208 free_node_to_cpumask(node_to_cpumask); 209 out: 210 free_cpumask_var(nmsk); 211 return masks; 212 } 213 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH rfc 2/5] irq-am: add some debugfs exposure on tuning state
Hi Sagi, I love your patch! Yet something to improve: [auto build test ERROR on v4.15] [also build test ERROR on next-20180206] [cannot apply to linus/master rdma/for-next] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Sagi-Grimberg/irq-am-Introduce-library-implementing-generic-adaptive-moderation/20180206-224501 config: sh-allmodconfig (attached as .config) compiler: sh4-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=sh All error/warnings (new ones prefixed by >>): >> lib/irq-am.c:17:8: error: type defaults to 'int' in declaration of >> 'DEFINE_IDA' [-Werror=implicit-int] static DEFINE_IDA(am_ida); ^~ >> lib/irq-am.c:17:1: warning: parameter names (without types) in function >> declaration static DEFINE_IDA(am_ida); ^~ lib/irq-am.c: In function 'irq_am_cleanup': >> lib/irq-am.c:262:2: error: implicit declaration of function >> 'ida_simple_remove'; did you mean 'simple_rename'? >> [-Werror=implicit-function-declaration] ida_simple_remove(&am_ida, am->id); ^ simple_rename >> lib/irq-am.c:262:21: error: 'am_ida' undeclared (first use in this function) ida_simple_remove(&am_ida, am->id); ^~ lib/irq-am.c:262:21: note: each undeclared identifier is reported only once for each function it appears in lib/irq-am.c: In function 'irq_am_init': >> lib/irq-am.c:276:11: error: implicit declaration of function >> 'ida_simple_get'; did you mean 'simple_open'? >> [-Werror=implicit-function-declaration] am->id = ida_simple_get(&am_ida, 0, 0, GFP_KERNEL); ^~ simple_open lib/irq-am.c:276:27: error: 'am_ida' undeclared (first use in this function) am->id = ida_simple_get(&am_ida, 0, 0, GFP_KERNEL); ^~ lib/irq-am.c: At top level: lib/irq-am.c:17:8: warning: 'DEFINE_IDA' declared 'static' but never defined [-Wunused-function] static DEFINE_IDA(am_ida); ^~ cc1: some warnings being treated as errors vim +17 lib/irq-am.c 16 > 17 static DEFINE_IDA(am_ida); 18 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH rfc 2/5] irq-am: add some debugfs exposure on tuning state
Hi Sagi, I love your patch! Yet something to improve: [auto build test ERROR on v4.15] [also build test ERROR on next-20180206] [cannot apply to linus/master rdma/for-next] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Sagi-Grimberg/irq-am-Introduce-library-implementing-generic-adaptive-moderation/20180206-224501 config: i386-randconfig-s0-201805 (attached as .config) compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): lib/irq-am.c:17:8: error: type defaults to 'int' in declaration of 'DEFINE_IDA' [-Werror=implicit-int] static DEFINE_IDA(am_ida); ^~ lib/irq-am.c:17:1: warning: parameter names (without types) in function declaration static DEFINE_IDA(am_ida); ^~ lib/irq-am.c: In function 'irq_am_cleanup': >> lib/irq-am.c:262:2: error: implicit declaration of function >> 'ida_simple_remove' [-Werror=implicit-function-declaration] ida_simple_remove(&am_ida, am->id); ^ lib/irq-am.c:262:21: error: 'am_ida' undeclared (first use in this function) ida_simple_remove(&am_ida, am->id); ^~ lib/irq-am.c:262:21: note: each undeclared identifier is reported only once for each function it appears in lib/irq-am.c: In function 'irq_am_init': >> lib/irq-am.c:276:11: error: implicit declaration of function >> 'ida_simple_get' [-Werror=implicit-function-declaration] am->id = ida_simple_get(&am_ida, 0, 0, GFP_KERNEL); ^~ lib/irq-am.c:276:27: error: 'am_ida' undeclared (first use in this function) am->id = ida_simple_get(&am_ida, 0, 0, GFP_KERNEL); ^~ lib/irq-am.c: At top level: lib/irq-am.c:17:8: warning: 'DEFINE_IDA' declared 'static' but never defined [-Wunused-function] static DEFINE_IDA(am_ida); ^~ cc1: some warnings being treated as errors vim +/ida_simple_remove +262 lib/irq-am.c 257 258 void irq_am_cleanup(struct irq_am *am) 259 { 260 flush_work(&am->work); 261 irq_am_deregister_debugfs(am); > 262 ida_simple_remove(&am_ida, am->id); 263 } 264 EXPORT_SYMBOL_GPL(irq_am_cleanup); 265 266 void irq_am_init(struct irq_am *am, unsigned int nr_events, 267 unsigned short nr_levels, unsigned short start_level, irq_am_fn *fn) 268 { 269 memset(am, 0, sizeof(*am)); 270 am->state = IRQ_AM_START_MEASURING; 271 am->tune_state = IRQ_AM_GOING_UP; 272 am->nr_levels = nr_levels; 273 am->nr_events = nr_events; 274 am->curr_level = start_level; 275 am->program = fn; > 276 am->id = ida_simple_get(&am_ida, 0, 0, GFP_KERNEL); 277 WARN_ON(am->id < 0); 278 INIT_WORK(&am->work, irq_am_program_moderation_work); 279 if (irq_am_register_debugfs(am)) 280 pr_warn("irq-am %d failed to register debugfs\n", am->id); 281 } 282 EXPORT_SYMBOL_GPL(irq_am_init); 283 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH v2 4/4] lockdep: Assign a lock_class per gendisk used for wait_for_completion()
Hi Byungchul, [auto build test ERROR on linus/master] [also build test ERROR on v4.14-rc5 next-20171018] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Byungchul-Park/Fix-false-positives-by-cross-release-feature/20171022-022121 config: i386-randconfig-x002-201743 (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): block/genhd.c: In function '__alloc_disk_node': >> block/genhd.c:1407:24: error: 'struct gendisk' has no member named >> 'lockdep_map' lockdep_init_map(&disk->lockdep_map, lock_name, key, 0); ^~ vim +1407 block/genhd.c 1356 1357 struct gendisk *__alloc_disk_node(int minors, int node_id, struct lock_class_key *key, const char *lock_name) 1358 { 1359 struct gendisk *disk; 1360 struct disk_part_tbl *ptbl; 1361 1362 if (minors > DISK_MAX_PARTS) { 1363 printk(KERN_ERR 1364 "block: can't allocated more than %d partitions\n", 1365 DISK_MAX_PARTS); 1366 minors = DISK_MAX_PARTS; 1367 } 1368 1369 disk = kzalloc_node(sizeof(struct gendisk), GFP_KERNEL, node_id); 1370 if (disk) { 1371 if (!init_part_stats(&disk->part0)) { 1372 kfree(disk); 1373 return NULL; 1374 } 1375 disk->node_id = node_id; 1376 if (disk_expand_part_tbl(disk, 0)) { 1377 free_part_stats(&disk->part0); 1378 kfree(disk); 1379 return NULL; 1380 } 1381 ptbl = rcu_dereference_protected(disk->part_tbl, 1); 1382 rcu_assign_pointer(ptbl->part[0], &disk->part0); 1383 1384 /* 1385 * set_capacity() and get_capacity() currently don't use 1386 * seqcounter to read/update the part0->nr_sects. Still init 1387 * the counter as we can read the sectors in IO submission 1388 * patch using seqence counters. 1389 * 1390 * TODO: Ideally set_capacity() and get_capacity() should be 1391 * converted to make use of bd_mutex and sequence counters. 1392 */ 1393 seqcount_init(&disk->part0.nr_sects_seq); 1394 if (hd_ref_init(&disk->part0)) { 1395 hd_free_part(&disk->part0); 1396 kfree(disk); 1397 return NULL; 1398 } 1399 1400 disk->minors = minors; 1401 rand_initialize_disk(disk); 1402 disk_to_dev(disk)->class = &block_class; 1403 disk_to_dev(disk)->type = &disk_type; 1404 device_initialize(disk_to_dev(disk)); 1405 } 1406 > 1407 lockdep_init_map(&disk->lockdep_map, lock_name, key, 0); 1408 1409 return disk; 1410 } 1411 EXPORT_SYMBOL(__alloc_disk_node); 1412 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH v3 46/49] fs/btrfs: convert to bio_for_each_segment_all_sp()
Hi Ming, [auto build test WARNING on linus/master] [also build test WARNING on v4.13-rc4 next-20170810] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Ming-Lei/block-support-multipage-bvec/20170810-110521 config: x86_64-randconfig-b0-08112217 (attached as .config) compiler: gcc-4.4 (Debian 4.4.7-8) 4.4.7 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All warnings (new ones prefixed by >>): fs/btrfs/raid56.c: In function 'find_logical_bio_stripe': >> fs/btrfs/raid56.c:1368: warning: unused variable 'bia' vim +/bia +1368 fs/btrfs/raid56.c 1356 1357 /* 1358 * helper to find the stripe number for a given 1359 * bio (before mapping). Used to figure out which stripe has 1360 * failed. This looks up based on logical block numbers. 1361 */ 1362 static int find_logical_bio_stripe(struct btrfs_raid_bio *rbio, 1363 struct bio *bio) 1364 { 1365 u64 logical = bio->bi_iter.bi_sector; 1366 u64 stripe_start; 1367 int i; > 1368 struct bvec_iter_all bia; 1369 1370 logical <<= 9; 1371 1372 for (i = 0; i < rbio->nr_data; i++) { 1373 stripe_start = rbio->bbio->raid_map[i]; 1374 if (logical >= stripe_start && 1375 logical < stripe_start + rbio->stripe_len) { 1376 return i; 1377 } 1378 } 1379 return -1; 1380 } 1381 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 03/14] blk-mq: introduce blk_mq_dispatch_rq_from_ctxs()
Hi Ming, [auto build test ERROR on block/for-next] [also build test ERROR on v4.13-rc3 next-20170802] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Ming-Lei/blk-mq-sched-fix-SCSI-MQ-performance-regression/20170801-031007 base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next config: x86_64-randconfig-b0-08022356 (attached as .config) compiler: gcc-4.4 (Debian 4.4.7-8) 4.4.7 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All error/warnings (new ones prefixed by >>): block/blk-mq.c: In function 'blk_mq_flush_busy_ctxs': >> block/blk-mq.c:861: error: unknown field 'list' specified in initializer >> block/blk-mq.c:861: warning: missing braces around initializer block/blk-mq.c:861: warning: (near initialization for 'data.') block/blk-mq.c: In function 'blk_mq_dispatch_rq_from_ctxs': >> block/blk-mq.c:872: error: unknown field 'rq' specified in initializer block/blk-mq.c:872: warning: missing braces around initializer block/blk-mq.c:872: warning: (near initialization for 'data.') vim +/list +861 block/blk-mq.c 22e09fd59 Ming Lei 2017-08-01 852 320ae51fe Jens Axboe2013-10-24 853 /* 1429d7c94 Jens Axboe2014-05-19 854 * Process software queues that have been marked busy, splicing them 1429d7c94 Jens Axboe2014-05-19 855 * to the for-dispatch 1429d7c94 Jens Axboe2014-05-19 856 */ 2c3ad6679 Jens Axboe2016-12-14 857 void blk_mq_flush_busy_ctxs(struct blk_mq_hw_ctx *hctx, struct list_head *list) 1429d7c94 Jens Axboe2014-05-19 858 { 4b5ef3bbb Ming Lei 2017-08-01 859 struct ctx_iter_data data = { 88459642c Omar Sandoval 2016-09-17 860 .hctx = hctx, 88459642c Omar Sandoval 2016-09-17 @861 .list = list, 88459642c Omar Sandoval 2016-09-17 862 }; 1429d7c94 Jens Axboe2014-05-19 863 88459642c Omar Sandoval 2016-09-17 864 sbitmap_for_each_set(&hctx->ctx_map, flush_busy_ctx, &data); 1429d7c94 Jens Axboe2014-05-19 865 } 2c3ad6679 Jens Axboe2016-12-14 866 EXPORT_SYMBOL_GPL(blk_mq_flush_busy_ctxs); 1429d7c94 Jens Axboe2014-05-19 867 22e09fd59 Ming Lei 2017-08-01 868 struct request *blk_mq_dispatch_rq_from_ctxs(struct blk_mq_hw_ctx *hctx) 22e09fd59 Ming Lei 2017-08-01 869 { 22e09fd59 Ming Lei 2017-08-01 870 struct ctx_iter_data data = { 22e09fd59 Ming Lei 2017-08-01 871 .hctx = hctx, 22e09fd59 Ming Lei 2017-08-01 @872 .rq = NULL, 22e09fd59 Ming Lei 2017-08-01 873 }; 22e09fd59 Ming Lei 2017-08-01 874 22e09fd59 Ming Lei 2017-08-01 875 sbitmap_for_each_set(&hctx->ctx_map, dispatch_rq_from_ctx, &data); 22e09fd59 Ming Lei 2017-08-01 876 22e09fd59 Ming Lei 2017-08-01 877 return data.rq; 22e09fd59 Ming Lei 2017-08-01 878 } 22e09fd59 Ming Lei 2017-08-01 879 :: The code at line 861 was first introduced by commit :: 88459642cba452630326b9cab1c651e09577d4e4 blk-mq: abstract tag allocation out into sbitmap library :: TO: Omar Sandoval :: CC: Jens Axboe --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 4/4] block_dev: support RFW_NOWAIT on block device nodes
Hi Christoph, [auto build test WARNING on linus/master] [also build test WARNING on next-20170707] [cannot apply to v4.12] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Christoph-Hellwig/fs-pass-iocb-to-do_generic_file_read/20170708-020747 config: x86_64-randconfig-x012-201727 (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All warnings (new ones prefixed by >>): In file included from include/linux/init.h:4:0, from fs/block_dev.c:8: fs/block_dev.c: In function 'blkdev_write_iter': fs/block_dev.c:1895:21: warning: suggest parentheses around comparison in operand of '&' [-Wparentheses] if (iocb->ki_flags & (IOCB_NOWAIT | IOCB_DIRECT) == IOCB_NOWAIT) ^ include/linux/compiler.h:156:30: note: in definition of macro '__trace_if' if (__builtin_constant_p(!!(cond)) ? !!(cond) : \ ^~~~ >> fs/block_dev.c:1895:2: note: in expansion of macro 'if' if (iocb->ki_flags & (IOCB_NOWAIT | IOCB_DIRECT) == IOCB_NOWAIT) ^~ fs/block_dev.c:1895:21: warning: suggest parentheses around comparison in operand of '&' [-Wparentheses] if (iocb->ki_flags & (IOCB_NOWAIT | IOCB_DIRECT) == IOCB_NOWAIT) ^ include/linux/compiler.h:156:42: note: in definition of macro '__trace_if' if (__builtin_constant_p(!!(cond)) ? !!(cond) : \ ^~~~ >> fs/block_dev.c:1895:2: note: in expansion of macro 'if' if (iocb->ki_flags & (IOCB_NOWAIT | IOCB_DIRECT) == IOCB_NOWAIT) ^~ fs/block_dev.c:1895:21: warning: suggest parentheses around comparison in operand of '&' [-Wparentheses] if (iocb->ki_flags & (IOCB_NOWAIT | IOCB_DIRECT) == IOCB_NOWAIT) ^ include/linux/compiler.h:167:16: note: in definition of macro '__trace_if' __r = !!(cond); \ ^~~~ >> fs/block_dev.c:1895:2: note: in expansion of macro 'if' if (iocb->ki_flags & (IOCB_NOWAIT | IOCB_DIRECT) == IOCB_NOWAIT) ^~ vim +/if +1895 fs/block_dev.c 1879 { 1880 struct file *file = iocb->ki_filp; 1881 struct inode *bd_inode = bdev_file_inode(file); 1882 loff_t size = i_size_read(bd_inode); 1883 struct blk_plug plug; 1884 ssize_t ret; 1885 1886 if (bdev_read_only(I_BDEV(bd_inode))) 1887 return -EPERM; 1888 1889 if (!iov_iter_count(from)) 1890 return 0; 1891 1892 if (iocb->ki_pos >= size) 1893 return -ENOSPC; 1894 > 1895 if (iocb->ki_flags & (IOCB_NOWAIT | IOCB_DIRECT) == IOCB_NOWAIT) 1896 return -EOPNOTSUPP; 1897 1898 iov_iter_truncate(from, size - iocb->ki_pos); 1899 1900 blk_start_plug(&plug); 1901 ret = __generic_file_write_iter(iocb, from); 1902 if (ret > 0) 1903 ret = generic_write_sync(iocb, ret); --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 4/4] block_dev: support RFW_NOWAIT on block device nodes
Hi Christoph, [auto build test WARNING on linus/master] [also build test WARNING on next-20170707] [cannot apply to v4.12] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Christoph-Hellwig/fs-pass-iocb-to-do_generic_file_read/20170708-020747 config: x86_64-randconfig-x015-201727 (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All warnings (new ones prefixed by >>): fs/block_dev.c: In function 'blkdev_write_iter': >> fs/block_dev.c:1895:21: warning: suggest parentheses around comparison in >> operand of '&' [-Wparentheses] if (iocb->ki_flags & (IOCB_NOWAIT | IOCB_DIRECT) == IOCB_NOWAIT) ^ vim +1895 fs/block_dev.c 1879 { 1880 struct file *file = iocb->ki_filp; 1881 struct inode *bd_inode = bdev_file_inode(file); 1882 loff_t size = i_size_read(bd_inode); 1883 struct blk_plug plug; 1884 ssize_t ret; 1885 1886 if (bdev_read_only(I_BDEV(bd_inode))) 1887 return -EPERM; 1888 1889 if (!iov_iter_count(from)) 1890 return 0; 1891 1892 if (iocb->ki_pos >= size) 1893 return -ENOSPC; 1894 > 1895 if (iocb->ki_flags & (IOCB_NOWAIT | IOCB_DIRECT) == IOCB_NOWAIT) 1896 return -EOPNOTSUPP; 1897 1898 iov_iter_truncate(from, size - iocb->ki_pos); 1899 1900 blk_start_plug(&plug); 1901 ret = __generic_file_write_iter(iocb, from); 1902 if (ret > 0) 1903 ret = generic_write_sync(iocb, ret); --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
[PATCH] bio-integrity: fix boolreturn.cocci warnings
block/bio-integrity.c:318:10-11: WARNING: return of 0/1 in function 'bio_integrity_prep' with return type bool Return statements in functions returning bool should use true/false instead of 1/0. Generated by: scripts/coccinelle/misc/boolreturn.cocci Fixes: e23947bd76f0 ("bio-integrity: fold bio_integrity_enabled to bio_integrity_prep") CC: Dmitry Monakhov Signed-off-by: Fengguang Wu --- bio-integrity.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/block/bio-integrity.c +++ b/block/bio-integrity.c @@ -315,7 +315,7 @@ bool bio_integrity_prep(struct bio *bio) bytes, offset); if (ret == 0) - return 0; + return false; if (ret < bytes) break;
Re: [PATCH BUGFIX] block, bfq: update wr_busy_queues if needed on a queue split
Hi Paolo, [auto build test WARNING on v4.12-rc5] [also build test WARNING on next-20170616] [cannot apply to block/for-next] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Paolo-Valente/block-bfq-update-wr_busy_queues-if-needed-on-a-queue-split/20170619-145003 config: i386-randconfig-x000-201725 (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=i386 Note: it may well be a FALSE warning. FWIW you are at least aware of it now. http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings All warnings (new ones prefixed by >>): block/bfq-iosched.c: In function 'bfq_get_rq_private': >> block/bfq-iosched.c:770:10: warning: 'old_wr_coeff' may be used >> uninitialized in this function [-Wmaybe-uninitialized] else if (old_wr_coeff > 1 && bfqq->wr_coeff == 1) ^ block/bfq-iosched.c:731:15: note: 'old_wr_coeff' was declared here unsigned int old_wr_coeff; ^~~~ vim +/old_wr_coeff +770 block/bfq-iosched.c 754 time_is_before_jiffies(bfqq->last_wr_start_finish + 755 bfqq->wr_cur_max_time))) { 756 bfq_log_bfqq(bfqq->bfqd, bfqq, 757 "resume state: switching off wr"); 758 759 bfqq->wr_coeff = 1; 760 } 761 762 /* make sure weight will be updated, however we got here */ 763 bfqq->entity.prio_changed = 1; 764 765 if (likely(!busy)) 766 return; 767 768 if (old_wr_coeff == 1 && bfqq->wr_coeff > 1) 769 bfqd->wr_busy_queues++; > 770 else if (old_wr_coeff > 1 && bfqq->wr_coeff == 1) 771 bfqd->wr_busy_queues--; 772 } 773 774 static int bfqq_process_refs(struct bfq_queue *bfqq) 775 { 776 return bfqq->ref - bfqq->allocated - bfqq->entity.on_st; 777 } 778 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH V3 05/12] kernfs: introduce kernfs_node_id
Hi Shaohua, [auto build test ERROR on block/for-next] [also build test ERROR on v4.12-rc5 next-20170616] [cannot apply to driver-core/driver-core-testing] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Shaohua-Li/blktrace-output-cgroup-info/20170616-133722 base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next config: x86_64-kexec (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): In file included from fs/fs-writeback.c:98:0: include/trace/events/writeback.h: In function '__trace_wb_assign_cgroup': >> include/trace/events/writeback.h:139:34: error: 'struct kernfs_node' has no >> member named 'ino' return wb->memcg_css->cgroup->kn->ino; ^~ In file included from fs/fs-writeback.c:98:0: include/trace/events/writeback.h:140:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ vim +139 include/trace/events/writeback.h 9fb0a7da Tejun Heo 2013-01-11 133 5634cc2a Tejun Heo 2015-08-18 134 #ifdef CREATE_TRACE_POINTS 5634cc2a Tejun Heo 2015-08-18 135 #ifdef CONFIG_CGROUP_WRITEBACK 5634cc2a Tejun Heo 2015-08-18 136 a664edb3 Yang Shi 2016-03-03 137 static inline unsigned int __trace_wb_assign_cgroup(struct bdi_writeback *wb) 5634cc2a Tejun Heo 2015-08-18 138 { a664edb3 Yang Shi 2016-03-03 @139 return wb->memcg_css->cgroup->kn->ino; 5634cc2a Tejun Heo 2015-08-18 140 } 5634cc2a Tejun Heo 2015-08-18 141 a664edb3 Yang Shi 2016-03-03 142 static inline unsigned int __trace_wbc_assign_cgroup(struct writeback_control *wbc) :: The code at line 139 was first introduced by commit :: a664edb374c704a734a0df41fc742c285a5beb52 tracing, writeback: Replace cgroup path to cgroup ino :: TO: Yang Shi :: CC: Steven Rostedt --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH V2 05/12] kernfs: introduce kernfs_node_id
Hi Shaohua, [auto build test ERROR on linus/master] [also build test ERROR on v4.12-rc5 next-20170615] [cannot apply to driver-core/driver-core-testing block/for-next] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Shaohua-Li/kernfs-implement-i_generation/20170615-211524 config: sh-allmodconfig (attached as .config) compiler: sh4-linux-gnu-gcc (Debian 6.3.0-18) 6.3.0 20170516 reproduce: wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=sh All error/warnings (new ones prefixed by >>): In file included from fs/fs-writeback.c:98:0: include/trace/events/writeback.h: In function '__trace_wb_assign_cgroup': >> include/trace/events/writeback.h:139:34: error: 'struct kernfs_node' has no >> member named 'ino' return wb->memcg_css->cgroup->kn->ino; ^~ In file included from fs/fs-writeback.c:98:0: >> include/trace/events/writeback.h:140:1: warning: control reaches end of >> non-void function [-Wreturn-type] } ^ vim +139 include/trace/events/writeback.h 9fb0a7da Tejun Heo 2013-01-11 133 5634cc2a Tejun Heo 2015-08-18 134 #ifdef CREATE_TRACE_POINTS 5634cc2a Tejun Heo 2015-08-18 135 #ifdef CONFIG_CGROUP_WRITEBACK 5634cc2a Tejun Heo 2015-08-18 136 a664edb3 Yang Shi 2016-03-03 137 static inline unsigned int __trace_wb_assign_cgroup(struct bdi_writeback *wb) 5634cc2a Tejun Heo 2015-08-18 138 { a664edb3 Yang Shi 2016-03-03 @139 return wb->memcg_css->cgroup->kn->ino; 5634cc2a Tejun Heo 2015-08-18 @140 } 5634cc2a Tejun Heo 2015-08-18 141 a664edb3 Yang Shi 2016-03-03 142 static inline unsigned int __trace_wbc_assign_cgroup(struct writeback_control *wbc) 5634cc2a Tejun Heo 2015-08-18 143 { :: The code at line 139 was first introduced by commit :: a664edb374c704a734a0df41fc742c285a5beb52 tracing, writeback: Replace cgroup path to cgroup ino :: TO: Yang Shi :: CC: Steven Rostedt --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH V2 12/12] block: use standard blktrace API to output cgroup info for debug notes
Hi Shaohua, [auto build test ERROR on linus/master] [also build test ERROR on v4.12-rc5] [cannot apply to driver-core/driver-core-testing block/for-next next-20170615] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Shaohua-Li/kernfs-implement-i_generation/20170615-211524 config: x86_64-randconfig-x014-201724 (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): block/bfq-cgroup.c: In function 'bfq_bic_update_cgroup': >> block/bfq-cgroup.c:679:2: error: implicit declaration of function >> 'blkg_path' [-Werror=implicit-function-declaration] blkg_path(bfqg_to_blkg(bfqg), bfqg->blkg_path, sizeof(bfqg->blkg_path)); ^ cc1: some warnings being treated as errors vim +/blkg_path +679 block/bfq-cgroup.c 8f9bebc3 Paolo Valente 2017-06-05 673 * Finally, note that bfqg itself needs to be protected from 8f9bebc3 Paolo Valente 2017-06-05 674 * destruction on the blkg_free of the original blkg (which 8f9bebc3 Paolo Valente 2017-06-05 675 * invokes bfq_pd_free). We use an additional private 8f9bebc3 Paolo Valente 2017-06-05 676 * refcounter for bfqg, to let it disappear only after no 8f9bebc3 Paolo Valente 2017-06-05 677 * bfq_queue refers to it any longer. 8f9bebc3 Paolo Valente 2017-06-05 678 */ 8f9bebc3 Paolo Valente 2017-06-05 @679 blkg_path(bfqg_to_blkg(bfqg), bfqg->blkg_path, sizeof(bfqg->blkg_path)); ea25da48 Paolo Valente 2017-04-19 680 bic->blkcg_serial_nr = serial_nr; ea25da48 Paolo Valente 2017-04-19 681 out: ea25da48 Paolo Valente 2017-04-19 682 rcu_read_unlock(); :: The code at line 679 was first introduced by commit :: 8f9bebc33dd718283183582fc4a762e178552fb8 block, bfq: access and cache blkg data only when safe :: TO: Paolo Valente :: CC: Jens Axboe --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 07/11] blktrace: export cgroup info in trace
Hi Shaohua, [auto build test WARNING on driver-core/driver-core-testing] [also build test WARNING on v4.12-rc3 next-20170602] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Shaohua-Li/kernfs-implement-i_generation/20170603-083132 reproduce: make htmldocs All warnings (new ones prefixed by >>): WARNING: convert(1) not found, for SVG to PDF conversion install ImageMagick (https://www.imagemagick.org) arch/x86/include/asm/uaccess_32.h:1: warning: no structured comments found >> kernel/trace/blktrace.c:750: warning: No description found for parameter >> 'cgid' kernel/trace/blktrace.c:807: warning: No description found for parameter 'cgid' include/linux/init.h:1: warning: no structured comments found include/linux/mod_devicetable.h:686: warning: Excess struct/union/enum/typedef member 'ver_major' description in 'fsl_mc_device_id' include/linux/mod_devicetable.h:686: warning: Excess struct/union/enum/typedef member 'ver_minor' description in 'fsl_mc_device_id' kernel/sched/core.c:2088: warning: No description found for parameter 'rf' kernel/sched/core.c:2088: warning: Excess function parameter 'cookie' description in 'try_to_wake_up_local' include/linux/kthread.h:26: warning: Excess function parameter '...' description in 'kthread_create' kernel/sys.c:1: warning: no structured comments found include/linux/device.h:969: warning: No description found for parameter 'dma_ops' drivers/dma-buf/seqno-fence.c:1: warning: no structured comments found include/linux/iio/iio.h:597: warning: No description found for parameter 'trig_readonly' include/linux/iio/trigger.h:151: warning: No description found for parameter 'indio_dev' include/linux/iio/trigger.h:151: warning: No description found for parameter 'trig' include/linux/device.h:970: warning: No description found for parameter 'dma_ops' include/linux/usb/gadget.h:230: warning: No description found for parameter 'claimed' include/linux/usb/gadget.h:230: warning: No description found for parameter 'enabled' include/linux/usb/gadget.h:408: warning: No description found for parameter 'quirk_altset_not_supp' include/linux/usb/gadget.h:408: warning: No description found for parameter 'quirk_stall_not_supp' include/linux/usb/gadget.h:408: warning: No description found for parameter 'quirk_zlp_not_supp' include/drm/drm_drv.h:524: warning: No description found for parameter 'set_busid' include/drm/drm_drv.h:524: warning: No description found for parameter 'irq_handler' include/drm/drm_drv.h:524: warning: No description found for parameter 'irq_preinstall' include/drm/drm_drv.h:524: warning: No description found for parameter 'irq_postinstall' include/drm/drm_drv.h:524: warning: No description found for parameter 'irq_uninstall' include/drm/drm_drv.h:524: warning: No description found for parameter 'debugfs_init' include/drm/drm_drv.h:524: warning: No description found for parameter 'gem_open_object' include/drm/drm_drv.h:524: warning: No description found for parameter 'gem_close_object' include/drm/drm_drv.h:524: warning: No description found for parameter 'prime_handle_to_fd' include/drm/drm_drv.h:524: warning: No description found for parameter 'prime_fd_to_handle' include/drm/drm_drv.h:524: warning: No description found for parameter 'gem_prime_export' include/drm/drm_drv.h:524: warning: No description found for parameter 'gem_prime_import' include/drm/drm_drv.h:524: warning: No description found for parameter 'gem_prime_pin' include/drm/drm_drv.h:524: warning: No description found for parameter 'gem_prime_unpin' include/drm/drm_drv.h:524: warning: No description found for parameter 'gem_prime_res_obj' include/drm/drm_drv.h:524: warning: No description found for parameter 'gem_prime_get_sg_table' include/drm/drm_drv.h:524: warning: No description found for parameter 'gem_prime_import_sg_table' include/drm/drm_drv.h:524: warning: No description found for parameter 'gem_prime_vmap' include/drm/drm_drv.h:524: warning: No description found for parameter 'gem_prime_vunmap' include/drm/drm_drv.h:524: warning: No description found for parameter 'gem_prime_mmap' include/drm/drm_drv.h:524: warning: No description found for parameter 'gem_vm_ops' include/drm/drm_drv.h:524: warning: No description found for parameter 'major' include/drm/drm_drv.h:524: warning: No description found for parameter 'minor' include/drm/drm_drv.h:524: warning: No description found for parameter 'patchlevel' include/drm/drm_drv.h:524: warning: No description found for parameter 'name' include/drm/drm_drv.h:524: warning: No description found for parameter 'desc' include/drm/drm_drv.h:524: warning: No description found for parameter 'date' include/drm/drm_drv.h:524: warning: No description found for parameter 'driver_fea
Re: [PATCH 11/11] block: use standard blktrace API to output cgroup info for debug notes
Hi Shaohua, [auto build test ERROR on driver-core/driver-core-testing] [also build test ERROR on v4.12-rc3 next-20170602] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Shaohua-Li/kernfs-implement-i_generation/20170603-083132 config: x86_64-randconfig-x015-201722 (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All error/warnings (new ones prefixed by >>): block/blk-throttle.c: In function 'throtl_schedule_pending_timer': >> block/blk-throttle.c:355:3: error: implicit declaration of function >> 'blk_add_cgroup_trace_msg' [-Werror=implicit-function-declaration] blk_add_cgroup_trace_msg(__td->queue, \ ^ >> block/blk-throttle.c:697:2: note: in expansion of macro 'throtl_log' throtl_log(sq, "schedule timer. delay=%lu jiffies=%lu", ^~ cc1: some warnings being treated as errors vim +/blk_add_cgroup_trace_msg +355 block/blk-throttle.c 349 struct throtl_data *__td = sq_to_td((sq)); \ 350 \ 351 (void)__td; \ 352 if (likely(!blk_trace_note_message_enabled(__td->queue))) \ 353 break; \ 354 if ((__tg)) { \ > 355 blk_add_cgroup_trace_msg(__td->queue, > \ 356 tg_to_blkg(__tg)->blkcg, "throtl " fmt, ##args);\ 357 } else { \ 358 blk_add_trace_msg(__td->queue, "throtl " fmt, ##args); \ --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 11/11] block: use standard blktrace API to output cgroup info for debug notes
Hi Shaohua, [auto build test ERROR on driver-core/driver-core-testing] [also build test ERROR on v4.12-rc3 next-20170602] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Shaohua-Li/kernfs-implement-i_generation/20170603-083132 config: x86_64-randconfig-x010-201722 (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): kernel/trace/blktrace.c: In function '__trace_note_message': >> kernel/trace/blktrace.c:185:35: error: 'struct blkcg' has no member named >> 'css' blkcg ? cgroup_get_node_id(blkcg->css.cgroup) : NULL); ^~ vim +185 kernel/trace/blktrace.c 179 n = vscnprintf(buf, BLK_TN_MAX_MSG, fmt, args); 180 va_end(args); 181 182 if (!(blk_tracer_flags.val & TRACE_BLK_OPT_CGROUP)) 183 blkcg = NULL; 184 trace_note(bt, 0, BLK_TN_MESSAGE, buf, n, > 185 blkcg ? cgroup_get_node_id(blkcg->css.cgroup) : NULL); 186 local_irq_restore(flags); 187 } 188 EXPORT_SYMBOL_GPL(__trace_note_message); --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 2/6] blk-mq: use the introduced blk_mq_unquiesce_queue()
Hi Ming, [auto build test ERROR on block/for-next] [also build test ERROR on v4.12-rc2 next-20170525] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Ming-Lei/blk-mq-introduce-blk_mq_unquiesce_queue/20170526-140138 base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next config: x86_64-randconfig-x019-201721 (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 Note: the linux-review/Ming-Lei/blk-mq-introduce-blk_mq_unquiesce_queue/20170526-140138 HEAD 470e70e5203ed8f76bb7c1a86db58023098bfc21 builds fine. It only hurts bisectibility. All errors (new ones prefixed by >>): drivers/scsi/scsi_lib.c: In function 'scsi_internal_device_unblock': >> drivers/scsi/scsi_lib.c:3033:7: error: implicit declaration of function >> 'blk_queue_quiesced' [-Werror=implicit-function-declaration] if (blk_queue_quiesced(q)) ^~ Cyclomatic Complexity 5 include/linux/compiler.h:__read_once_size Cyclomatic Complexity 5 include/linux/compiler.h:__write_once_size Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:test_and_clear_bit Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:constant_test_bit Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:variable_test_bit Cyclomatic Complexity 1 arch/x86/include/asm/bitops.h:fls64 Cyclomatic Complexity 1 include/uapi/linux/swab.h:__swab16p Cyclomatic Complexity 1 include/uapi/linux/byteorder/little_endian.h:__be16_to_cpup Cyclomatic Complexity 1 include/linux/log2.h:__ilog2_u64 Cyclomatic Complexity 1 include/linux/list.h:INIT_LIST_HEAD Cyclomatic Complexity 1 include/linux/list.h:__list_add_valid Cyclomatic Complexity 1 include/linux/list.h:__list_del_entry_valid Cyclomatic Complexity 2 include/linux/list.h:__list_add Cyclomatic Complexity 1 include/linux/list.h:list_add_tail Cyclomatic Complexity 1 include/linux/list.h:__list_del Cyclomatic Complexity 2 include/linux/list.h:__list_del_entry Cyclomatic Complexity 1 include/linux/list.h:list_del Cyclomatic Complexity 1 include/linux/list.h:list_del_init Cyclomatic Complexity 1 include/linux/list.h:list_move_tail Cyclomatic Complexity 1 include/linux/list.h:list_empty Cyclomatic Complexity 1 include/linux/list.h:__list_splice Cyclomatic Complexity 2 include/linux/list.h:list_splice Cyclomatic Complexity 2 include/linux/list.h:list_splice_init Cyclomatic Complexity 1 arch/x86/include/asm/current.h:get_current Cyclomatic Complexity 1 include/asm-generic/getorder.h:__get_order Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_read Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_set Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_inc Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_dec Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_add_return Cyclomatic Complexity 1 arch/x86/include/asm/atomic.h:atomic_sub_return Cyclomatic Complexity 1 include/linux/jump_label.h:static_key_count Cyclomatic Complexity 2 include/linux/jump_label.h:static_key_false Cyclomatic Complexity 1 arch/x86/include/asm/paravirt.h:arch_local_save_flags Cyclomatic Complexity 1 arch/x86/include/asm/irqflags.h:arch_irqs_disabled_flags Cyclomatic Complexity 5 arch/x86/include/asm/preempt.h:__preempt_count_add Cyclomatic Complexity 1 arch/x86/include/asm/preempt.h:__preempt_count_dec_and_test Cyclomatic Complexity 1 include/linux/spinlock.h:spinlock_check Cyclomatic Complexity 1 include/linux/spinlock.h:spin_lock_irq Cyclomatic Complexity 1 include/linux/spinlock.h:spin_unlock_irq Cyclomatic Complexity 1 include/linux/spinlock.h:spin_unlock_irqrestore Cyclomatic Complexity 1 include/linux/rcupdate.h:rcu_read_lock_sched_notrace Cyclomatic Complexity 1 include/linux/mm.h:lowmem_page_address Cyclomatic Complexity 1 include/linux/uaccess.h:pagefault_disabled_inc Cyclomatic Complexity 1 include/linux/uaccess.h:pagefault_disabled_dec Cyclomatic Complexity 1 include/linux/uaccess.h:pagefault_disable Cyclomatic Complexity 1 include/linux/uaccess.h:pagefault_enable Cyclomatic Complexity 1 include/linux/highmem.h:kmap_atomic Cyclomatic Complexity 1 include/linux/blk_types.h:op_is_write Cyclomatic Complexity 1 include/linux/slab.h:kmem_cache_alloc_node Cyclomatic Complexity 68 include/linux/slab.h:kmalloc_large Cyclomatic Complexity 3 include/linux/slab.h:kmalloc Cyclomatic Complexity 1 include/linux/slab.h:kzalloc Cyclomatic Complexity 1 include/linux/blkdev.h:blk_rq_is_scsi Cyclomatic Complexity 1 include/linux/blkdev.h:blk_rq_is_private Cyclomatic Complexity 3 include/linux/blkdev.h:blk_rq_is_passthrough Cyclomatic Complexity 1 include/linux/blkdev.h:blk_rq_by
Re: [PATCH 1/2] block, dax: move "select DAX" from BLOCK to FS_DAX
Hi Dan, [auto build test ERROR on linus/master] [also build test ERROR on next-20170508] [cannot apply to v4.11] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Dan-Williams/block-dax-move-select-DAX-from-BLOCK-to-FS_DAX/20170509-051522 config: parisc-c3000_defconfig (attached as .config) compiler: hppa-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705 reproduce: wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=parisc All errors (new ones prefixed by >>): fs/built-in.o: In function `bdev_dax_supported': >> (.text.bdev_dax_supported+0x4c): undefined reference to `dax_get_by_host' fs/built-in.o: In function `bdev_dax_supported': >> (.text.bdev_dax_supported+0x5c): undefined reference to `dax_read_lock' fs/built-in.o: In function `bdev_dax_supported': >> (.text.bdev_dax_supported+0x7c): undefined reference to `dax_direct_access' fs/built-in.o: In function `bdev_dax_supported': >> (.text.bdev_dax_supported+0x88): undefined reference to `dax_read_unlock' fs/built-in.o: In function `bdev_dax_supported': >> (.text.bdev_dax_supported+0x90): undefined reference to `put_dax' --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH v3] axon_ram: add dax_operations support
Hi Dan, [auto build test WARNING on powerpc/next] [also build test WARNING on v4.11-rc7 next-20170419] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Dan-Williams/axon_ram-add-dax_operations-support/20170420-091615 base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next config: powerpc-allyesconfig (attached as .config) compiler: powerpc64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705 reproduce: wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=powerpc All warnings (new ones prefixed by >>): arch/powerpc/sysdev/axonram.c: In function 'axon_ram_dax_direct_access': arch/powerpc/sysdev/axonram.c:176:31: error: implicit declaration of function 'dax_get_private' [-Werror=implicit-function-declaration] struct axon_ram_bank *bank = dax_get_private(dax_dev); ^~~ >> arch/powerpc/sysdev/axonram.c:176:31: warning: initialization makes pointer >> from integer without a cast [-Wint-conversion] arch/powerpc/sysdev/axonram.c: At top level: arch/powerpc/sysdev/axonram.c:181:21: error: variable 'axon_ram_dax_ops' has initializer but incomplete type static const struct dax_operations axon_ram_dax_ops = { ^~ arch/powerpc/sysdev/axonram.c:182:2: error: unknown field 'direct_access' specified in initializer .direct_access = axon_ram_dax_direct_access, ^ >> arch/powerpc/sysdev/axonram.c:182:19: warning: excess elements in struct >> initializer .direct_access = axon_ram_dax_direct_access, ^~ arch/powerpc/sysdev/axonram.c:182:19: note: (near initialization for 'axon_ram_dax_ops') arch/powerpc/sysdev/axonram.c: In function 'axon_ram_probe': arch/powerpc/sysdev/axonram.c:255:18: error: implicit declaration of function 'alloc_dax' [-Werror=implicit-function-declaration] bank->dax_dev = alloc_dax(bank, bank->disk->disk_name, ^ >> arch/powerpc/sysdev/axonram.c:255:16: warning: assignment makes pointer from >> integer without a cast [-Wint-conversion] bank->dax_dev = alloc_dax(bank, bank->disk->disk_name, ^ arch/powerpc/sysdev/axonram.c:313:3: error: implicit declaration of function 'kill_dax' [-Werror=implicit-function-declaration] kill_dax(bank->dax_dev); ^~~~ arch/powerpc/sysdev/axonram.c:314:3: error: implicit declaration of function 'put_dax' [-Werror=implicit-function-declaration] put_dax(bank->dax_dev); ^~~ arch/powerpc/sysdev/axonram.c: At top level: arch/powerpc/sysdev/axonram.c:181:36: error: storage size of 'axon_ram_dax_ops' isn't known static const struct dax_operations axon_ram_dax_ops = { ^~~~ cc1: some warnings being treated as errors vim +176 arch/powerpc/sysdev/axonram.c 170 }; 171 172 static long 173 axon_ram_dax_direct_access(struct dax_device *dax_dev, pgoff_t pgoff, long nr_pages, 174 void **kaddr, pfn_t *pfn) 175 { > 176 struct axon_ram_bank *bank = dax_get_private(dax_dev); 177 178 return __axon_ram_direct_access(bank, pgoff, nr_pages, kaddr, pfn); 179 } 180 181 static const struct dax_operations axon_ram_dax_ops = { > 182 .direct_access = axon_ram_dax_direct_access, 183 }; 184 185 /** 186 * axon_ram_probe - probe() method for platform driver 187 * @device: see platform_driver method 188 */ 189 static int axon_ram_probe(struct platform_device *device) 190 { 191 static int axon_ram_bank_id = -1; 192 struct axon_ram_bank *bank; 193 struct resource resource; 194 int rc = 0; 195 196 axon_ram_bank_id++; 197 198 dev_info(&device->dev, "Found memory controller on %s\n", 199 device->dev.of_node->full_name); 200 201 bank = kzalloc(sizeof(struct axon_ram_bank), GFP_KERNEL); 202 if (bank == NULL) { 203 dev_err(&device->dev, "Out of memory\n"); 204 rc = -ENOMEM; 205 goto failed; 206 } 207 208 device->dev.platform_data = bank; 209 210 bank->device = device; 211 212 if (of_address_to_resource(device->dev.of_node, 0, &resource) != 0) { 213 dev_err(&device->dev, "Cannot access device tree\n"); 214 rc = -EFAULT; 215 goto failed; 216 } 217 218 bank->size = resource_size(&resource); 219 220 if (b
Re: [PATCH v3] dcssblk: add dax_operations support
Hi Dan, [auto build test ERROR on linus/master] [also build test ERROR on v4.11-rc7 next-20170419] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Dan-Williams/dcssblk-add-dax_operations-support/20170420-090408 config: s390-defconfig (attached as .config) compiler: s390x-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705 reproduce: wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=s390 All error/warnings (new ones prefixed by >>): >> drivers/s390/block/dcssblk.c:36:46: warning: 'struct dax_device' declared >> inside parameter list will not be visible outside of this definition or >> declaration static long dcssblk_dax_direct_access(struct dax_device *dax_dev, pgoff_t pgoff, ^~ >> drivers/s390/block/dcssblk.c:49:21: error: variable 'dcssblk_dax_ops' has >> initializer but incomplete type static const struct dax_operations dcssblk_dax_ops = { ^~ >> drivers/s390/block/dcssblk.c:50:2: error: unknown field 'direct_access' >> specified in initializer .direct_access = dcssblk_dax_direct_access, ^ >> drivers/s390/block/dcssblk.c:50:19: warning: excess elements in struct >> initializer .direct_access = dcssblk_dax_direct_access, ^ drivers/s390/block/dcssblk.c:50:19: note: (near initialization for 'dcssblk_dax_ops') drivers/s390/block/dcssblk.c: In function 'dcssblk_shared_store': >> drivers/s390/block/dcssblk.c:400:2: error: implicit declaration of function >> 'kill_dax' [-Werror=implicit-function-declaration] kill_dax(dev_info->dax_dev); ^~~~ >> drivers/s390/block/dcssblk.c:401:2: error: implicit declaration of function >> 'put_dax' [-Werror=implicit-function-declaration] put_dax(dev_info->dax_dev); ^~~ drivers/s390/block/dcssblk.c: In function 'dcssblk_add_store': >> drivers/s390/block/dcssblk.c:667:22: error: implicit declaration of function >> 'alloc_dax' [-Werror=implicit-function-declaration] dev_info->dax_dev = alloc_dax(dev_info, dev_info->gd->disk_name, ^ >> drivers/s390/block/dcssblk.c:667:20: warning: assignment makes pointer from >> integer without a cast [-Wint-conversion] dev_info->dax_dev = alloc_dax(dev_info, dev_info->gd->disk_name, ^ drivers/s390/block/dcssblk.c: At top level: drivers/s390/block/dcssblk.c:932:1: error: conflicting types for 'dcssblk_dax_direct_access' dcssblk_dax_direct_access(struct dax_device *dax_dev, pgoff_t pgoff, ^ drivers/s390/block/dcssblk.c:36:13: note: previous declaration of 'dcssblk_dax_direct_access' was here static long dcssblk_dax_direct_access(struct dax_device *dax_dev, pgoff_t pgoff, ^ drivers/s390/block/dcssblk.c: In function 'dcssblk_dax_direct_access': >> drivers/s390/block/dcssblk.c:935:38: error: implicit declaration of function >> 'dax_get_private' [-Werror=implicit-function-declaration] struct dcssblk_dev_info *dev_info = dax_get_private(dax_dev); ^~~ >> drivers/s390/block/dcssblk.c:935:38: warning: initialization makes pointer >> from integer without a cast [-Wint-conversion] drivers/s390/block/dcssblk.c: At top level: >> drivers/s390/block/dcssblk.c:49:36: error: storage size of 'dcssblk_dax_ops' >> isn't known static const struct dax_operations dcssblk_dax_ops = { ^~~ drivers/s390/block/dcssblk.c:36:13: warning: 'dcssblk_dax_direct_access' used but never defined static long dcssblk_dax_direct_access(struct dax_device *dax_dev, pgoff_t pgoff, ^ drivers/s390/block/dcssblk.c:932:1: warning: 'dcssblk_dax_direct_access' defined but not used [-Wunused-function] dcssblk_dax_direct_access(struct dax_device *dax_dev, pgoff_t pgoff, ^ cc1: some warnings being treated as errors vim +/dcssblk_dax_ops +49 drivers/s390/block/dcssblk.c 30 static int dcssblk_open(struct block_device *bdev, fmode_t mode); 31 static void dcssblk_release(struct gendisk *disk, fmode_t mode); 32 static blk_qc_t dcssblk_make_request(struct request_queue *q, 33 struct bio *bio); 34 static long dcssblk_blk_direct_access(struct block_device *bdev, sector_t secnum, 35 void **kaddr, pfn_t *pfn, long size); > 36 static long dcssblk_dax_direct_access(struct dax_device *dax_dev, pgoff_t pgoff, 37 long nr_pages, void **kaddr, pfn_t *pfn);
Re: [PATCH v3] axon_ram: add dax_operations support
Hi Dan, [auto build test ERROR on powerpc/next] [also build test ERROR on v4.11-rc7 next-20170419] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Dan-Williams/axon_ram-add-dax_operations-support/20170420-091615 base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next config: powerpc-defconfig (attached as .config) compiler: powerpc64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705 reproduce: wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=powerpc All errors (new ones prefixed by >>): arch/powerpc/sysdev/axonram.c: In function 'axon_ram_dax_direct_access': >> arch/powerpc/sysdev/axonram.c:176:31: error: implicit declaration of >> function 'dax_get_private' [-Werror=implicit-function-declaration] struct axon_ram_bank *bank = dax_get_private(dax_dev); ^~~ >> arch/powerpc/sysdev/axonram.c:176:31: error: initialization makes pointer >> from integer without a cast [-Werror=int-conversion] arch/powerpc/sysdev/axonram.c: At top level: >> arch/powerpc/sysdev/axonram.c:181:21: error: variable 'axon_ram_dax_ops' has >> initializer but incomplete type static const struct dax_operations axon_ram_dax_ops = { ^~ >> arch/powerpc/sysdev/axonram.c:182:2: error: unknown field 'direct_access' >> specified in initializer .direct_access = axon_ram_dax_direct_access, ^ arch/powerpc/sysdev/axonram.c:182:19: error: excess elements in struct initializer [-Werror] .direct_access = axon_ram_dax_direct_access, ^~ arch/powerpc/sysdev/axonram.c:182:19: note: (near initialization for 'axon_ram_dax_ops') arch/powerpc/sysdev/axonram.c: In function 'axon_ram_probe': >> arch/powerpc/sysdev/axonram.c:255:18: error: implicit declaration of >> function 'alloc_dax' [-Werror=implicit-function-declaration] bank->dax_dev = alloc_dax(bank, bank->disk->disk_name, ^ >> arch/powerpc/sysdev/axonram.c:255:16: error: assignment makes pointer from >> integer without a cast [-Werror=int-conversion] bank->dax_dev = alloc_dax(bank, bank->disk->disk_name, ^ >> arch/powerpc/sysdev/axonram.c:313:3: error: implicit declaration of function >> 'kill_dax' [-Werror=implicit-function-declaration] kill_dax(bank->dax_dev); ^~~~ >> arch/powerpc/sysdev/axonram.c:314:3: error: implicit declaration of function >> 'put_dax' [-Werror=implicit-function-declaration] put_dax(bank->dax_dev); ^~~ arch/powerpc/sysdev/axonram.c: At top level: >> arch/powerpc/sysdev/axonram.c:181:36: error: storage size of >> 'axon_ram_dax_ops' isn't known static const struct dax_operations axon_ram_dax_ops = { ^~~~ cc1: all warnings being treated as errors vim +/dax_get_private +176 arch/powerpc/sysdev/axonram.c 170 }; 171 172 static long 173 axon_ram_dax_direct_access(struct dax_device *dax_dev, pgoff_t pgoff, long nr_pages, 174 void **kaddr, pfn_t *pfn) 175 { > 176 struct axon_ram_bank *bank = dax_get_private(dax_dev); 177 178 return __axon_ram_direct_access(bank, pgoff, nr_pages, kaddr, pfn); 179 } 180 > 181 static const struct dax_operations axon_ram_dax_ops = { > 182 .direct_access = axon_ram_dax_direct_access, 183 }; 184 185 /** 186 * axon_ram_probe - probe() method for platform driver 187 * @device: see platform_driver method 188 */ 189 static int axon_ram_probe(struct platform_device *device) 190 { 191 static int axon_ram_bank_id = -1; 192 struct axon_ram_bank *bank; 193 struct resource resource; 194 int rc = 0; 195 196 axon_ram_bank_id++; 197 198 dev_info(&device->dev, "Found memory controller on %s\n", 199 device->dev.of_node->full_name); 200 201 bank = kzalloc(sizeof(struct axon_ram_bank), GFP_KERNEL); 202 if (bank == NULL) { 203 dev_err(&device->dev, "Out of memory\n"); 204 rc = -ENOMEM; 205 goto failed; 206 } 207 208 device->dev.platform_data = bank; 209 210 bank->device = device; 211 212 if (of_address_to_resource(device->dev.of_node, 0, &resource) != 0) { 213 dev_err(&device->dev, "Cannot access device tree\n"); 214 rc = -EFAULT; 215 goto failed; 216 } 217 218 bank->size = resource_size(
Re: [PATCH V3 02/16] block, bfq: add full hierarchical scheduling and cgroups support
Hi Arianna, [auto build test ERROR on block/for-next] [also build test ERROR on v4.11-rc6 next-20170412] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Paolo-Valente/Introduce-the-BFQ-I-O-scheduler/20170412-021320 base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next config: m32r-allyesconfig (attached as .config) compiler: m32r-linux-gcc (GCC) 6.2.0 reproduce: wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=m32r Note: the linux-review/Paolo-Valente/Introduce-the-BFQ-I-O-scheduler/20170412-021320 HEAD 36eb6533f8b6705991185201f75e98880cd223f7 builds fine. It only hurts bisectibility. All error/warnings (new ones prefixed by >>): ^~~ block/bfq-iosched.c:4559:13: error: invalid storage class for function 'bfq_bfqq_may_idle' static bool bfq_bfqq_may_idle(struct bfq_queue *bfqq) ^ block/bfq-iosched.c:4602:13: error: invalid storage class for function 'bfq_bfqq_must_idle' static bool bfq_bfqq_must_idle(struct bfq_queue *bfqq) ^~ block/bfq-iosched.c:4614:26: error: invalid storage class for function 'bfq_select_queue' static struct bfq_queue *bfq_select_queue(struct bfq_data *bfqd) ^~~~ block/bfq-iosched.c:4714:24: error: invalid storage class for function 'bfq_dispatch_rq_from_bfqq' static struct request *bfq_dispatch_rq_from_bfqq(struct bfq_data *bfqd, ^ block/bfq-iosched.c:4746:13: error: invalid storage class for function 'bfq_has_work' static bool bfq_has_work(struct blk_mq_hw_ctx *hctx) ^~~~ block/bfq-iosched.c:4758:24: error: invalid storage class for function '__bfq_dispatch_request' static struct request *__bfq_dispatch_request(struct blk_mq_hw_ctx *hctx) ^~ block/bfq-iosched.c:4843:24: error: invalid storage class for function 'bfq_dispatch_request' static struct request *bfq_dispatch_request(struct blk_mq_hw_ctx *hctx) ^~~~ block/bfq-iosched.c:4862:13: error: invalid storage class for function 'bfq_put_queue' static void bfq_put_queue(struct bfq_queue *bfqq) ^ block/bfq-iosched.c:4884:13: error: invalid storage class for function 'bfq_exit_bfqq' static void bfq_exit_bfqq(struct bfq_data *bfqd, struct bfq_queue *bfqq) ^ block/bfq-iosched.c:4896:13: error: invalid storage class for function 'bfq_exit_icq_bfqq' static void bfq_exit_icq_bfqq(struct bfq_io_cq *bic, bool is_sync) ^ block/bfq-iosched.c:4914:13: error: invalid storage class for function 'bfq_exit_icq' static void bfq_exit_icq(struct io_cq *icq) ^~~~ block/bfq-iosched.c:4927:1: error: invalid storage class for function 'bfq_set_next_ioprio_data' bfq_set_next_ioprio_data(struct bfq_queue *bfqq, struct bfq_io_cq *bic) ^~~~ block/bfq-iosched.c:4973:13: error: invalid storage class for function 'bfq_check_ioprio_change' static void bfq_check_ioprio_change(struct bfq_io_cq *bic, struct bio *bio) ^~~ block/bfq-iosched.c:5001:13: error: invalid storage class for function 'bfq_init_bfqq' static void bfq_init_bfqq(struct bfq_data *bfqd, struct bfq_queue *bfqq, ^ block/bfq-iosched.c:5036:27: error: invalid storage class for function 'bfq_async_queue_prio' static struct bfq_queue **bfq_async_queue_prio(struct bfq_data *bfqd, ^~~~ block/bfq-iosched.c:5055:26: error: invalid storage class for function 'bfq_get_queue' static struct bfq_queue *bfq_get_queue(struct bfq_data *bfqd, ^ block/bfq-iosched.c:5120:13: error: invalid storage class for function 'bfq_update_io_thinktime' static void bfq_update_io_thinktime(struct bfq_data *bfqd, ^~~ block/bfq-iosched.c:5135:1: error: invalid storage class for function 'bfq_update_io_seektime' bfq_update_io_seektime(struct bfq_data *bfqd, struct bfq_queue *bfqq, ^~ block/bfq-iosched.c:5157:13: error: invalid storage class for function 'bfq_update_idle_window' static void bfq_update_idle_window(struct bfq_data *bfqd, ^~ block/bfq-iosched.c:5192:13: error: invalid storage class for function 'bfq_rq_enqueued' static void bfq_rq_enqueued(struct bfq_data *bfqd, struc
Re: [PATCH V3 01/16] block, bfq: introduce the BFQ-v0 I/O scheduler as an extra scheduler
Hi Paolo, [auto build test ERROR on block/for-next] [also build test ERROR on v4.11-rc6 next-20170412] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Paolo-Valente/Introduce-the-BFQ-I-O-scheduler/20170412-021320 base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next config: sh-allmodconfig (attached as .config) compiler: sh4-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705 reproduce: wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=sh Note: the linux-review/Paolo-Valente/Introduce-the-BFQ-I-O-scheduler/20170412-021320 HEAD 36eb6533f8b6705991185201f75e98880cd223f7 builds fine. It only hurts bisectibility. All error/warnings (new ones prefixed by >>): ^~~~ block/bfq-iosched.c:4095:40: error: initializer element is not constant __ATTR(name, 0644, bfq_##name##_show, bfq_##name##_store) ^ include/linux/sysfs.h:104:11: note: in definition of macro '__ATTR' .store = _store, \ ^~ block/bfq-iosched.c:4105:2: note: in expansion of macro 'BFQ_ATTR' BFQ_ATTR(timeout_sync), ^~~~ block/bfq-iosched.c:4095:40: note: (near initialization for 'bfq_attrs[7].store') __ATTR(name, 0644, bfq_##name##_show, bfq_##name##_store) ^ include/linux/sysfs.h:104:11: note: in definition of macro '__ATTR' .store = _store, \ ^~ block/bfq-iosched.c:4105:2: note: in expansion of macro 'BFQ_ATTR' BFQ_ATTR(timeout_sync), ^~~~ block/bfq-iosched.c:4095:21: error: initializer element is not constant __ATTR(name, 0644, bfq_##name##_show, bfq_##name##_store) ^ include/linux/sysfs.h:103:10: note: in definition of macro '__ATTR' .show = _show, \ ^ block/bfq-iosched.c:4106:2: note: in expansion of macro 'BFQ_ATTR' BFQ_ATTR(strict_guarantees), ^~~~ block/bfq-iosched.c:4095:21: note: (near initialization for 'bfq_attrs[8].show') __ATTR(name, 0644, bfq_##name##_show, bfq_##name##_store) ^ include/linux/sysfs.h:103:10: note: in definition of macro '__ATTR' .show = _show, \ ^ block/bfq-iosched.c:4106:2: note: in expansion of macro 'BFQ_ATTR' BFQ_ATTR(strict_guarantees), ^~~~ block/bfq-iosched.c:4095:40: error: initializer element is not constant __ATTR(name, 0644, bfq_##name##_show, bfq_##name##_store) ^ include/linux/sysfs.h:104:11: note: in definition of macro '__ATTR' .store = _store, \ ^~ block/bfq-iosched.c:4106:2: note: in expansion of macro 'BFQ_ATTR' BFQ_ATTR(strict_guarantees), ^~~~ block/bfq-iosched.c:4095:40: note: (near initialization for 'bfq_attrs[8].store') __ATTR(name, 0644, bfq_##name##_show, bfq_##name##_store) ^ include/linux/sysfs.h:104:11: note: in definition of macro '__ATTR' .store = _store, \ ^~ block/bfq-iosched.c:4106:2: note: in expansion of macro 'BFQ_ATTR' BFQ_ATTR(strict_guarantees), ^~~~ block/bfq-iosched.c:4112:19: error: initializer element is not constant .get_rq_priv = bfq_get_rq_private, ^~ block/bfq-iosched.c:4112:19: note: (near initialization for 'iosched_bfq_mq.ops.mq.get_rq_priv') block/bfq-iosched.c:4113:19: error: initializer element is not constant .put_rq_priv = bfq_put_rq_private, ^~ block/bfq-iosched.c:4113:19: note: (near initialization for 'iosched_bfq_mq.ops.mq.put_rq_priv') block/bfq-iosched.c:4114:16: error: initializer element is not constant .exit_icq = bfq_exit_icq, ^~~~ block/bfq-iosched.c:4114:16: note: (near initialization for 'iosched_bfq_mq.ops.mq.exit_icq') block/bfq-iosched.c:4115:22: error: initializer element is not constant .insert_requests = bfq_insert_requests, ^~~ block/bfq-iosched.c:4115:22: note: (near initialization for 'iosched_bfq_mq.ops.mq.insert_requests') block/bfq-iosched.c:4116:23: error: initializer element is not constant .dispatch_request = bfq_dispatch_request, ^~~~ block/bfq-iosched.c:4116:23: note: (near initialization for 'iosched_bfq_mq.ops.mq.dispatch_request') block/bfq-iosched.c:4124:16: error: initializer element is not constant .has_work = bfq_has_work, ^~~~ block/bfq-iosched.c:4124:16: note: (near initializati
Re: [PATCH V3 01/16] block, bfq: introduce the BFQ-v0 I/O scheduler as an extra scheduler
Hi Paolo, [auto build test ERROR on block/for-next] [also build test ERROR on v4.11-rc6 next-20170412] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Paolo-Valente/Introduce-the-BFQ-I-O-scheduler/20170412-021320 base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next config: blackfin-allyesconfig (attached as .config) compiler: bfin-uclinux-gcc (GCC) 6.2.0 reproduce: wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=blackfin Note: the linux-review/Paolo-Valente/Introduce-the-BFQ-I-O-scheduler/20170412-021320 HEAD 36eb6533f8b6705991185201f75e98880cd223f7 builds fine. It only hurts bisectibility. All error/warnings (new ones prefixed by >>): block/bfq-iosched.c: In function 'bfq_update_peak_rate': >> block/bfq-iosched.c:2674:6: error: 'delta_usecs' undeclared (first use in >> this function) if (delta_usecs < 1000) { ^~~ block/bfq-iosched.c:2674:6: note: each undeclared identifier is reported only once for each function it appears in >> block/bfq-iosched.c:2739:22: error: invalid storage class for function >> 'bfq_smallest_from_now' static unsigned long bfq_smallest_from_now(void) ^ >> block/bfq-iosched.c:2739:1: warning: ISO C90 forbids mixed declarations and >> code [-Wdeclaration-after-statement] static unsigned long bfq_smallest_from_now(void) ^~ >> block/bfq-iosched.c:2774:13: error: invalid storage class for function >> 'bfq_bfqq_expire' static void bfq_bfqq_expire(struct bfq_data *bfqd, ^~~ >> block/bfq-iosched.c:2823:13: error: invalid storage class for function >> 'bfq_bfqq_budget_timeout' static bool bfq_bfqq_budget_timeout(struct bfq_queue *bfqq) ^~~ >> block/bfq-iosched.c:2839:13: error: invalid storage class for function >> 'bfq_may_expire_for_budg_timeout' static bool bfq_may_expire_for_budg_timeout(struct bfq_queue *bfqq) ^~~ >> block/bfq-iosched.c:2858:13: error: invalid storage class for function >> 'bfq_bfqq_may_idle' static bool bfq_bfqq_may_idle(struct bfq_queue *bfqq) ^ >> block/bfq-iosched.c:2901:13: error: invalid storage class for function >> 'bfq_bfqq_must_idle' static bool bfq_bfqq_must_idle(struct bfq_queue *bfqq) ^~ >> block/bfq-iosched.c:2913:26: error: invalid storage class for function >> 'bfq_select_queue' static struct bfq_queue *bfq_select_queue(struct bfq_data *bfqd) ^~~~ >> block/bfq-iosched.c:3012:24: error: invalid storage class for function >> 'bfq_dispatch_rq_from_bfqq' static struct request *bfq_dispatch_rq_from_bfqq(struct bfq_data *bfqd, ^ >> block/bfq-iosched.c:3044:13: error: invalid storage class for function >> 'bfq_has_work' static bool bfq_has_work(struct blk_mq_hw_ctx *hctx) ^~~~ >> block/bfq-iosched.c:3056:24: error: invalid storage class for function >> '__bfq_dispatch_request' static struct request *__bfq_dispatch_request(struct blk_mq_hw_ctx *hctx) ^~ >> block/bfq-iosched.c:3141:24: error: invalid storage class for function >> 'bfq_dispatch_request' static struct request *bfq_dispatch_request(struct blk_mq_hw_ctx *hctx) ^~~~ >> block/bfq-iosched.c:3160:13: error: invalid storage class for function >> 'bfq_put_queue' static void bfq_put_queue(struct bfq_queue *bfqq) ^ >> block/bfq-iosched.c:3173:13: error: invalid storage class for function >> 'bfq_exit_bfqq' static void bfq_exit_bfqq(struct bfq_data *bfqd, struct bfq_queue *bfqq) ^ >> block/bfq-iosched.c:3185:13: error: invalid storage class for function >> 'bfq_exit_icq_bfqq' static void bfq_exit_icq_bfqq(struct bfq_io_cq *bic, bool is_sync) ^ >> block/bfq-iosched.c:3203:13: error: invalid storage class for function >> 'bfq_exit_icq' static void bfq_exit_icq(struct io_cq *icq) ^~~~ >> block/bfq-iosched.c:3216:1: error: invalid storage class for function >> 'bfq_set_next_ioprio_data' bfq_set_next_ioprio_data(struct bfq_queue *bfqq, struct bfq_io_cq *bic) ^~~~ >> block/bfq-iosched.c:3262:13: error: invalid storage class for function >> 'bfq_check_ioprio_change' static void bfq_check_ioprio_change(struct bfq_io_cq *bic, struct bio *bio) ^~~ >> block/bfq-iosched.c:3290:13: error: inval
Re: [PATCH V2 16/16] block, bfq: split bfq-iosched.c into multiple source files
Hi Paolo, [auto build test ERROR on block/for-next] [also build test ERROR on v4.11-rc4 next-20170331] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Paolo-Valente/block-bfq-introduce-the-BFQ-v0-I-O-scheduler-as-an-extra-scheduler/20170402-100622 base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next config: i386-allmodconfig (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): >> ERROR: "bfq_mark_bfqq_busy" [block/bfq-wf2q.ko] undefined! >> ERROR: "bfqg_stats_update_dequeue" [block/bfq-wf2q.ko] undefined! >> ERROR: "bfq_clear_bfqq_busy" [block/bfq-wf2q.ko] undefined! >> ERROR: "bfq_clear_bfqq_non_blocking_wait_rq" [block/bfq-wf2q.ko] undefined! >> ERROR: "bfq_bfqq_non_blocking_wait_rq" [block/bfq-wf2q.ko] undefined! >> ERROR: "bfq_clear_bfqq_wait_request" [block/bfq-wf2q.ko] undefined! >> ERROR: "bfq_timeout" [block/bfq-wf2q.ko] undefined! >> ERROR: "bfqg_stats_set_start_empty_time" [block/bfq-wf2q.ko] undefined! >> ERROR: "bfq_weights_tree_add" [block/bfq-wf2q.ko] undefined! >> ERROR: "bfq_put_queue" [block/bfq-wf2q.ko] undefined! >> ERROR: "bfq_bfqq_sync" [block/bfq-wf2q.ko] undefined! >> ERROR: "bfqg_to_blkg" [block/bfq-wf2q.ko] undefined! >> ERROR: "bfqq_group" [block/bfq-wf2q.ko] undefined! >> ERROR: "bfq_weights_tree_remove" [block/bfq-wf2q.ko] undefined! >> ERROR: "bfq_bic_update_cgroup" [block/bfq-iosched.ko] undefined! >> ERROR: "bfqg_stats_set_start_idle_time" [block/bfq-iosched.ko] undefined! >> ERROR: "bfqg_stats_update_completion" [block/bfq-iosched.ko] undefined! >> ERROR: "bfq_bfqq_move" [block/bfq-iosched.ko] undefined! >> ERROR: "bfqg_put" [block/bfq-iosched.ko] undefined! >> ERROR: "next_queue_may_preempt" [block/bfq-iosched.ko] undefined! --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 6/8] bio-integrity: add bio_integrity_setup helper
Hi Dmitry, [auto build test ERROR on linus/master] [also build test ERROR on v4.11-rc4] [cannot apply to block/for-next next-20170331] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Dmitry-Monakhov/block-T10-DIF-Fixes-and-cleanups/20170401-043532 config: sparc64-defconfig (attached as .config) compiler: sparc64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705 reproduce: wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=sparc64 All errors (new ones prefixed by >>): In file included from include/linux/blkdev.h:20:0, from include/linux/backing-dev.h:14, from include/linux/nfs_fs_sb.h:5, from include/linux/nfs_fs.h:37, from arch/sparc/kernel/sys_sparc32.c:24: >> include/linux/bio.h:788:12: error: 'bio_integrity_setup' defined but not >> used [-Werror=unused-function] static int bio_integrity_setup(struct bio *bio) ^~~ cc1: all warnings being treated as errors vim +/bio_integrity_setup +788 include/linux/bio.h 782 783 static inline int bio_integrity_prep(struct bio *bio) 784 { 785 return 0; 786 } 787 > 788 static int bio_integrity_setup(struct bio *bio) 789 { 790 return 0; 791 } --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 7/8] T10: Move opencoded contants to common header
Hi Dmitry, [auto build test ERROR on linus/master] [also build test ERROR on v4.11-rc4] [cannot apply to block/for-next next-20170331] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Dmitry-Monakhov/block-T10-DIF-Fixes-and-cleanups/20170401-043532 config: x86_64-kexec (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): drivers/scsi//qla2xxx/qla_isr.c: In function 'qla2x00_handle_dif_error': >> drivers/scsi//qla2xxx/qla_isr.c:1953:20: error: 'T10_APP_TAG' undeclared >> (first use in this function) if ((a_app_tag == T10_APP_TAG) && ^~~ drivers/scsi//qla2xxx/qla_isr.c:1953:20: note: each undeclared identifier is reported only once for each function it appears in >> drivers/scsi//qla2xxx/qla_isr.c:1955:21: error: 'T10_REF_TAG' undeclared >> (first use in this function) (a_ref_tag == T10_REF_TAG))) { ^~~ In file included from include/linux/blkdev.h:20:0, from include/linux/blk-mq.h:4, from include/scsi/scsi_host.h:10, from drivers/scsi//qla2xxx/qla_def.h:31, from drivers/scsi//qla2xxx/qla_isr.c:7: At top level: include/linux/bio.h:788:12: warning: 'bio_integrity_setup' defined but not used [-Wunused-function] static int bio_integrity_setup(struct bio *bio) ^~~ vim +/T10_APP_TAG +1953 drivers/scsi//qla2xxx/qla_isr.c 1947 1948 /* 1949 * Ignore sector if: 1950 * For type 3: ref & app tag is all 'f's 1951 * For type 0,1,2: app tag is all 'f's 1952 */ > 1953 if ((a_app_tag == T10_APP_TAG) && 1954 ((scsi_get_prot_type(cmd) != SCSI_PROT_DIF_TYPE3) || > 1955 (a_ref_tag == T10_REF_TAG))) { 1956 uint32_t blocks_done, resid; 1957 sector_t lba_s = scsi_get_lba(cmd); 1958 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 20/28] ibnbd_clt: add Makefile and Kconfig
Hi Jack, [auto build test WARNING on linus/master] [also build test WARNING on next-20170324] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Jack-Wang/INFINIBAND-NETWORK-BLOCK-DEVICE-IBNBD/20170325-101629 config: i386-allmodconfig (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=i386 All warnings (new ones prefixed by >>): In file included from include/linux/printk.h:6:0, from include/linux/kernel.h:13, from arch/x86/include/asm/percpu.h:44, from arch/x86/include/asm/current.h:5, from include/linux/sched.h:11, from include/linux/blkdev.h:4, from drivers/block/ibnbd_client/../ibnbd_lib/../ibnbd_inc/ibnbd.h:50, from drivers/block/ibnbd_client/../ibnbd_lib/../ibnbd_inc/ibnbd-proto.h:50, from drivers/block/ibnbd_client/../ibnbd_lib/ibnbd-proto.c:47: drivers/block/ibnbd_client/../ibnbd_lib/ibnbd-proto.c: In function 'ibnbd_validate_msg_sess_info': >> include/linux/kern_levels.h:4:18: warning: format '%lu' expects argument of >> type 'long unsigned int', but argument 3 has type 'size_t {aka unsigned >> int}' [-Wformat=] #define KERN_SOH "\001" /* ASCII Start Of Header */ ^ include/linux/kern_levels.h:10:18: note: in expansion of macro 'KERN_SOH' #define KERN_ERR KERN_SOH "3" /* error conditions */ ^~~~ include/linux/printk.h:301:9: note: in expansion of macro 'KERN_ERR' printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__) ^~~~ >> drivers/block/ibnbd_client/../ibnbd_lib/../ibnbd_inc/log.h:50:26: note: in >> expansion of macro 'pr_err' #define ERR_NP(fmt, ...) pr_err("ibnbd L%d ERR: " fmt, \ ^~ >> drivers/block/ibnbd_client/../ibnbd_lib/ibnbd-proto.c:54:3: note: in >> expansion of macro 'ERR_NP' ERR_NP("Sess info message with unexpected length received" ^~ include/linux/kern_levels.h:4:18: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'unsigned int' [-Wformat=] #define KERN_SOH "\001" /* ASCII Start Of Header */ ^ include/linux/kern_levels.h:10:18: note: in expansion of macro 'KERN_SOH' #define KERN_ERR KERN_SOH "3" /* error conditions */ ^~~~ include/linux/printk.h:301:9: note: in expansion of macro 'KERN_ERR' printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__) ^~~~ >> drivers/block/ibnbd_client/../ibnbd_lib/../ibnbd_inc/log.h:50:26: note: in >> expansion of macro 'pr_err' #define ERR_NP(fmt, ...) pr_err("ibnbd L%d ERR: " fmt, \ ^~ >> drivers/block/ibnbd_client/../ibnbd_lib/ibnbd-proto.c:54:3: note: in >> expansion of macro 'ERR_NP' ERR_NP("Sess info message with unexpected length received" ^~ drivers/block/ibnbd_client/../ibnbd_lib/ibnbd-proto.c: In function 'ibnbd_validate_msg_sess_info_rsp': >> include/linux/kern_levels.h:4:18: warning: format '%lu' expects argument of >> type 'long unsigned int', but argument 3 has type 'size_t {aka unsigned >> int}' [-Wformat=] #define KERN_SOH "\001" /* ASCII Start Of Header */ ^ include/linux/kern_levels.h:10:18: note: in expansion of macro 'KERN_SOH' #define KERN_ERR KERN_SOH "3" /* error conditions */ ^~~~ include/linux/printk.h:301:9: note: in expansion of macro 'KERN_ERR' printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__) ^~~~ >> drivers/block/ibnbd_client/../ibnbd_lib/../ibnbd_inc/log.h:50:26: note: in >> expansion of macro 'pr_err' #define ERR_NP(fmt, ...) pr_err("ibnbd L%d ERR: " fmt, \ ^~ drivers/block/ibnbd_client/../ibnbd_lib/ibnbd-proto.c:67:3: note: in expansion of macro 'ERR_NP' ERR_NP("Sess info message with unexpected length received" ^~ include/linux/kern_levels.h:4:18: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'unsigned int' [-Wformat=] #define KERN_SOH "\001" /* ASCII Start Of Header */ ^ include/linux/kern_levels.h:10:18: note: in expansion of macro 'KERN_SOH' #define KERN_ERR KERN_SOH "3" /* error conditions */ ^~~~ include/linux/printk.h:301:9: note: in expansion of macro 'KERN_ERR' printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__) ^~~~ >> drivers/block/ibnbd_client/../ibnbd_lib/../ibnbd_inc/log.h:50:26: note: in >> expansion of macro 'pr_err' #define ERR_NP(fmt, ...) pr_err("ibnbd L%d ERR: " fmt, \ ^~ drivers/block/ibnbd_client/../ibnbd_lib/ibnbd-proto.c:67:3: note: i
Re: [PATCH 13/28] ibtrs_srv: add Makefile and Kconfig
Hi Jack, [auto build test ERROR on linus/master] [also build test ERROR on v4.11-rc3 next-20170324] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Jack-Wang/INFINIBAND-NETWORK-BLOCK-DEVICE-IBNBD/20170325-101629 config: arm-allyesconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 6.1.1-9) 6.1.1 20160705 reproduce: wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm All errors (new ones prefixed by >>): drivers/infiniband/ulp/ibtrs_server/built-in.o: In function `ib_con_destroy': >> common.c:(.text+0x81bc): multiple definition of `ib_con_destroy' drivers/infiniband/ulp/ibtrs_client/built-in.o:common.c:(.text+0xcca8): first defined here drivers/infiniband/ulp/ibtrs_server/built-in.o: In function `ibtrs_malloc': >> common.c:(.text+0x8f0c): multiple definition of `ibtrs_malloc' drivers/infiniband/ulp/ibtrs_client/built-in.o:common.c:(.text+0xd9f8): first defined here drivers/infiniband/ulp/ibtrs_server/built-in.o: In function `ibtrs_write_empty_imm': >> common.c:(.text+0x7f34): multiple definition of `ibtrs_write_empty_imm' drivers/infiniband/ulp/ibtrs_client/built-in.o:common.c:(.text+0xca20): first defined here drivers/infiniband/ulp/ibtrs_server/built-in.o: In function `ib_post_rdma_write': >> common.c:(.text+0x8044): multiple definition of `ib_post_rdma_write' drivers/infiniband/ulp/ibtrs_client/built-in.o:common.c:(.text+0xcb30): first defined here drivers/infiniband/ulp/ibtrs_server/built-in.o: In function `fill_ibtrs_msg_sess_open': >> common.c:(.text+0x86dc): multiple definition of `fill_ibtrs_msg_sess_open' drivers/infiniband/ulp/ibtrs_client/built-in.o:common.c:(.text+0xd1c8): first defined here drivers/infiniband/ulp/ibtrs_server/built-in.o: In function `ibtrs_addr_to_str': >> common.c:(.text+0x7e80): multiple definition of `ibtrs_addr_to_str' drivers/infiniband/ulp/ibtrs_client/built-in.o:common.c:(.text+0xc96c): first defined here drivers/infiniband/ulp/ibtrs_server/built-in.o: In function `ibtrs_post_send': >> common.c:(.text+0x7f94): multiple definition of `ibtrs_post_send' drivers/infiniband/ulp/ibtrs_client/built-in.o:common.c:(.text+0xca80): first defined here drivers/infiniband/ulp/ibtrs_server/built-in.o: In function `ibtrs_iu_put': >> common.c:(.text+0x87d8): multiple definition of `ibtrs_iu_put' drivers/infiniband/ulp/ibtrs_client/built-in.o:common.c:(.text+0xd2c4): first defined here drivers/infiniband/ulp/ibtrs_server/built-in.o: In function `ib_session_init': >> common.c:(.text+0x80e0): multiple definition of `ib_session_init' drivers/infiniband/ulp/ibtrs_client/built-in.o:common.c:(.text+0xcbcc): first defined here drivers/infiniband/ulp/ibtrs_server/built-in.o: In function `post_beacon': >> common.c:(.text+0x8244): multiple definition of `post_beacon' drivers/infiniband/ulp/ibtrs_client/built-in.o:common.c:(.text+0xcd30): first defined here drivers/infiniband/ulp/ibtrs_server/built-in.o: In function `ibtrs_request_cq_notifications': >> common.c:(.text+0x8194): multiple definition of >> `ibtrs_request_cq_notifications' drivers/infiniband/ulp/ibtrs_client/built-in.o:common.c:(.text+0xcc80): first defined here drivers/infiniband/ulp/ibtrs_server/built-in.o: In function `ibtrs_iu_get': >> common.c:(.text+0x8818): multiple definition of `ibtrs_iu_get' drivers/infiniband/ulp/ibtrs_client/built-in.o:common.c:(.text+0xd304): first defined here drivers/infiniband/ulp/ibtrs_server/built-in.o: In function `ibtrs_heartbeat_set_send_ts': >> common.c:(.text+0x8b30): multiple definition of `ibtrs_heartbeat_set_send_ts' drivers/infiniband/ulp/ibtrs_client/built-in.o:common.c:(.text+0xd61c): first defined here drivers/infiniband/ulp/ibtrs_server/built-in.o: In function `ibtrs_iu_free': >> common.c:(.text+0x8a60): multiple definition of `ibtrs_iu_free' drivers/infiniband/ulp/ibtrs_client/built-in.o:common.c:(.text+0xd54c): first defined here drivers/infiniband/ulp/ibtrs_server/built-in.o: In function `ibtrs_heartbeat_send_ts_diff_ms': >> common.c:(.text+0x8bf0): multiple definition of >> `ibtrs_heartbeat_send_ts_diff_ms' drivers/infiniband/ulp/ibtrs_client/built-in.o:common.c:(.text+0xd6dc): first defined here drivers/infiniband/ulp/ibtrs_server/built-in.o: In function `ib_get_max_wr_queue_size': >> common.c:(.text+0x80c4): multiple definition of `ib_get_max_wr_queue_size' drivers/infiniband/ulp/ibtrs_client/built-in.o:common.c:(.text+0xcbb0): first defined here drivers/infiniband/ulp/ibtrs_server/built-in.o: In function `fill_ibtrs_msg_con_open': >> common.c:(.text+0x8730): multiple definition of `fill_ibtrs_msg_con_open' drivers/infiniband/ulp/ibtrs_client/built-in.o:common.c:(
Re: [PATCH 26/28] ibnbd_srv: add Makefile and Kconfig
Hi Jack, [auto build test WARNING on linus/master] [also build test WARNING on v4.11-rc3 next-20170324] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Jack-Wang/INFINIBAND-NETWORK-BLOCK-DEVICE-IBNBD/20170325-101629 config: i386-allyesconfig (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=i386 All warnings (new ones prefixed by >>): drivers/block/ibnbd_server/ibnbd_srv.c: In function 'ibnbd_srv_revalidate_sess_dev': >> drivers/block/ibnbd_server/ibnbd_srv.c:994:10: warning: format '%lu' expects >> argument of type 'long unsigned int', but argument 4 has type 'size_t {aka >> unsigned int}' [-Wformat=] INFO(sess_dev, "notified client about device size change" ^~ drivers/block/ibnbd_server/ibnbd_srv.c:994:10: warning: format '%lu' expects argument of type 'long unsigned int', but argument 5 has type 'size_t {aka unsigned int}' [-Wformat=] -- drivers/block/ibnbd_server/../ibnbd_lib/ibnbd-proto.c: In function 'ibnbd_validate_msg_sess_info': >> drivers/block/ibnbd_server/../ibnbd_lib/ibnbd-proto.c:54:10: warning: format >> '%lu' expects argument of type 'long unsigned int', but argument 3 has type >> 'size_t {aka unsigned int}' [-Wformat=] ERR_NP("Sess info message with unexpected length received" ^~ >> drivers/block/ibnbd_server/../ibnbd_lib/ibnbd-proto.c:54:10: warning: format >> '%lu' expects argument of type 'long unsigned int', but argument 4 has type >> 'unsigned int' [-Wformat=] drivers/block/ibnbd_server/../ibnbd_lib/ibnbd-proto.c: In function 'ibnbd_validate_msg_sess_info_rsp': drivers/block/ibnbd_server/../ibnbd_lib/ibnbd-proto.c:67:10: warning: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'size_t {aka unsigned int}' [-Wformat=] ERR_NP("Sess info message with unexpected length received" ^~ drivers/block/ibnbd_server/../ibnbd_lib/ibnbd-proto.c:67:10: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'unsigned int' [-Wformat=] drivers/block/ibnbd_server/../ibnbd_lib/ibnbd-proto.c: In function 'ibnbd_validate_msg_open_resp': drivers/block/ibnbd_server/../ibnbd_lib/ibnbd-proto.c:82:10: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'unsigned int' [-Wformat=] ERR_NP("Open Response msg received with unexpected length" ^~ drivers/block/ibnbd_server/../ibnbd_lib/ibnbd-proto.c: In function 'ibnbd_validate_msg_revalidate': drivers/block/ibnbd_server/../ibnbd_lib/ibnbd-proto.c:114:10: warning: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'size_t {aka unsigned int}' [-Wformat=] ERR_NP("Device resize message with unexpected length received" ^~ drivers/block/ibnbd_server/../ibnbd_lib/ibnbd-proto.c:114:10: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'unsigned int' [-Wformat=] drivers/block/ibnbd_server/../ibnbd_lib/ibnbd-proto.c: In function 'ibnbd_validate_msg_open': drivers/block/ibnbd_server/../ibnbd_lib/ibnbd-proto.c:126:10: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'unsigned int' [-Wformat=] ERR_NP("Open msg received with unexpected length" ^~ drivers/block/ibnbd_server/../ibnbd_lib/ibnbd-proto.c: In function 'ibnbd_validate_msg_close': drivers/block/ibnbd_server/../ibnbd_lib/ibnbd-proto.c:151:10: warning: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'size_t {aka unsigned int}' [-Wformat=] ERR_NP("Close msg received with unexpected length %lu instead" ^~ drivers/block/ibnbd_server/../ibnbd_lib/ibnbd-proto.c:151:10: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'unsigned int' [-Wformat=] drivers/block/ibnbd_server/../ibnbd_lib/ibnbd-proto.c: In function 'ibnbd_validate_msg_close_rsp': drivers/block/ibnbd_server/../ibnbd_lib/ibnbd-proto.c:163:10: warning: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'size_t {aka unsigned int}' [-Wformat=] ERR_NP("Close_rsp msg received with unexpected length %lu" ^~ drivers/block/ibnbd_server/../ibnbd_lib/ibnbd-proto.c:163:10: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'unsigned int' [-Wformat=] warning: __mcount_loc already exists: drivers/block/ibnbd_server/../ibnbd_lib/ibnbd-proto.o vim +994 drivers/block/ibnbd_server/ibnbd_srv.c 346428ec Jack Wang 2017-03-24 978 msg.nsectors= nsectors; 346428ec Jack Wang 2017-03-24 979 346428ec Jack Wang 2017-0
Re: [PATCH 20/28] ibnbd_clt: add Makefile and Kconfig
Hi Jack, [auto build test WARNING on linus/master] [also build test WARNING on v4.11-rc3 next-20170324] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Jack-Wang/INFINIBAND-NETWORK-BLOCK-DEVICE-IBNBD/20170325-101629 config: i386-allyesconfig (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=i386 All warnings (new ones prefixed by >>): drivers/block/ibnbd_client/../ibnbd_lib/ibnbd-proto.c: In function 'ibnbd_validate_msg_sess_info': >> drivers/block/ibnbd_client/../ibnbd_lib/ibnbd-proto.c:54:10: warning: format >> '%lu' expects argument of type 'long unsigned int', but argument 3 has type >> 'size_t {aka unsigned int}' [-Wformat=] ERR_NP("Sess info message with unexpected length received" ^~ >> drivers/block/ibnbd_client/../ibnbd_lib/ibnbd-proto.c:54:10: warning: format >> '%lu' expects argument of type 'long unsigned int', but argument 4 has type >> 'unsigned int' [-Wformat=] drivers/block/ibnbd_client/../ibnbd_lib/ibnbd-proto.c: In function 'ibnbd_validate_msg_sess_info_rsp': drivers/block/ibnbd_client/../ibnbd_lib/ibnbd-proto.c:67:10: warning: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'size_t {aka unsigned int}' [-Wformat=] ERR_NP("Sess info message with unexpected length received" ^~ drivers/block/ibnbd_client/../ibnbd_lib/ibnbd-proto.c:67:10: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'unsigned int' [-Wformat=] drivers/block/ibnbd_client/../ibnbd_lib/ibnbd-proto.c: In function 'ibnbd_validate_msg_open_resp': drivers/block/ibnbd_client/../ibnbd_lib/ibnbd-proto.c:82:10: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'unsigned int' [-Wformat=] ERR_NP("Open Response msg received with unexpected length" ^~ drivers/block/ibnbd_client/../ibnbd_lib/ibnbd-proto.c: In function 'ibnbd_validate_msg_revalidate': drivers/block/ibnbd_client/../ibnbd_lib/ibnbd-proto.c:114:10: warning: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'size_t {aka unsigned int}' [-Wformat=] ERR_NP("Device resize message with unexpected length received" ^~ drivers/block/ibnbd_client/../ibnbd_lib/ibnbd-proto.c:114:10: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'unsigned int' [-Wformat=] drivers/block/ibnbd_client/../ibnbd_lib/ibnbd-proto.c: In function 'ibnbd_validate_msg_open': drivers/block/ibnbd_client/../ibnbd_lib/ibnbd-proto.c:126:10: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'unsigned int' [-Wformat=] ERR_NP("Open msg received with unexpected length" ^~ drivers/block/ibnbd_client/../ibnbd_lib/ibnbd-proto.c: In function 'ibnbd_validate_msg_close': drivers/block/ibnbd_client/../ibnbd_lib/ibnbd-proto.c:151:10: warning: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'size_t {aka unsigned int}' [-Wformat=] ERR_NP("Close msg received with unexpected length %lu instead" ^~ drivers/block/ibnbd_client/../ibnbd_lib/ibnbd-proto.c:151:10: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'unsigned int' [-Wformat=] drivers/block/ibnbd_client/../ibnbd_lib/ibnbd-proto.c: In function 'ibnbd_validate_msg_close_rsp': drivers/block/ibnbd_client/../ibnbd_lib/ibnbd-proto.c:163:10: warning: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'size_t {aka unsigned int}' [-Wformat=] ERR_NP("Close_rsp msg received with unexpected length %lu" ^~ drivers/block/ibnbd_client/../ibnbd_lib/ibnbd-proto.c:163:10: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'unsigned int' [-Wformat=] vim +54 drivers/block/ibnbd_client/../ibnbd_lib/ibnbd-proto.c 46a31b32 Jack Wang 2017-03-24 38 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 46a31b32 Jack Wang 2017-03-24 39 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 46a31b32 Jack Wang 2017-03-24 40 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 46a31b32 Jack Wang 2017-03-24 41 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 46a31b32 Jack Wang 2017-03-24 42 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 46a31b32 Jack Wang 2017-03-24 43 * POSSIBILITY OF SUCH DAMAGES. 46a31b32 Jack Wang 2017-03-24 44 * 46a31b32 Jack Wang 2017-03-24 45 */ 46a31b32 Jack Wang 2017-03-24 46 46a31b32 Jack Wang 2017-03-24 47 #include "../i
Re: [PATCH 13/28] ibtrs_srv: add Makefile and Kconfig
Hi Jack, [auto build test WARNING on linus/master] [also build test WARNING on v4.11-rc3 next-20170324] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Jack-Wang/INFINIBAND-NETWORK-BLOCK-DEVICE-IBNBD/20170325-101629 config: i386-allmodconfig (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=i386 All warnings (new ones prefixed by >>): In file included from include/linux/printk.h:6:0, from drivers/infiniband/ulp/ibtrs_server/../ibtrs_lib/ibtrs-proto.c:48: drivers/infiniband/ulp/ibtrs_server/../ibtrs_lib/ibtrs-proto.c: In function 'ibtrs_validate_msg_sess_open_resp': include/linux/kern_levels.h:4:18: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'unsigned int' [-Wformat=] #define KERN_SOH "\001" /* ASCII Start Of Header */ ^ include/linux/kern_levels.h:10:18: note: in expansion of macro 'KERN_SOH' #define KERN_ERR KERN_SOH "3" /* error conditions */ ^~~~ include/linux/printk.h:301:9: note: in expansion of macro 'KERN_ERR' printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__) ^~~~ include/rdma/ibtrs_log.h:62:26: note: in expansion of macro 'pr_err' #define ERR_NP(fmt, ...) pr_err("ibtrs L%d ERR: " fmt, \ ^~ >> drivers/infiniband/ulp/ibtrs_server/../ibtrs_lib/ibtrs-proto.c:59:3: note: >> in expansion of macro 'ERR_NP' ERR_NP("Session open resp msg received with unexpected length" ^~ drivers/infiniband/ulp/ibtrs_server/../ibtrs_lib/ibtrs-proto.c: In function 'ibtrs_validate_msg_rdma_write': include/linux/kern_levels.h:4:18: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'unsigned int' [-Wformat=] #define KERN_SOH "\001" /* ASCII Start Of Header */ ^ include/linux/kern_levels.h:10:18: note: in expansion of macro 'KERN_SOH' #define KERN_ERR KERN_SOH "3" /* error conditions */ ^~~~ include/linux/printk.h:301:9: note: in expansion of macro 'KERN_ERR' printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__) ^~~~ include/rdma/ibtrs_log.h:62:26: note: in expansion of macro 'pr_err' #define ERR_NP(fmt, ...) pr_err("ibtrs L%d ERR: " fmt, \ ^~ drivers/infiniband/ulp/ibtrs_server/../ibtrs_lib/ibtrs-proto.c:99:3: note: in expansion of macro 'ERR_NP' ERR_NP("RDMA-Write msg received with invalid length %d" ^~ drivers/infiniband/ulp/ibtrs_server/../ibtrs_lib/ibtrs-proto.c: In function 'ibtrs_validate_msg_req_rdma_write': include/linux/kern_levels.h:4:18: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'unsigned int' [-Wformat=] #define KERN_SOH "\001" /* ASCII Start Of Header */ ^ include/linux/kern_levels.h:10:18: note: in expansion of macro 'KERN_SOH' #define KERN_ERR KERN_SOH "3" /* error conditions */ ^~~~ include/linux/printk.h:301:9: note: in expansion of macro 'KERN_ERR' printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__) ^~~~ include/rdma/ibtrs_log.h:62:26: note: in expansion of macro 'pr_err' #define ERR_NP(fmt, ...) pr_err("ibtrs L%d ERR: " fmt, \ ^~ drivers/infiniband/ulp/ibtrs_server/../ibtrs_lib/ibtrs-proto.c:112:3: note: in expansion of macro 'ERR_NP' ERR_NP("Request-RDMA-Write msg request received with invalid" ^~ drivers/infiniband/ulp/ibtrs_server/../ibtrs_lib/ibtrs-proto.c: In function 'ibtrs_validate_msg_con_open': include/linux/kern_levels.h:4:18: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'unsigned int' [-Wformat=] #define KERN_SOH "\001" /* ASCII Start Of Header */ ^ include/linux/kern_levels.h:10:18: note: in expansion of macro 'KERN_SOH' #define KERN_ERR KERN_SOH "3" /* error conditions */ ^~~~ include/linux/printk.h:301:9: note: in expansion of macro 'KERN_ERR' printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__) ^~~~ include/rdma/ibtrs_log.h:62:26: note: in expansion of macro 'pr_err' #define ERR_NP(fmt, ...) pr_err("ibtrs L%d ERR: " fmt, \ ^~ drivers/infiniband/ulp/ibtrs_server/../ibtrs_lib/ibtrs-proto.c:125:3: note: in expansion of macro 'ERR_NP' ERR_NP("Con Open msg received with invalid length: %d" ^~ drivers/infiniband/ulp/ibtrs_server/../ibtrs_lib/ibtrs-proto.c: In function 'ibtrs_validate_msg_sess_open': include/linux/kern_levels.h:4:18: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type
Re: [PATCH 27/28] ibnbd: add doc for how to use ibnbd and sysfs interface
Hi Jack, [auto build test ERROR on linus/master] [also build test ERROR on v4.11-rc3 next-20170324] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Jack-Wang/INFINIBAND-NETWORK-BLOCK-DEVICE-IBNBD/20170325-101629 config: ia64-allyesconfig (attached as .config) compiler: ia64-linux-gcc (GCC) 6.2.0 reproduce: wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=ia64 All errors (new ones prefixed by >>): drivers/block/ibnbd_server/built-in.o: In function `ibnbd_io_mode_str': >> (.text+0x5fa0): multiple definition of `ibnbd_io_mode_str' drivers/block/ibnbd_client/built-in.o:(.text+0xb7a0): first defined here drivers/block/ibnbd_server/built-in.o: In function `ibnbd_validate_message': >> (.text+0x5a40): multiple definition of `ibnbd_validate_message' drivers/block/ibnbd_client/built-in.o:(.text+0xb240): first defined here drivers/block/ibnbd_server/built-in.o: In function `rq_cmd_to_ibnbd_io_flags': >> (.text+0x5880): multiple definition of `rq_cmd_to_ibnbd_io_flags' drivers/block/ibnbd_client/built-in.o:(.text+0xb080): first defined here drivers/block/ibnbd_server/built-in.o: In function `ibnbd_access_mode_str': >> (.text+0x6000): multiple definition of `ibnbd_access_mode_str' drivers/block/ibnbd_client/built-in.o:(.text+0xb800): first defined here drivers/block/ibnbd_server/built-in.o: In function `ibnbd_io_flags_to_bi_rw': >> (.text+0x57e0): multiple definition of `ibnbd_io_flags_to_bi_rw' drivers/block/ibnbd_client/built-in.o:(.text+0xafe0): first defined here --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 08/28] ibtrs_clt: add Makefile and Kconfig
Hi Jack, [auto build test WARNING on linus/master] [also build test WARNING on v4.11-rc3 next-20170324] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Jack-Wang/INFINIBAND-NETWORK-BLOCK-DEVICE-IBNBD/20170325-101629 config: i386-allyesconfig (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=i386 All warnings (new ones prefixed by >>): drivers/infiniband/ulp/ibtrs_client/ibtrs_clt.c: In function 'process_open_rsp': drivers/infiniband/ulp/ibtrs_client/ibtrs_clt.c:857:26: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] DEB("Adding contiguous buffer %d, size %u, addr: 0x%p," ^ drivers/infiniband/ulp/ibtrs_client/ibtrs_clt.c: In function 'ibtrs_map_desc': >> drivers/infiniband/ulp/ibtrs_client/ibtrs_clt.c:1106:24: warning: format >> '%llu' expects argument of type 'long long unsigned int', but argument 3 has >> type 'dma_addr_t {aka unsigned int}' [-Wformat=] DEB("dma_addr %llu, key %u, dma_len %u\n", dma_addr, rkey, dma_len); ^~ drivers/infiniband/ulp/ibtrs_client/ibtrs_clt.c: In function 'ibtrs_post_send_rdma': drivers/infiniband/ulp/ibtrs_client/ibtrs_clt.c:1440:23: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] addr + off, (u64)req->iu, imm, ^ drivers/infiniband/ulp/ibtrs_client/ibtrs_clt.c: In function 'ibtrs_post_send_rdma_desc': drivers/infiniband/ulp/ibtrs_client/ibtrs_clt.c:1565:17: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] addr, (u64)req->iu, imm, ^ drivers/infiniband/ulp/ibtrs_client/ibtrs_clt.c: In function 'process_err_wc': drivers/infiniband/ulp/ibtrs_client/ibtrs_clt.c:1882:7: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] iu = (struct ibtrs_iu *)wc->wr_id; ^ drivers/infiniband/ulp/ibtrs_client/ibtrs_clt.c: In function 'process_wcs': drivers/infiniband/ulp/ibtrs_client/ibtrs_clt.c:1922:8: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] iu = (struct ibtrs_iu *)wc.wr_id; ^ -- drivers/infiniband/ulp/ibtrs_client/../ibtrs_lib/ibtrs-proto.c: In function 'ibtrs_validate_msg_sess_open_resp': >> drivers/infiniband/ulp/ibtrs_client/../ibtrs_lib/ibtrs-proto.c:59:10: >> warning: format '%lu' expects argument of type 'long unsigned int', but >> argument 4 has type 'unsigned int' [-Wformat=] ERR_NP("Session open resp msg received with unexpected length" ^~ drivers/infiniband/ulp/ibtrs_client/../ibtrs_lib/ibtrs-proto.c: In function 'ibtrs_validate_msg_rdma_write': drivers/infiniband/ulp/ibtrs_client/../ibtrs_lib/ibtrs-proto.c:99:10: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'unsigned int' [-Wformat=] ERR_NP("RDMA-Write msg received with invalid length %d" ^~ drivers/infiniband/ulp/ibtrs_client/../ibtrs_lib/ibtrs-proto.c: In function 'ibtrs_validate_msg_req_rdma_write': drivers/infiniband/ulp/ibtrs_client/../ibtrs_lib/ibtrs-proto.c:112:10: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'unsigned int' [-Wformat=] ERR_NP("Request-RDMA-Write msg request received with invalid" ^~ drivers/infiniband/ulp/ibtrs_client/../ibtrs_lib/ibtrs-proto.c: In function 'ibtrs_validate_msg_con_open': drivers/infiniband/ulp/ibtrs_client/../ibtrs_lib/ibtrs-proto.c:125:10: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'unsigned int' [-Wformat=] ERR_NP("Con Open msg received with invalid length: %d" ^~ drivers/infiniband/ulp/ibtrs_client/../ibtrs_lib/ibtrs-proto.c: In function 'ibtrs_validate_msg_sess_open': drivers/infiniband/ulp/ibtrs_client/../ibtrs_lib/ibtrs-proto.c:137:10: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'unsigned int' [-Wformat=] ERR_NP("Sess open msg received with invalid length: %d" ^~ drivers/infiniband/ulp/ibtrs_client/../ibtrs_lib/ibtrs-proto.c: In function 'ibtrs_validate_msg_sess_info': drivers/infiniband/ulp/ibtrs_client/../ibtrs_lib/ibtrs-proto.c:153:10: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'unsigned int' [-Wformat=] ERR_NP("Error message received with invalid length: %d," ^~ drivers/infiniband/ulp/ibtrs_client/../ibtrs_lib/ibtrs-proto.c: In function 'ibtrs_validate_msg_error': drivers/infiniband/ulp/ibtrs_client/../ibtrs_lib/ibtrs-proto.c:164:10: warning: format '%lu' expects argument
Re: [PATCH 08/28] ibtrs_clt: add Makefile and Kconfig
Hi Jack, [auto build test WARNING on linus/master] [also build test WARNING on v4.11-rc3 next-20170324] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Jack-Wang/INFINIBAND-NETWORK-BLOCK-DEVICE-IBNBD/20170325-101629 config: i386-allmodconfig (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=i386 All warnings (new ones prefixed by >>): In file included from include/linux/printk.h:329:0, from include/linux/kernel.h:13, from include/linux/list.h:8, from include/linux/module.h:9, from drivers/infiniband/ulp/ibtrs_client/ibtrs_clt.c:47: drivers/infiniband/ulp/ibtrs_client/ibtrs_clt.c: In function 'process_open_rsp': >> drivers/infiniband/ulp/ibtrs_client/ibtrs_clt.c:859:7: warning: cast to >> pointer from integer of different size [-Wint-to-pointer-cast] (void *)sess->srv_rdma_addr[i], ^ include/linux/dynamic_debug.h:127:10: note: in definition of macro 'dynamic_pr_debug' ##__VA_ARGS__); \ ^~~ >> include/rdma/ibtrs_log.h:51:23: note: in expansion of macro 'pr_debug' #define DEB(fmt, ...) pr_debug("ibtrs L%d " fmt, __LINE__, ##__VA_ARGS__) ^~~~ >> drivers/infiniband/ulp/ibtrs_client/ibtrs_clt.c:857:3: note: in expansion of >> macro 'DEB' DEB("Adding contiguous buffer %d, size %u, addr: 0x%p," ^~~ In file included from include/linux/kernel.h:13:0, from include/linux/list.h:8, from include/linux/module.h:9, from drivers/infiniband/ulp/ibtrs_client/ibtrs_clt.c:47: drivers/infiniband/ulp/ibtrs_client/ibtrs_clt.c: In function 'ibtrs_map_desc': >> include/rdma/ibtrs_log.h:51:32: warning: format '%llu' expects argument of >> type 'long long unsigned int', but argument 4 has type 'dma_addr_t {aka >> unsigned int}' [-Wformat=] #define DEB(fmt, ...) pr_debug("ibtrs L%d " fmt, __LINE__, ##__VA_ARGS__) ^ include/linux/printk.h:285:21: note: in definition of macro 'pr_fmt' #define pr_fmt(fmt) fmt ^~~ include/linux/printk.h:333:2: note: in expansion of macro 'dynamic_pr_debug' dynamic_pr_debug(fmt, ##__VA_ARGS__) ^~~~ >> include/rdma/ibtrs_log.h:51:23: note: in expansion of macro 'pr_debug' #define DEB(fmt, ...) pr_debug("ibtrs L%d " fmt, __LINE__, ##__VA_ARGS__) ^~~~ drivers/infiniband/ulp/ibtrs_client/ibtrs_clt.c:1106:2: note: in expansion of macro 'DEB' DEB("dma_addr %llu, key %u, dma_len %u\n", dma_addr, rkey, dma_len); ^~~ drivers/infiniband/ulp/ibtrs_client/ibtrs_clt.c: In function 'ibtrs_post_send_rdma': >> drivers/infiniband/ulp/ibtrs_client/ibtrs_clt.c:1440:23: warning: cast from >> pointer to integer of different size [-Wpointer-to-int-cast] addr + off, (u64)req->iu, imm, ^ drivers/infiniband/ulp/ibtrs_client/ibtrs_clt.c: In function 'ibtrs_post_send_rdma_desc': drivers/infiniband/ulp/ibtrs_client/ibtrs_clt.c:1565:17: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] addr, (u64)req->iu, imm, ^ drivers/infiniband/ulp/ibtrs_client/ibtrs_clt.c: In function 'process_err_wc': drivers/infiniband/ulp/ibtrs_client/ibtrs_clt.c:1882:7: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] iu = (struct ibtrs_iu *)wc->wr_id; ^ drivers/infiniband/ulp/ibtrs_client/ibtrs_clt.c: In function 'process_wcs': drivers/infiniband/ulp/ibtrs_client/ibtrs_clt.c:1922:8: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] iu = (struct ibtrs_iu *)wc.wr_id; ^ -- In file included from include/linux/printk.h:6:0, from drivers/infiniband/ulp/ibtrs_client/../ibtrs_lib/ibtrs-proto.c:48: drivers/infiniband/ulp/ibtrs_client/../ibtrs_lib/ibtrs-proto.c: In function 'ibtrs_validate_msg_sess_open_resp': include/linux/kern_levels.h:4:18: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'unsigned int' [-Wformat=] #define KERN_SOH "\001" /* ASCII Start Of Header */ ^ include/linux/kern_levels.h:10:18: note: in expansion of macro 'KERN_SOH' #define KERN_ERR KERN_SOH "3" /* error conditions */ ^~~~ include/linux/printk.h:301:9: note: in expansion of macro 'KERN_ERR' printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__) ^~~~ >> include/rdma/ibtrs_log.h:62:26: note: in expansion of macro 'pr_err' #define ERR_NP(fmt, ...) pr_err("ibtrs L%d ERR: " fmt, \ ^~ >> drive
Re: [PATCH v2] don't forget to call pd_online_fn when activate policy
Hi Zhou, [auto build test ERROR on block/for-next] [also build test ERROR on v4.11-rc1 next-20170309] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Zhou-Chengming/don-t-forget-to-call-pd_online_fn-when-activate-policy/20170310-140301 base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next config: x86_64-rhel-7.2 (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): block/blk-cgroup.c: In function 'blkcg_activate_policy': >> block/blk-cgroup.c:1261:14: error: incompatible type for argument 1 of >> 'spin_lock' spin_lock(blkg->blkcg->lock); ^~~~ In file included from include/linux/rcupdate.h:38:0, from include/linux/rculist.h:10, from include/linux/pid.h:4, from include/linux/sched.h:13, from include/linux/ioprio.h:4, from block/blk-cgroup.c:17: include/linux/spinlock.h:297:29: note: expected 'spinlock_t * {aka struct spinlock *}' but argument is of type 'spinlock_t {aka struct spinlock}' static __always_inline void spin_lock(spinlock_t *lock) ^ >> block/blk-cgroup.c:1263:16: error: incompatible type for argument 1 of >> 'spin_unlock' spin_unlock(blkg->blkcg->lock); ^~~~ In file included from include/linux/rcupdate.h:38:0, from include/linux/rculist.h:10, from include/linux/pid.h:4, from include/linux/sched.h:13, from include/linux/ioprio.h:4, from block/blk-cgroup.c:17: include/linux/spinlock.h:337:29: note: expected 'spinlock_t * {aka struct spinlock *}' but argument is of type 'spinlock_t {aka struct spinlock}' static __always_inline void spin_unlock(spinlock_t *lock) ^~~ vim +/spin_lock +1261 block/blk-cgroup.c 1255 pd->blkg = blkg; 1256 pd->plid = pol->plid; 1257 if (pol->pd_init_fn) 1258 pol->pd_init_fn(pd); 1259 1260 if (pol->pd_online_fn) { > 1261 spin_lock(blkg->blkcg->lock); 1262 pol->pd_online_fn(pd); > 1263 spin_unlock(blkg->blkcg->lock); 1264 } 1265 } 1266 --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 12/17] md: raid1: avoid direct access to bvec table in process_checks()
Hi Ming, [auto build test WARNING on linus/master] [also build test WARNING on v4.10-rc8] [cannot apply to next-20170216] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Ming-Lei/md-cleanup-on-direct-access-to-bvec-table/20170216-210357 config: powerpc-cell_defconfig (attached as .config) compiler: powerpc64-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=powerpc Note: it may well be a FALSE warning. FWIW you are at least aware of it now. http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings All warnings (new ones prefixed by >>): In file included from arch/powerpc/include/asm/page.h:331:0, from arch/powerpc/include/asm/thread_info.h:34, from include/linux/thread_info.h:25, from include/asm-generic/preempt.h:4, from ./arch/powerpc/include/generated/asm/preempt.h:1, from include/linux/preempt.h:59, from include/linux/spinlock.h:50, from include/linux/mmzone.h:7, from include/linux/gfp.h:5, from include/linux/slab.h:14, from drivers/md/raid1.c:34: drivers/md/raid1.c: In function 'raid1d': >> include/asm-generic/memory_model.h:54:52: warning: 'sbio_pages$' may be used >> uninitialized in this function [-Wmaybe-uninitialized] #define __page_to_pfn(page) (unsigned long)((page) - vmemmap) ^ drivers/md/raid1.c:2008:42: note: 'sbio_pages$' was declared here struct page *pbio_pages[RESYNC_PAGES], *sbio_pages[RESYNC_PAGES]; ^~ drivers/md/raid1.c:2075:9: warning: 'page_len$' may be used uninitialized in this function [-Wmaybe-uninitialized] if (memcmp(page_address(p), ^~~ page_address(s), page_len[j])) drivers/md/raid1.c:2007:6: note: 'page_len$' was declared here int page_len[RESYNC_PAGES]; ^~~~ In file included from arch/powerpc/include/asm/page.h:331:0, from arch/powerpc/include/asm/thread_info.h:34, from include/linux/thread_info.h:25, from include/asm-generic/preempt.h:4, from ./arch/powerpc/include/generated/asm/preempt.h:1, from include/linux/preempt.h:59, from include/linux/spinlock.h:50, from include/linux/mmzone.h:7, from include/linux/gfp.h:5, from include/linux/slab.h:14, from drivers/md/raid1.c:34: >> include/asm-generic/memory_model.h:54:52: warning: 'pbio_pages$' may be used >> uninitialized in this function [-Wmaybe-uninitialized] #define __page_to_pfn(page) (unsigned long)((page) - vmemmap) ^ drivers/md/raid1.c:2008:15: note: 'pbio_pages$' was declared here struct page *pbio_pages[RESYNC_PAGES], *sbio_pages[RESYNC_PAGES]; ^~ drivers/md/raid1.c:1978:8: warning: 'pages$' may be used uninitialized in this function [-Wmaybe-uninitialized] if (r1_sync_page_io(rdev, sect, s, ^~ pages[idx], ~~~ READ) != 0) ~ drivers/md/raid1.c:1872:15: note: 'pages$' was declared here struct page *pages[RESYNC_PAGES]; ^ vim +54 include/asm-generic/memory_model.h a117e66e KAMEZAWA Hiroyuki 2006-03-27 38 ({ unsigned long __pfn = (pfn); \ c5d71243 Rafael J. Wysocki 2008-11-08 39 unsigned long __nid = arch_pfn_to_nid(__pfn); \ a117e66e KAMEZAWA Hiroyuki 2006-03-27 40 NODE_DATA(__nid)->node_mem_map + arch_local_page_offset(__pfn, __nid);\ a117e66e KAMEZAWA Hiroyuki 2006-03-27 41 }) a117e66e KAMEZAWA Hiroyuki 2006-03-27 42 67de6482 Andy Whitcroft 2006-06-23 43 #define __page_to_pfn(pg) \ aa462abe Ian Campbell 2011-08-17 44 ({ const struct page *__pg = (pg); \ a0140c1d KAMEZAWA Hiroyuki 2006-03-27 45 struct pglist_data *__pgdat = NODE_DATA(page_to_nid(__pg)); \ a0140c1d KAMEZAWA Hiroyuki 2006-03-27 46 (unsigned long)(__pg - __pgdat->node_mem_map) + \ a0140c1d KAMEZAWA Hiroyuki 2006-03-27 47 __pgdat->node_start_pfn; \ a117e66e KAMEZAWA Hiroyuki 2006-03-27 48 }) a117e66e KAMEZAWA
Re: [PATCH] mmc: core: make block layer non-optional
Hi Linus, [auto build test ERROR on linus/master] [also build test ERROR on v4.10-rc8 next-20170215] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Linus-Walleij/mmc-core-make-block-layer-non-optional/20170215-181952 config: i386-randconfig-h1-02151737 (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): In file included from drivers/mmc/core/block.c:48:0: drivers/mmc/core/queue.h: In function 'mmc_req_is_special': drivers/mmc/core/queue.h:7:4: error: implicit declaration of function 'req_op' [-Werror=implicit-function-declaration] (req_op(req) == REQ_OP_FLUSH || ^~ drivers/mmc/core/queue.h:7:19: error: 'REQ_OP_FLUSH' undeclared (first use in this function) (req_op(req) == REQ_OP_FLUSH || ^~~~ drivers/mmc/core/queue.h:7:19: note: each undeclared identifier is reported only once for each function it appears in drivers/mmc/core/queue.h:8:19: error: 'REQ_OP_DISCARD' undeclared (first use in this function) req_op(req) == REQ_OP_DISCARD || ^~ drivers/mmc/core/queue.h:9:19: error: 'REQ_OP_SECURE_ERASE' undeclared (first use in this function) req_op(req) == REQ_OP_SECURE_ERASE); ^~~ drivers/mmc/core/block.c: In function 'mmc_blk_get': >> drivers/mmc/core/block.c:137:11: error: dereferencing pointer to incomplete >> type 'struct gendisk' md = disk->private_data; ^~ drivers/mmc/core/block.c: In function 'mmc_blk_put': drivers/mmc/core/block.c:159:3: error: implicit declaration of function 'blk_cleanup_queue' [-Werror=implicit-function-declaration] blk_cleanup_queue(md->queue.queue); ^ drivers/mmc/core/block.c:165:3: error: implicit declaration of function 'put_disk' [-Werror=implicit-function-declaration] put_disk(md->disk); ^~~~ drivers/mmc/core/block.c: In function 'power_ro_lock_show': drivers/mmc/core/block.c:175:40: error: implicit declaration of function 'dev_to_disk' [-Werror=implicit-function-declaration] struct mmc_blk_data *md = mmc_blk_get(dev_to_disk(dev)); ^~~ drivers/mmc/core/block.c:175:40: warning: passing argument 1 of 'mmc_blk_get' makes pointer from integer without a cast [-Wint-conversion] drivers/mmc/core/block.c:132:29: note: expected 'struct gendisk *' but argument is of type 'int' static struct mmc_blk_data *mmc_blk_get(struct gendisk *disk) ^~~ drivers/mmc/core/block.c: In function 'power_ro_lock_store': drivers/mmc/core/block.c:205:19: warning: passing argument 1 of 'mmc_blk_get' makes pointer from integer without a cast [-Wint-conversion] md = mmc_blk_get(dev_to_disk(dev)); ^~~ drivers/mmc/core/block.c:132:29: note: expected 'struct gendisk *' but argument is of type 'int' static struct mmc_blk_data *mmc_blk_get(struct gendisk *disk) ^~~ drivers/mmc/core/block.c:224:3: error: implicit declaration of function 'set_disk_ro' [-Werror=implicit-function-declaration] set_disk_ro(md->disk, 1); ^~~ drivers/mmc/core/block.c: In function 'force_ro_show': drivers/mmc/core/block.c:241:40: warning: passing argument 1 of 'mmc_blk_get' makes pointer from integer without a cast [-Wint-conversion] struct mmc_blk_data *md = mmc_blk_get(dev_to_disk(dev)); ^~~ drivers/mmc/core/block.c:132:29: note: expected 'struct gendisk *' but argument is of type 'int' static struct mmc_blk_data *mmc_blk_get(struct gendisk *disk) ^~~ drivers/mmc/core/block.c:244:10: error: implicit declaration of function 'get_disk_ro' [-Werror=implicit-function-declaration] get_disk_ro(dev_to_disk(dev)) ^ ^~~ drivers/mmc/core/block.c: In function 'force_ro_store': drivers/mmc/core/block.c:255:40: warning: passing argument 1 of 'mmc_blk_get' makes pointer from integer without a cast [-Wint-conversion] struct mmc_blk_data *md = mmc_blk_get(dev_to_disk(dev)); ^~~ drivers/mmc/core/block.c:132:29: note: expected 'struct gendisk *' but argument is of type 'int' static struct mmc_blk_data *mmc_blk_get(struct gendisk *disk) ^~~ drivers/mmc/core/block.c: In function 'mmc_blk_open': drivers/mmc/core/block.c:277:4: error: implicit declaration of function 'check_disk_change' [-Werror=implicit-function-declaration] check_disk_change(bdev); ^ dri
Re: [PATCH] mmc: core: make block layer non-optional
Hi Linus, [auto build test ERROR on linus/master] [also build test ERROR on v4.10-rc8 next-20170215] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Linus-Walleij/mmc-core-make-block-layer-non-optional/20170215-181952 config: i386-randconfig-c0-02151724 (attached as .config) compiler: gcc-4.9 (Debian 4.9.4-2) 4.9.4 reproduce: # save the attached .config to linux build tree make ARCH=i386 All error/warnings (new ones prefixed by >>): In file included from drivers/mmc/core/block.c:48:0: drivers/mmc/core/queue.h: In function 'mmc_req_is_special': >> drivers/mmc/core/queue.h:7:3: error: implicit declaration of function >> 'req_op' [-Werror=implicit-function-declaration] (req_op(req) == REQ_OP_FLUSH || ^ >> drivers/mmc/core/queue.h:7:19: error: 'REQ_OP_FLUSH' undeclared (first use >> in this function) (req_op(req) == REQ_OP_FLUSH || ^ drivers/mmc/core/queue.h:7:19: note: each undeclared identifier is reported only once for each function it appears in >> drivers/mmc/core/queue.h:8:19: error: 'REQ_OP_DISCARD' undeclared (first use >> in this function) req_op(req) == REQ_OP_DISCARD || ^ >> drivers/mmc/core/queue.h:9:19: error: 'REQ_OP_SECURE_ERASE' undeclared >> (first use in this function) req_op(req) == REQ_OP_SECURE_ERASE); ^ drivers/mmc/core/block.c: In function 'mmc_blk_get': >> drivers/mmc/core/block.c:137:11: error: dereferencing pointer to incomplete >> type md = disk->private_data; ^ drivers/mmc/core/block.c: In function 'mmc_get_devidx': drivers/mmc/core/block.c:149:19: error: dereferencing pointer to incomplete type int devidx = disk->first_minor / perdev_minors; ^ drivers/mmc/core/block.c: In function 'mmc_blk_put': >> drivers/mmc/core/block.c:159:3: error: implicit declaration of function >> 'blk_cleanup_queue' [-Werror=implicit-function-declaration] blk_cleanup_queue(md->queue.queue); ^ >> drivers/mmc/core/block.c:165:3: error: implicit declaration of function >> 'put_disk' [-Werror=implicit-function-declaration] put_disk(md->disk); ^ drivers/mmc/core/block.c: In function 'power_ro_lock_show': >> drivers/mmc/core/block.c:175:9: error: implicit declaration of function >> 'dev_to_disk' [-Werror=implicit-function-declaration] struct mmc_blk_data *md = mmc_blk_get(dev_to_disk(dev)); ^ >> drivers/mmc/core/block.c:175:40: warning: passing argument 1 of >> 'mmc_blk_get' makes pointer from integer without a cast struct mmc_blk_data *md = mmc_blk_get(dev_to_disk(dev)); ^ drivers/mmc/core/block.c:132:29: note: expected 'struct gendisk *' but argument is of type 'int' static struct mmc_blk_data *mmc_blk_get(struct gendisk *disk) ^ drivers/mmc/core/block.c: In function 'power_ro_lock_store': drivers/mmc/core/block.c:205:19: warning: passing argument 1 of 'mmc_blk_get' makes pointer from integer without a cast md = mmc_blk_get(dev_to_disk(dev)); ^ drivers/mmc/core/block.c:132:29: note: expected 'struct gendisk *' but argument is of type 'int' static struct mmc_blk_data *mmc_blk_get(struct gendisk *disk) ^ In file included from include/linux/kernel.h:13:0, from include/linux/moduleparam.h:6, from drivers/mmc/core/block.c:20: drivers/mmc/core/block.c:215:84: error: dereferencing pointer to incomplete type pr_err("%s: Locking boot partition ro until next power on failed: %d\n", md->disk->disk_name, ret); ^ include/linux/printk.h:292:33: note: in definition of macro 'pr_err' printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__) ^ drivers/mmc/core/block.c:223:12: error: dereferencing pointer to incomplete type md->disk->disk_name); ^ include/linux/printk.h:299:34: note: in definition of macro 'pr_info' printk(KERN_INFO pr_fmt(fmt), ##__VA_ARGS__) ^ >> drivers/mmc/core/block.c:224:3: error: implicit declaration of function >> 'set_disk_ro' [-Werror=implicit-function-declaration] set_disk_ro(md->disk, 1); ^ In file included from include/linux/kernel.h:13:0, from include/linux/moduleparam.h:6, from drivers/mmc/core/block.c:20: drivers/mmc/core/block.c:228:81: error: dereferencing pointer to incomplete type pr_info("%s: Locking boot partition ro until next power on\n", part_md->disk->disk_name); ^ include/linux/printk.h:299:34: no
Re: [PATCH 3/6] genirq/affinity: update CPU affinity for CPU hotplug events
Hi Christoph, [auto build test ERROR on block/for-next] [also build test ERROR on v4.10-rc6] [cannot apply to next-20170203] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Christoph-Hellwig/genirq-allow-assigning-affinity-to-present-but-not-online-CPUs/20170203-224056 base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next config: arm-socfpga_defconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 6.1.1-9) 6.1.1 20160705 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm All error/warnings (new ones prefixed by >>): In file included from kernel/irq/internals.h:8:0, from kernel/irq/affinity.c:9: >> include/linux/irqdesc.h:52:25: error: field 'irq_common_data' has incomplete >> type struct irq_common_data irq_common_data; ^~~ >> include/linux/irqdesc.h:53:19: error: field 'irq_data' has incomplete type struct irq_data irq_data; ^~~~ >> include/linux/irqdesc.h:55:2: error: unknown type name 'irq_flow_handler_t' irq_flow_handler_t handle_irq; ^~ In file included from include/linux/interrupt.h:5:0, from kernel/irq/affinity.c:5: include/linux/irqdesc.h: In function 'irq_data_to_desc': >> include/linux/irqdesc.h:111:26: error: dereferencing pointer to incomplete >> type 'struct irq_data' return container_of(data->common, struct irq_desc, irq_common_data); ^ include/linux/kernel.h:850:49: note: in definition of macro 'container_of' const typeof( ((type *)0)->member ) *__mptr = (ptr); \ ^~~ In file included from kernel/irq/internals.h:8:0, from kernel/irq/affinity.c:9: include/linux/irqdesc.h: In function 'generic_handle_irq_desc': >> include/linux/irqdesc.h:150:2: error: called object is not a function or >> function pointer desc->handle_irq(desc); ^~~~ include/linux/irqdesc.h: At top level: include/linux/irqdesc.h:194:8: error: unknown type name 'irq_flow_handler_t' irq_flow_handler_t handler) ^~ include/linux/irqdesc.h:215:6: error: unknown type name 'irq_flow_handler_t' irq_flow_handler_t handler, const char *name) ^~ include/linux/irqdesc.h: In function 'irq_balancing_disabled': >> include/linux/irqdesc.h:229:38: error: 'IRQ_NO_BALANCING_MASK' undeclared >> (first use in this function) return desc->status_use_accessors & IRQ_NO_BALANCING_MASK; ^ include/linux/irqdesc.h:229:38: note: each undeclared identifier is reported only once for each function it appears in include/linux/irqdesc.h: In function 'irq_is_percpu': >> include/linux/irqdesc.h:237:38: error: 'IRQ_PER_CPU' undeclared (first use >> in this function) return desc->status_use_accessors & IRQ_PER_CPU; ^~~ In file included from kernel/irq/internals.h:62:0, from kernel/irq/affinity.c:9: kernel/irq/debug.h: In function 'print_irq_desc': >> kernel/irq/debug.h:16:28: warning: format '%p' expects argument of type >> 'void *', but argument 2 has type 'int' [-Wformat=] printk("->handle_irq(): %p, ", desc->handle_irq); ^ >> kernel/irq/debug.h:26:7: error: 'IRQ_LEVEL' undeclared (first use in this >> function) ___P(IRQ_LEVEL); ^ kernel/irq/debug.h:7:50: note: in definition of macro '___P' #define ___P(f) if (desc->status_use_accessors & f) printk("%14s set\n", #f) ^ >> kernel/irq/debug.h:27:7: error: 'IRQ_PER_CPU' undeclared (first use in this >> function) ___P(IRQ_PER_CPU); ^ kernel/irq/debug.h:7:50: note: in definition of macro '___P' #define ___P(f) if (desc->status_use_accessors & f) printk("%14s set\n", #f) ^ >> kernel/irq/debug.h:28:7: error: 'IRQ_NOPROBE' undeclared (first use in this >> function) ___P(IRQ_NOPROBE); ^ kernel/irq/debug.h:7:50: note: in definition of macro '___P' #define ___P(f) if (desc->status_use_accessors & f) printk("%14s set\n", #f) ^ >> kernel/irq/debug.h:29:7: error: 'IRQ_NOREQUEST' undeclared (first use in >> this function) ___P(IRQ_NOREQUEST); ^ kernel/irq/debug.h:7:50: note: in definition of macro '___P' #define ___P(f) if (desc->status_use_accessors & f) printk("%14s set\n", #f)
Re: [PATCH 3/6] genirq/affinity: update CPU affinity for CPU hotplug events
Hi Christoph, [auto build test ERROR on block/for-next] [also build test ERROR on v4.10-rc6] [cannot apply to next-20170203] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Christoph-Hellwig/genirq-allow-assigning-affinity-to-present-but-not-online-CPUs/20170203-224056 base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next config: ia64-allmodconfig (attached as .config) compiler: ia64-linux-gcc (GCC) 6.2.0 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=ia64 All errors (new ones prefixed by >>): kernel/irq/affinity.c: In function 'irq_affinity_offline_irq': >> kernel/irq/affinity.c:264:2: error: implicit declaration of function >> 'irq_force_complete_move' [-Werror=implicit-function-declaration] irq_force_complete_move(desc); ^~~ cc1: some warnings being treated as errors vim +/irq_force_complete_move +264 kernel/irq/affinity.c 258 259 /* 260 * Complete the irq move. This cpu is going down and for 261 * non intr-remapping case, we can't wait till this interrupt 262 * arrives at this cpu before completing the irq move. 263 */ > 264 irq_force_complete_move(desc); 265 266 /* 267 * The interrupt descriptor might have been cleaned up --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH] preview - block layer help to detect sequential IO
Hi Kashyap, [auto build test ERROR on v4.9-rc8] [cannot apply to block/for-next linus/master linux/master next-20170111] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Kashyap-Desai/preview-block-layer-help-to-detect-sequential-IO/20170112-024228 config: i386-randconfig-a0-201702 (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): block/blk-core.c: In function 'add_sequential': >> block/blk-core.c:1899:16: error: 'struct task_struct' has no member named >> 'sequential_io_avg' blk_ewma_add(t->sequential_io_avg, ^ block/blk-core.c:1893:10: note: in definition of macro 'blk_ewma_add' (ewma) *= (weight) - 1; \ ^~~~ >> block/blk-core.c:1899:16: error: 'struct task_struct' has no member named >> 'sequential_io_avg' blk_ewma_add(t->sequential_io_avg, ^ block/blk-core.c:1894:10: note: in definition of macro 'blk_ewma_add' (ewma) += (val) << factor; \ ^~~~ >> block/blk-core.c:1900:5: error: 'struct task_struct' has no member named >> 'sequential_io' t->sequential_io, 8, 0); ^ block/blk-core.c:1894:20: note: in definition of macro 'blk_ewma_add' (ewma) += (val) << factor; \ ^~~ >> block/blk-core.c:1899:16: error: 'struct task_struct' has no member named >> 'sequential_io_avg' blk_ewma_add(t->sequential_io_avg, ^ block/blk-core.c:1895:10: note: in definition of macro 'blk_ewma_add' (ewma) /= (weight); \ ^~~~ >> block/blk-core.c:1899:16: error: 'struct task_struct' has no member named >> 'sequential_io_avg' blk_ewma_add(t->sequential_io_avg, ^ block/blk-core.c:1896:10: note: in definition of macro 'blk_ewma_add' (ewma) >> factor; \ ^~~~ block/blk-core.c:1902:3: error: 'struct task_struct' has no member named 'sequential_io' t->sequential_io = 0; ^~ block/blk-core.c: In function 'generic_make_request_checks': block/blk-core.c:2012:7: error: 'struct task_struct' has no member named 'sequential_io' task->sequential_io = i->sequential; ^~ In file included from block/blk-core.c:14:0: block/blk-core.c:2020:21: error: 'struct task_struct' has no member named 'sequential_io' sectors = max(task->sequential_io, ^ include/linux/kernel.h:747:2: note: in definition of macro '__max' t1 max1 = (x); \ ^~ block/blk-core.c:2020:13: note: in expansion of macro 'max' sectors = max(task->sequential_io, ^~~ block/blk-core.c:2020:21: error: 'struct task_struct' has no member named 'sequential_io' sectors = max(task->sequential_io, ^ include/linux/kernel.h:747:13: note: in definition of macro '__max' t1 max1 = (x); \ ^ block/blk-core.c:2020:13: note: in expansion of macro 'max' sectors = max(task->sequential_io, ^~~ block/blk-core.c:2021:14: error: 'struct task_struct' has no member named 'sequential_io_avg' task->sequential_io_avg) >> 9; ^ include/linux/kernel.h:748:2: note: in definition of macro '__max' t2 max2 = (y); \ ^~ block/blk-core.c:2020:13: note: in expansion of macro 'max' sectors = max(task->sequential_io, ^~~ block/blk-core.c:2021:14: error: 'struct task_struct' has no member named 'sequential_io_avg' task->sequential_io_avg) >> 9; ^ include/linux/kernel.h:748:13: note: in definition of macro '__max' t2 max2 = (y); \ ^ block/blk-core.c:2020:13: note: in expansion of macro 'max' sectors = max(task->sequential_io, ^~~ vim +1899 block/blk-core.c 1887 } 1888 1889 static void add_sequential(struct task_struct *t) 1890 { 1891 #define blk_ewma_add(ewma, val, weight, factor) \ 1892 ({ \ > 1893 (ewma) *= (weight) - 1; > \ 1894 (ewma) += (val) << factor; \ 1895 (ewma) /= (weight); \ 1896 (ewma) >> factor; \ 1897 }) 1898 > 1899 blk_ewma_add(t->sequential_io_avg, > 1900 t->sequential_io, 8, 0); 1901
Re: [PATCH V5 15/17] block: track request size in blk_issue_stat
Hi Shaohua, [auto build test WARNING on block/for-next] [also build test WARNING on next-20161215] [cannot apply to v4.9] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Shaohua-Li/blk-throttle-add-low-limit/20161216-093257 base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next config: i386-randconfig-s0-201650 (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=i386 All warnings (new ones prefixed by >>): block/blk-stat.c: In function 'blk_stat_set_issue': >> block/blk-stat.c:243:26: warning: left shift count >= width of type >> [-Wshift-count-overflow] (blk_capped_size(size) << BLK_STAT_SIZE_SHIFT); ^~ vim +243 block/blk-stat.c 227 queue_for_each_hw_ctx(q, hctx, i) { 228 hctx_for_each_ctx(hctx, ctx, j) { 229 blk_stat_init(&ctx->stat[BLK_STAT_READ]); 230 blk_stat_init(&ctx->stat[BLK_STAT_WRITE]); 231 } 232 } 233 } else { 234 blk_stat_init(&q->rq_stats[BLK_STAT_READ]); 235 blk_stat_init(&q->rq_stats[BLK_STAT_WRITE]); 236 } 237 } 238 239 void blk_stat_set_issue(struct blk_issue_stat *stat, sector_t size) 240 { 241 stat->stat = (stat->stat & BLK_STAT_RES_MASK) | 242 (ktime_to_ns(ktime_get()) & BLK_STAT_TIME_MASK) | > 243 (blk_capped_size(size) << BLK_STAT_SIZE_SHIFT); 244 } 245 246 /* 247 * Enable stat tracking, return whether it was enabled 248 */ 249 bool blk_stat_enable(struct request_queue *q) 250 { 251 if (!test_bit(QUEUE_FLAG_STATS, &q->queue_flags)) { --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 16/20] lightnvm: eliminate nvm_block abstraction on mm
Hi Javier, [auto build test WARNING on linus/master] [also build test WARNING on v4.9-rc5] [cannot apply to next-20161117] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Javier-Gonz-lez/lightnvm-simplify-media-manager/20161119-005946 coccinelle warnings: (new ones prefixed by >>) >> drivers/lightnvm/rrpc.c:1123:13-19: ERROR: rlun is NULL but dereferenced. -- >> drivers/lightnvm/rrpc.c:1293:7-11: ERROR: reference preceded by free on line >> 1273 vim +1123 drivers/lightnvm/rrpc.c 1117 raddr[mod].addr = slba + i; 1118 1119 gaddr = rrpc_ppa_to_gaddr(dev, pba); 1120 rlun = rrpc_ppa_to_lun(rrpc, gaddr); 1121 if (!rlun) { 1122 pr_err("rrpc: unmapped lun %d l2p corruption\n", > 1123 > rlun->parent->id); 1124 return -EINVAL; 1125 } 1126 1127 rblk = &rlun->blocks[gaddr.g.blk]; 1128 if (!rblk->state) { 1129 /* at this point, we don't know anything about the 1130 * block. It's up to the FTL on top to re-etablish the 1131 * block state. The block is assumed to be open. 1132 */ 1133 list_move_tail(&rblk->list, &rlun->used_list); 1134 rblk->state = NVM_BLK_ST_TGT; 1135 rlun->nr_free_blocks--; 1136 } 1137 } 1138 1139 return 0; 1140 } 1141 1142 static int rrpc_map_init(struct rrpc *rrpc) 1143 { 1144 struct nvm_tgt_dev *dev = rrpc->dev; 1145 sector_t i; 1146 int ret; 1147 1148 rrpc->trans_map = vzalloc(sizeof(struct rrpc_addr) * rrpc->nr_sects); 1149 if (!rrpc->trans_map) 1150 return -ENOMEM; 1151 1152 rrpc->rev_trans_map = vmalloc(sizeof(struct rrpc_rev_addr) 1153 * rrpc->nr_sects); 1154 if (!rrpc->rev_trans_map) 1155 return -ENOMEM; 1156 1157 for (i = 0; i < rrpc->nr_sects; i++) { 1158 struct rrpc_addr *p = &rrpc->trans_map[i]; 1159 struct rrpc_rev_addr *r = &rrpc->rev_trans_map[i]; 1160 1161 p->addr = ADDR_EMPTY; 1162 r->addr = ADDR_EMPTY; 1163 } 1164 1165 if (!dev->ops->get_l2p_tbl) 1166 return 0; 1167 1168 /* Bring up the mapping table from device */ 1169 ret = dev->ops->get_l2p_tbl(dev->parent, rrpc->soffset, rrpc->nr_sects, 1170 rrpc_l2p_update, rrpc); 1171 if (ret) { 1172 pr_err("nvm: rrpc: could not read L2P table.\n"); 1173 return -EINVAL; 1174 } 1175 1176 return 0; 1177 } 1178 1179 /* Minimum pages needed within a lun */ 1180 #define PAGE_POOL_SIZE 16 1181 #define ADDR_POOL_SIZE 64 1182 1183 static int rrpc_core_init(struct rrpc *rrpc) 1184 { 1185 down_write(&rrpc_lock); 1186 if (!rrpc_gcb_cache) { 1187 rrpc_gcb_cache = kmem_cache_create("rrpc_gcb", 1188 sizeof(struct rrpc_block_gc), 0, 0, NULL); 1189 if (!rrpc_gcb_cache) { 1190 up_write(&rrpc_lock); 1191 return -ENOMEM; 1192 } 1193 1194 rrpc_rq_cache = kmem_cache_create("rrpc_rq", 1195 sizeof(struct nvm_rq) + sizeof(struct rrpc_rq), 1196 0, 0, NULL); 1197 if (!rrpc_rq_cache) { 1198 kmem_cache_destroy(rrpc_gcb_cache); 1199 up_write(&rrpc_lock); 1200 return -ENOMEM; 1201 } 1202 } 1203 up_write(&rrpc_lock); 1204 1205 rrpc->page_pool = mempool_create_page_pool(PAGE_POOL_SIZE, 0); 1206 if (!rrpc->page_pool) 1207 return -ENOMEM; 1208 1209 rrpc->gcb_pool = mempool_create_slab_pool(rrpc->dev->geo.nr_luns, 1210 rrpc_gcb_cache); 1211 if (!rrpc->gcb_pool) 1212 return -ENOMEM; 1213 1214 rrpc->rq_pool = mempool_create_slab_pool(64, rrpc_rq_cache); 1215 if (!rrpc->rq_pool) 1216 return -ENOMEM; 1217 1218 spin_lock_init(&rrpc->inflights.lock); 1219 INIT_LIST_HEAD(&rr
Re: [PATCH 13/20] lightnvm: move block provisioning to targets
Hi Javier, [auto build test ERROR on linus/master] [also build test ERROR on v4.9-rc5] [cannot apply to next-20161117] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Javier-Gonz-lez/lightnvm-simplify-media-manager/20161119-005946 config: i386-allmodconfig (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): In file included from include/linux/kernel.h:11:0, from include/linux/list.h:8, from include/linux/pci.h:25, from drivers/nvme/host/nvme.h:18, from drivers/nvme/host/lightnvm.c:23: drivers/nvme/host/lightnvm.c: In function 'nvme_nvm_register': >> drivers/nvme/host/lightnvm.c:623:27: error: 'struct nvm_dev' has no member >> named 'sec_size' ns->lba_shift = ilog2(dev->sec_size); ^ include/linux/log2.h:87:23: note: in definition of macro 'ilog2' __builtin_constant_p(n) ? ( \ ^ >> drivers/nvme/host/lightnvm.c:623:27: error: 'struct nvm_dev' has no member >> named 'sec_size' ns->lba_shift = ilog2(dev->sec_size); ^ include/linux/log2.h:88:4: note: in definition of macro 'ilog2' (n) < 1 ? ilog2_NaN() : \ ^ >> drivers/nvme/host/lightnvm.c:623:27: error: 'struct nvm_dev' has no member >> named 'sec_size' ns->lba_shift = ilog2(dev->sec_size); ^ include/linux/log2.h:89:4: note: in definition of macro 'ilog2' (n) & (1ULL << 63) ? 63 : \ ^ >> drivers/nvme/host/lightnvm.c:623:27: error: 'struct nvm_dev' has no member >> named 'sec_size' ns->lba_shift = ilog2(dev->sec_size); ^ include/linux/log2.h:90:4: note: in definition of macro 'ilog2' (n) & (1ULL << 62) ? 62 : \ ^ >> drivers/nvme/host/lightnvm.c:623:27: error: 'struct nvm_dev' has no member >> named 'sec_size' ns->lba_shift = ilog2(dev->sec_size); ^ include/linux/log2.h:91:4: note: in definition of macro 'ilog2' (n) & (1ULL << 61) ? 61 : \ ^ >> drivers/nvme/host/lightnvm.c:623:27: error: 'struct nvm_dev' has no member >> named 'sec_size' ns->lba_shift = ilog2(dev->sec_size); ^ include/linux/log2.h:92:4: note: in definition of macro 'ilog2' (n) & (1ULL << 60) ? 60 : \ ^ >> drivers/nvme/host/lightnvm.c:623:27: error: 'struct nvm_dev' has no member >> named 'sec_size' ns->lba_shift = ilog2(dev->sec_size); ^ include/linux/log2.h:93:4: note: in definition of macro 'ilog2' (n) & (1ULL << 59) ? 59 : \ ^ >> drivers/nvme/host/lightnvm.c:623:27: error: 'struct nvm_dev' has no member >> named 'sec_size' ns->lba_shift = ilog2(dev->sec_size); ^ include/linux/log2.h:94:4: note: in definition of macro 'ilog2' (n) & (1ULL << 58) ? 58 : \ ^ >> drivers/nvme/host/lightnvm.c:623:27: error: 'struct nvm_dev' has no member >> named 'sec_size' ns->lba_shift = ilog2(dev->sec_size); ^ include/linux/log2.h:95:4: note: in definition of macro 'ilog2' (n) & (1ULL << 57) ? 57 : \ ^ >> drivers/nvme/host/lightnvm.c:623:27: error: 'struct nvm_dev' has no member >> named 'sec_size' ns->lba_shift = ilog2(dev->sec_size); ^ include/linux/log2.h:96:4: note: in definition of macro 'ilog2' (n) & (1ULL << 56) ? 56 : \ ^ >> drivers/nvme/host/lightnvm.c:623:27: error: 'struct nvm_dev' has no member >> named 'sec_size' ns->lba_shift = ilog2(dev->sec_size); ^ include/linux/log2.h:97:4: note: in definition of macro 'ilog2' (n) & (1ULL << 55) ? 55 : \ ^ >> drivers/nvme/host/lightnvm.c:623:27: error: 'struct nvm_dev' has no member >> named 'sec_size' ns->lba_shift = ilog2(dev->sec_size); ^ include/linux/log2.h:98:4: note: in definition of macro 'ilog2' (n) & (1ULL << 54) ? 54 : \ ^ >> drivers/nvme/host/lightnvm.c:623:27: error: 'struct nvm_dev' has no member >> named 'sec_size' ns->lba_shift = ilog2(dev->sec_size); ^ include/linux/log2.h:99:4: note: in definition of macro 'ilog2' (n) & (1ULL << 53) ? 53 : \ ^ >> drivers/nvme/host/lightnvm.c:623:27: error: 'struct nvm_dev' has no member >> named 'sec_size' ns->lba_shift = ilog2(dev->sec_size); ^ include/linux/log2.h:100:4: note: in definition of macro 'ilog2' (n) & (1ULL << 52) ? 52 : \ ^ >> drivers/nvme/host/lightnvm.c:623:27: error: 'struct nvm_dev' has no member >> named 'sec_size' ns
Re: [PATCH V4 13/15] blk-throttle: add a mechanism to estimate IO latency
Hi Shaohua, [auto build test WARNING on linus/master] [also build test WARNING on v4.9-rc5] [cannot apply to block/for-next next-20161114] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Shaohua-Li/blk-throttle-add-high-limit/20161115-063105 config: openrisc-allyesconfig (attached as .config) compiler: or32-linux-gcc (GCC) 4.5.1-or32-1.0rc1 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=openrisc All warnings (new ones prefixed by >>): block/blk-throttle.c: In function 'throtl_calculate_line_slope': >> block/blk-throttle.c:2017:2: warning: comparison of distinct pointer types >> lacks a cast block/blk-throttle.c:2019:2: warning: comparison of distinct pointer types lacks a cast block/blk-throttle.c:2023:2: warning: comparison of distinct pointer types lacks a cast vim +2017 block/blk-throttle.c 2001 for (i = 0; i < LATENCY_BUCKET_SIZE; i++) { 2002 u64 x, y; 2003 2004 if (td->avg_buckets[i].latency == 0) 2005 continue; 2006 2007 x = td->avg_buckets[i].size >> 10; 2008 y = td->avg_buckets[i].latency; 2009 sumX += x; 2010 sumY += y; 2011 2012 sumXY += x * y; 2013 sumX2 += x * x; 2014 } 2015 2016 xMean = sumX; > 2017 do_div(xMean, valid_lat); 2018 yMean = sumY; 2019 do_div(yMean, valid_lat); 2020 denominator = sumX2 - sumX * xMean; 2021 2022 slope = sumXY - sumX * yMean; 2023 do_div(slope, denominator); 2024 td->line_slope = slope; 2025 } --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH V4 13/15] blk-throttle: add a mechanism to estimate IO latency
Hi Shaohua, [auto build test WARNING on linus/master] [also build test WARNING on v4.9-rc5] [cannot apply to block/for-next next-20161114] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Shaohua-Li/blk-throttle-add-high-limit/20161115-063105 config: xtensa-allmodconfig (attached as .config) compiler: xtensa-linux-gcc (GCC) 4.9.0 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=xtensa All warnings (new ones prefixed by >>): In file included from ./arch/xtensa/include/generated/asm/div64.h:1:0, from include/linux/kernel.h:142, from include/linux/list.h:8, from include/linux/module.h:9, from block/blk-throttle.c:7: block/blk-throttle.c: In function 'throtl_calculate_line_slope': include/asm-generic/div64.h:207:28: warning: comparison of distinct pointer types lacks a cast (void)(((typeof((n)) *)0) == ((uint64_t *)0)); \ ^ >> block/blk-throttle.c:2017:2: note: in expansion of macro 'do_div' do_div(xMean, valid_lat); ^ include/asm-generic/div64.h:207:28: warning: comparison of distinct pointer types lacks a cast (void)(((typeof((n)) *)0) == ((uint64_t *)0)); \ ^ block/blk-throttle.c:2019:2: note: in expansion of macro 'do_div' do_div(yMean, valid_lat); ^ include/asm-generic/div64.h:207:28: warning: comparison of distinct pointer types lacks a cast (void)(((typeof((n)) *)0) == ((uint64_t *)0)); \ ^ block/blk-throttle.c:2023:2: note: in expansion of macro 'do_div' do_div(slope, denominator); ^ vim +/do_div +2017 block/blk-throttle.c 2001 for (i = 0; i < LATENCY_BUCKET_SIZE; i++) { 2002 u64 x, y; 2003 2004 if (td->avg_buckets[i].latency == 0) 2005 continue; 2006 2007 x = td->avg_buckets[i].size >> 10; 2008 y = td->avg_buckets[i].latency; 2009 sumX += x; 2010 sumY += y; 2011 2012 sumXY += x * y; 2013 sumX2 += x * x; 2014 } 2015 2016 xMean = sumX; > 2017 do_div(xMean, valid_lat); 2018 yMean = sumY; 2019 do_div(yMean, valid_lat); 2020 denominator = sumX2 - sumX * xMean; 2021 2022 slope = sumXY - sumX * yMean; 2023 do_div(slope, denominator); 2024 td->line_slope = slope; 2025 } --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 32/60] block: implement sp version of bvec iterator helpers
Hi Ming, [auto build test ERROR on linus/master] [also build test ERROR on v4.9-rc2 next-20161028] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] [Suggest to use git(>=2.9.0) format-patch --base= (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on] [Check https://git-scm.com/docs/git-format-patch for more information] url: https://github.com/0day-ci/linux/commits/Ming-Lei/block-support-multipage-bvec/20161029-163910 config: sparc-defconfig (attached as .config) compiler: sparc-linux-gcc (GCC) 6.2.0 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=sparc All error/warnings (new ones prefixed by >>): In file included from arch/sparc/include/asm/oplib.h:6:0, from arch/sparc/include/asm/pgtable_32.h:21, from arch/sparc/include/asm/pgtable.h:6, from include/linux/mm.h:68, from include/linux/bvec.h:25, from include/linux/blk_types.h:9, from include/linux/fs.h:31, from include/linux/proc_fs.h:8, from arch/sparc/include/asm/prom.h:22, from include/linux/of.h:232, from arch/sparc/include/asm/openprom.h:14, from arch/sparc/include/asm/device.h:9, from include/linux/device.h:30, from include/linux/node.h:17, from include/linux/cpu.h:16, from include/linux/stop_machine.h:4, from kernel/sched/sched.h:10, from kernel/sched/loadavg.c:11: >> arch/sparc/include/asm/oplib_32.h:105:39: warning: 'struct >> linux_prom_registers' declared inside parameter list will not be visible >> outside of this definition or declaration int prom_startcpu(int cpunode, struct linux_prom_registers *context_table, ^~~~ arch/sparc/include/asm/oplib_32.h:168:36: warning: 'struct linux_prom_registers' declared inside parameter list will not be visible outside of this definition or declaration void prom_apply_obio_ranges(struct linux_prom_registers *obioregs, int nregs); ^~~~ arch/sparc/include/asm/oplib_32.h:172:18: warning: 'struct linux_prom_registers' declared inside parameter list will not be visible outside of this definition or declaration struct linux_prom_registers *sbusregs, int nregs); ^~~~ -- In file included from arch/sparc/include/asm/oplib.h:6:0, from arch/sparc/include/asm/pgtable_32.h:21, from arch/sparc/include/asm/pgtable.h:6, from include/linux/mm.h:68, from include/linux/bvec.h:25, from include/linux/blk_types.h:9, from include/linux/fs.h:31, from include/linux/proc_fs.h:8, from arch/sparc/include/asm/prom.h:22, from include/linux/of.h:232, from arch/sparc/include/asm/openprom.h:14, from arch/sparc/prom/mp.c:12: >> arch/sparc/include/asm/oplib_32.h:105:39: warning: 'struct >> linux_prom_registers' declared inside parameter list will not be visible >> outside of this definition or declaration int prom_startcpu(int cpunode, struct linux_prom_registers *context_table, ^~~~ arch/sparc/include/asm/oplib_32.h:168:36: warning: 'struct linux_prom_registers' declared inside parameter list will not be visible outside of this definition or declaration void prom_apply_obio_ranges(struct linux_prom_registers *obioregs, int nregs); ^~~~ arch/sparc/include/asm/oplib_32.h:172:18: warning: 'struct linux_prom_registers' declared inside parameter list will not be visible outside of this definition or declaration struct linux_prom_registers *sbusregs, int nregs); ^~~~ >> arch/sparc/prom/mp.c:23:1: error: conflicting types for 'prom_startcpu' prom_startcpu(int cpunode, struct linux_prom_registers *ctable_reg, int ctx, char *pc) ^ In file included from arch/sparc/include/asm/oplib.h:6:0, from arch/sparc/include/asm/pgtable_32.h:21, from arch/sparc/include/asm/pgtable.h:6, from include/linux/mm.h:68, from include/linux/bvec.h:25, from include/linux/blk_types.h:9, from include/linux/f
Re: [PATCH 9/9] blk-zoned: Add ioctl interface for zone operations
Hi Shaun, [auto build test ERROR on linus/master] [also build test ERROR on v4.8-rc7] [cannot apply to block/for-next next-20160919] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] [Suggest to use git(>=2.9.0) format-patch --base= (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on] [Check https://git-scm.com/docs/git-format-patch for more information] url: https://github.com/0day-ci/linux/commits/Damien-Le-Moal/ZBC-Zoned-block-device-support/20160920-062608 config: m32r-allyesconfig (attached as .config) compiler: m32r-linux-gcc (GCC) 6.2.0 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=m32r All errors (new ones prefixed by >>): block/built-in.o: In function `blkdev_zone_ioctl': >> (.text+0x394c0): undefined reference to `__get_user_bad' block/built-in.o: In function `blkdev_zone_ioctl': (.text+0x394c0): relocation truncated to fit: R_M32R_26_PCREL_RELA against undefined symbol `__get_user_bad' drivers/built-in.o: In function `nvme_nvm_dev_dma_free': lightnvm.c:(.text+0x286ae4): undefined reference to `dma_pool_free' lightnvm.c:(.text+0x286ae4): relocation truncated to fit: R_M32R_26_PCREL_RELA against undefined symbol `dma_pool_free' drivers/built-in.o: In function `nvme_nvm_dev_dma_alloc': lightnvm.c:(.text+0x286afc): undefined reference to `dma_pool_alloc' lightnvm.c:(.text+0x286afc): relocation truncated to fit: R_M32R_26_PCREL_RELA against undefined symbol `dma_pool_alloc' drivers/built-in.o: In function `nvme_nvm_destroy_dma_pool': lightnvm.c:(.text+0x286b10): undefined reference to `dma_pool_destroy' lightnvm.c:(.text+0x286b10): relocation truncated to fit: R_M32R_26_PCREL_RELA against undefined symbol `dma_pool_destroy' drivers/built-in.o: In function `nvme_nvm_create_dma_pool': lightnvm.c:(.text+0x286b44): undefined reference to `dma_pool_create' lightnvm.c:(.text+0x286b44): relocation truncated to fit: R_M32R_26_PCREL_RELA against undefined symbol `dma_pool_create' sound/built-in.o: In function `snd_pcm_lib_default_mmap': (.text+0xfcdc): undefined reference to `bad_dma_ops' sound/built-in.o: In function `snd_pcm_lib_default_mmap': (.text+0xfce0): undefined reference to `bad_dma_ops' sound/built-in.o: In function `snd_pcm_lib_default_mmap': (.text+0xfd30): undefined reference to `dma_common_mmap' sound/built-in.o: In function `snd_pcm_lib_default_mmap': (.text+0xfd30): relocation truncated to fit: R_M32R_26_PCREL_RELA against undefined symbol `dma_common_mmap' sound/built-in.o: In function `cygnus_pcm_preallocate_dma_buffer': cygnus-pcm.c:(.text+0x1100dc): undefined reference to `bad_dma_ops' cygnus-pcm.c:(.text+0x1100e0): undefined reference to `bad_dma_ops' cygnus-pcm.c:(.text+0x110114): undefined reference to `bad_dma_ops' sound/built-in.o: In function `cygnus_dma_free_dma_buffers': cygnus-pcm.c:(.text+0x110214): undefined reference to `bad_dma_ops' cygnus-pcm.c:(.text+0x11021c): undefined reference to `bad_dma_ops' sound/built-in.o:cygnus-pcm.c:(.text+0x1102b4): more undefined references to `bad_dma_ops' follow --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH 9/9] blk-zoned: Add ioctl interface for zone operations
Hi Shaun, [auto build test ERROR on linus/master] [also build test ERROR on v4.8-rc7] [cannot apply to block/for-next next-20160919] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] [Suggest to use git(>=2.9.0) format-patch --base= (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on] [Check https://git-scm.com/docs/git-format-patch for more information] url: https://github.com/0day-ci/linux/commits/Damien-Le-Moal/ZBC-Zoned-block-device-support/20160920-062608 config: blackfin-allyesconfig (attached as .config) compiler: bfin-uclinux-gcc (GCC) 6.2.0 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=blackfin All error/warnings (new ones prefixed by >>): In file included from include/linux/linkage.h:4:0, from include/linux/kernel.h:6, from block/blk-zoned.c:11: In function 'blkdev_zone_action_ioctl', inlined from 'blkdev_zone_ioctl' at block/blk-zoned.c:445:7: >> include/linux/compiler.h:491:38: error: call to '__compiletime_assert_382' >> declared with attribute error: BUILD_BUG_ON failed: ptr_size >= 8 _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^ include/linux/compiler.h:474:4: note: in definition of macro '__compiletime_assert' prefix ## suffix();\ ^~ include/linux/compiler.h:491:2: note: in expansion of macro '_compiletime_assert' _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^~~ include/linux/bug.h:51:37: note: in expansion of macro 'compiletime_assert' #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^~ include/linux/bug.h:75:2: note: in expansion of macro 'BUILD_BUG_ON_MSG' BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition) ^~~~ >> arch/blackfin/include/asm/uaccess.h:136:3: note: in expansion of macro >> 'BUILD_BUG_ON' BUILD_BUG_ON(ptr_size >= 8); \ ^~~~ >> block/blk-zoned.c:382:6: note: in expansion of macro 'get_user' if (get_user(sector, (u64 __user *)argp)) ^~~~ vim +/get_user +382 block/blk-zoned.c 366 z.reset = zone->reset; 367 368 blk_unlock_zone(zone); 369 370 if (copy_to_user(argp, &z, sizeof(struct blkzone))) 371 return -EFAULT; 372 373 return 0; 374 } 375 376 static int blkdev_zone_action_ioctl(struct block_device *bdev, 377 unsigned cmd, void __user *argp) 378 { 379 unsigned int op; 380 u64 sector; 381 > 382 if (get_user(sector, (u64 __user *)argp)) 383 return -EFAULT; 384 385 switch (cmd) { 386 case BLKRESETZONE: 387 op = REQ_OP_ZONE_RESET; 388 break; 389 case BLKOPENZONE: 390 op = REQ_OP_ZONE_OPEN; --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
Re: [PATCH V2 10/11] block-throttle: add a simple idle detection
Hi Shaohua, [auto build test ERROR on block/for-next] [also build test ERROR on v4.8-rc6 next-20160915] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] [Suggest to use git(>=2.9.0) format-patch --base= (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on] [Check https://git-scm.com/docs/git-format-patch for more information] url: https://github.com/0day-ci/linux/commits/Shaohua-Li/block-throttle-add-high-limit/20160916-042818 base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next config: arm-arm5 (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 5.4.0-6) 5.4.0 20160609 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm All errors (new ones prefixed by >>): block/built-in.o: In function `blk_throtl_idle_threshold_show': >> block/blk-throttle.c:2129: undefined reference to `__aeabi_uldivmod' vim +2129 block/blk-throttle.c 2123 } 2124 2125 ssize_t blk_throtl_idle_threshold_show(struct request_queue *q, char *page) 2126 { 2127 if (!q->td) 2128 return -EINVAL; > 2129 return sprintf(page, "%lluus\n", q->td->idle_ttime_threshold / > 1000); 2130 } 2131 2132 ssize_t blk_throtl_idle_threshold_store(struct request_queue *q, --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: Binary data
Re: [PATCH 08/15] nvme: Pass attribute group to device_add_disk
Hi Fam, [auto build test WARNING on linus/master] [also build test WARNING on v4.8-rc2 next-20160817] [cannot apply to linux/master] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Fam-Zheng/Fix-issue-with-KOBJ_ADD-uevent-versus-disk-attributes/20160817-152900 config: powerpc-allmodconfig (attached as .config) compiler: powerpc64-linux-gnu-gcc (Debian 5.4.0-6) 5.4.0 20160609 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=powerpc All warnings (new ones prefixed by >>): drivers/nvme/host/core.c: In function 'nvme_alloc_ns': >> drivers/nvme/host/core.c:1689:42: warning: passing argument 3 of >> 'device_add_disk' discards 'const' qualifier from pointer target type >> [-Wdiscarded-qualifiers] device_add_disk(ctrl->device, ns->disk, &nvme_ns_attr_group); ^ In file included from include/linux/blkdev.h:9:0, from drivers/nvme/host/core.c:15: include/linux/genhd.h:416:12: note: expected 'struct attribute_group *' but argument is of type 'const struct attribute_group *' extern int device_add_disk(struct device *parent, struct gendisk *disk, ^ vim +1689 drivers/nvme/host/core.c 1673 disk->private_data = ns; 1674 disk->queue = ns->queue; 1675 disk->flags = GENHD_FL_EXT_DEVT; 1676 sprintf(disk->disk_name, "nvme%dn%d", ctrl->instance, ns->instance); 1677 1678 if (nvme_revalidate_disk(ns->disk)) 1679 goto out_free_disk; 1680 1681 mutex_lock(&ctrl->namespaces_mutex); 1682 list_add_tail(&ns->list, &ctrl->namespaces); 1683 mutex_unlock(&ctrl->namespaces_mutex); 1684 1685 kref_get(&ctrl->kref); 1686 if (ns->type == NVME_NS_LIGHTNVM) 1687 return; 1688 > 1689 device_add_disk(ctrl->device, ns->disk, &nvme_ns_attr_group); 1690 return; 1691 out_free_disk: 1692 kfree(disk); 1693 out_free_queue: 1694 blk_cleanup_queue(ns->queue); 1695 out_release_instance: 1696 ida_simple_remove(&ctrl->ns_ida, ns->instance); 1697 out_free_ns: --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: Binary data
Re: [PATCH] NULL pointer in raid1_make_request passed to bio_trim when adding md as bcache caching dev
Hi Eric, [auto build test ERROR on linus/master] [also build test ERROR on v4.8-rc1 next-20160811] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Eric-Wheeler/NULL-pointer-in-raid1_make_request-passed-to-bio_trim-when-adding-md-as-bcache-caching-dev/20160811-115046 config: i386-randconfig-s0-201632 (attached as .config) compiler: gcc-6 (Debian 6.1.1-9) 6.1.1 20160705 reproduce: # save the attached .config to linux build tree make ARCH=i386 Note: the linux-review/Eric-Wheeler/NULL-pointer-in-raid1_make_request-passed-to-bio_trim-when-adding-md-as-bcache-caching-dev/20160811-115046 HEAD 84e331216ae8d3359dd0e7bf2cf4e11e30ca73e5 builds fine. It only hurts bisectibility. All errors (new ones prefixed by >>): In file included from fs/btrfs/super.c:19:0: >> include/linux/blkdev.h:1179:24: error: 'BIO_MAX_SECTORS' undeclared here >> (not in a function) BLK_DEF_MAX_SECTORS = BIO_MAX_SECTORS, ^~~ vim +/BIO_MAX_SECTORS +1179 include/linux/blkdev.h 1173 BLK_MAX_SEGMENTS= 128, 1174 BLK_SAFE_MAX_SECTORS= 255, 1175 /* 1176 * if you change this, please also change bvec_alloc and BIO_MAX_PAGES. 1177 * Otherwise bio_alloc_bioset will break. 1178 */ > 1179 BLK_DEF_MAX_SECTORS = BIO_MAX_SECTORS, 1180 BLK_MAX_SEGMENT_SIZE= 65536, 1181 BLK_SEG_BOUNDARY_MASK = 0xUL, 1182 }; --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: Binary data
Re: [PATCH 1/1] blk-mq: fix hang caused by freeze/unfreeze sequence
Hi Roman, [auto build test WARNING on block/for-next] [also build test WARNING on v4.7 next-20160805] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Roman-Pen/blk-mq-fix-hang-caused-by-freeze-unfreeze-sequence/20160806-014441 base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next config: tile-allyesconfig (attached as .config) compiler: tilegx-linux-gcc (GCC) 4.6.2 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=tile All warnings (new ones prefixed by >>): block/blk-core.c: In function 'blk_queue_enter': >> block/blk-core.c:660:3: warning: passing argument 1 of 'atomic_read' from >> incompatible pointer type [enabled by default] arch/tile/include/asm/atomic.h:35:19: note: expected 'const struct atomic_t *' but argument is of type 'int *' >> block/blk-core.c:660:3: warning: passing argument 1 of 'atomic_read' from >> incompatible pointer type [enabled by default] arch/tile/include/asm/atomic.h:35:19: note: expected 'const struct atomic_t *' but argument is of type 'int *' vim +/atomic_read +660 block/blk-core.c ^1da177e drivers/block/ll_rw_blk.c Linus Torvalds2005-04-16 644 { c304a51b block/blk-core.c Ezequiel Garcia 2012-11-10 645return blk_alloc_queue_node(gfp_mask, NUMA_NO_NODE); 1946089a drivers/block/ll_rw_blk.c Christoph Lameter 2005-06-23 646 } 1946089a drivers/block/ll_rw_blk.c Christoph Lameter 2005-06-23 647 EXPORT_SYMBOL(blk_alloc_queue); ^1da177e drivers/block/ll_rw_blk.c Linus Torvalds2005-04-16 648 6f3b0e8b block/blk-core.c Christoph Hellwig 2015-11-26 649 int blk_queue_enter(struct request_queue *q, bool nowait) 3ef28e83 block/blk-core.c Dan Williams 2015-10-21 650 { 3ef28e83 block/blk-core.c Dan Williams 2015-10-21 651while (true) { 3ef28e83 block/blk-core.c Dan Williams 2015-10-21 652 int ret; 3ef28e83 block/blk-core.c Dan Williams 2015-10-21 653 3ef28e83 block/blk-core.c Dan Williams 2015-10-21 654 if (percpu_ref_tryget_live(&q->q_usage_counter)) 3ef28e83 block/blk-core.c Dan Williams 2015-10-21 655 return 0; 3ef28e83 block/blk-core.c Dan Williams 2015-10-21 656 6f3b0e8b block/blk-core.c Christoph Hellwig 2015-11-26 657 if (nowait) 3ef28e83 block/blk-core.c Dan Williams 2015-10-21 658 return -EBUSY; 3ef28e83 block/blk-core.c Dan Williams 2015-10-21 659 3ef28e83 block/blk-core.c Dan Williams 2015-10-21 @660 ret = wait_event_interruptible(q->mq_freeze_wq, 3ef28e83 block/blk-core.c Dan Williams 2015-10-21 661 !atomic_read(&q->mq_freeze_depth) || 3ef28e83 block/blk-core.c Dan Williams 2015-10-21 662 blk_queue_dying(q)); 3ef28e83 block/blk-core.c Dan Williams 2015-10-21 663 if (blk_queue_dying(q)) 3ef28e83 block/blk-core.c Dan Williams 2015-10-21 664 return -ENODEV; 3ef28e83 block/blk-core.c Dan Williams 2015-10-21 665 if (ret) 3ef28e83 block/blk-core.c Dan Williams 2015-10-21 666 return ret; 3ef28e83 block/blk-core.c Dan Williams 2015-10-21 667} 3ef28e83 block/blk-core.c Dan Williams 2015-10-21 668 } :: The code at line 660 was first introduced by commit :: 3ef28e83ab15799742e55fd13243a5f678b04242 block: generic request_queue reference counting :: TO: Dan Williams :: CC: Jens Axboe --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: Binary data
Re: [PATCH 1/1] blk-mq: fix hang caused by freeze/unfreeze sequence
Hi Roman, [auto build test WARNING on block/for-next] [also build test WARNING on v4.7 next-20160805] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Roman-Pen/blk-mq-fix-hang-caused-by-freeze-unfreeze-sequence/20160806-014441 base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next config: x86_64-randconfig-x012-201631 (attached as .config) compiler: gcc-6 (Debian 6.1.1-9) 6.1.1 20160705 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All warnings (new ones prefixed by >>): In file included from include/linux/linkage.h:4:0, from include/linux/kernel.h:6, from block/blk-core.c:14: block/blk-core.c: In function 'blk_queue_enter': block/blk-core.c:661:18: error: passing argument 1 of 'atomic_read' from incompatible pointer type [-Werror=incompatible-pointer-types] !atomic_read(&q->mq_freeze_depth) || ^ include/linux/compiler.h:151:30: note: in definition of macro '__trace_if' if (__builtin_constant_p(!!(cond)) ? !!(cond) : \ ^~~~ >> include/linux/wait.h:473:2: note: in expansion of macro 'if' if (!(condition)) \ ^~ block/blk-core.c:660:9: note: in expansion of macro 'wait_event_interruptible' ret = wait_event_interruptible(q->mq_freeze_wq, ^~~~ In file included from arch/x86/include/asm/msr.h:66:0, from arch/x86/include/asm/processor.h:20, from arch/x86/include/asm/cpufeature.h:4, from arch/x86/include/asm/thread_info.h:52, from include/linux/thread_info.h:54, from arch/x86/include/asm/preempt.h:6, from include/linux/preempt.h:59, from include/linux/spinlock.h:50, from include/linux/seqlock.h:35, from include/linux/time.h:5, from include/linux/stat.h:18, from include/linux/module.h:10, from block/blk-core.c:15: arch/x86/include/asm/atomic.h:24:28: note: expected 'const atomic_t * {aka const struct *}' but argument is of type 'int *' static __always_inline int atomic_read(const atomic_t *v) ^~~ In file included from include/linux/linkage.h:4:0, from include/linux/kernel.h:6, from block/blk-core.c:14: block/blk-core.c:661:18: error: passing argument 1 of 'atomic_read' from incompatible pointer type [-Werror=incompatible-pointer-types] !atomic_read(&q->mq_freeze_depth) || ^ include/linux/compiler.h:151:42: note: in definition of macro '__trace_if' if (__builtin_constant_p(!!(cond)) ? !!(cond) : \ ^~~~ >> include/linux/wait.h:473:2: note: in expansion of macro 'if' if (!(condition)) \ ^~ block/blk-core.c:660:9: note: in expansion of macro 'wait_event_interruptible' ret = wait_event_interruptible(q->mq_freeze_wq, ^~~~ In file included from arch/x86/include/asm/msr.h:66:0, from arch/x86/include/asm/processor.h:20, from arch/x86/include/asm/cpufeature.h:4, from arch/x86/include/asm/thread_info.h:52, from include/linux/thread_info.h:54, from arch/x86/include/asm/preempt.h:6, from include/linux/preempt.h:59, from include/linux/spinlock.h:50, from include/linux/seqlock.h:35, from include/linux/time.h:5, from include/linux/stat.h:18, from include/linux/module.h:10, from block/blk-core.c:15: arch/x86/include/asm/atomic.h:24:28: note: expected 'const atomic_t * {aka const struct *}' but argument is of type 'int *' static __always_inline int atomic_read(const atomic_t *v) ^~~ In file included from include/linux/linkage.h:4:0, from include/linux/kernel.h:6, from block/blk-core.c:14: block/blk-core.c:661:18: error: passing argument 1 of 'atomic_read' from incompatible pointer type [-Werror=incompatible-pointer-types] !atomic_read(&q->mq_freeze_depth) || ^ include/linux/compiler.h:162:16: note: in definition of macro '__trace_if' __r = !!(cond); \ ^~~~ >> include/linux/wait.h:473:2: note: in expansion of macro 'if' if (!(condition)) \ ^~ block/blk-core.c:660:9: note: in expansion of macro 'wait_event_interruptible' ret = wait_event_interruptible(q->mq_freeze_wq, ^~~
Re: [PATCH 1/1] blk-mq: fix hang caused by freeze/unfreeze sequence
Hi Roman, [auto build test ERROR on block/for-next] [also build test ERROR on v4.7 next-20160805] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Roman-Pen/blk-mq-fix-hang-caused-by-freeze-unfreeze-sequence/20160806-014441 base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next config: x86_64-randconfig-x015-201631 (attached as .config) compiler: gcc-6 (Debian 6.1.1-9) 6.1.1 20160705 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All error/warnings (new ones prefixed by >>): In file included from include/linux/mmzone.h:9:0, from include/linux/gfp.h:5, from include/linux/kmod.h:22, from include/linux/module.h:13, from block/blk-core.c:15: block/blk-core.c: In function 'blk_queue_enter': >> block/blk-core.c:661:18: error: passing argument 1 of 'atomic_read' from >> incompatible pointer type [-Werror=incompatible-pointer-types] !atomic_read(&q->mq_freeze_depth) || ^ include/linux/wait.h:473:8: note: in definition of macro 'wait_event_interruptible' if (!(condition)) \ ^ In file included from arch/x86/include/asm/msr.h:66:0, from arch/x86/include/asm/processor.h:20, from arch/x86/include/asm/cpufeature.h:4, from arch/x86/include/asm/thread_info.h:52, from include/linux/thread_info.h:54, from arch/x86/include/asm/preempt.h:6, from include/linux/preempt.h:59, from include/linux/spinlock.h:50, from include/linux/seqlock.h:35, from include/linux/time.h:5, from include/linux/stat.h:18, from include/linux/module.h:10, from block/blk-core.c:15: arch/x86/include/asm/atomic.h:24:28: note: expected 'const atomic_t * {aka const struct *}' but argument is of type 'int *' static __always_inline int atomic_read(const atomic_t *v) ^~~ In file included from include/linux/mmzone.h:9:0, from include/linux/gfp.h:5, from include/linux/kmod.h:22, from include/linux/module.h:13, from block/blk-core.c:15: >> block/blk-core.c:661:18: error: passing argument 1 of 'atomic_read' from >> incompatible pointer type [-Werror=incompatible-pointer-types] !atomic_read(&q->mq_freeze_depth) || ^ include/linux/wait.h:278:7: note: in definition of macro '___wait_event' if (condition) \ ^ include/linux/wait.h:474:11: note: in expansion of macro '__wait_event_interruptible' __ret = __wait_event_interruptible(wq, condition); \ ^~ >> block/blk-core.c:660:9: note: in expansion of macro >> 'wait_event_interruptible' ret = wait_event_interruptible(q->mq_freeze_wq, ^~~~ In file included from arch/x86/include/asm/msr.h:66:0, from arch/x86/include/asm/processor.h:20, from arch/x86/include/asm/cpufeature.h:4, from arch/x86/include/asm/thread_info.h:52, from include/linux/thread_info.h:54, from arch/x86/include/asm/preempt.h:6, from include/linux/preempt.h:59, from include/linux/spinlock.h:50, from include/linux/seqlock.h:35, from include/linux/time.h:5, from include/linux/stat.h:18, from include/linux/module.h:10, from block/blk-core.c:15: arch/x86/include/asm/atomic.h:24:28: note: expected 'const atomic_t * {aka const struct *}' but argument is of type 'int *' static __always_inline int atomic_read(const atomic_t *v) ^~~ cc1: some warnings being treated as errors vim +/atomic_read +661 block/blk-core.c 3ef28e83 Dan Williams 2015-10-21 654 if (percpu_ref_tryget_live(&q->q_usage_counter)) 3ef28e83 Dan Williams 2015-10-21 655 return 0; 3ef28e83 Dan Williams 2015-10-21 656 6f3b0e8b Christoph Hellwig 2015-11-26 657 if (nowait) 3ef28e83 Dan Williams 2015-10-21 658 return -EBUSY; 3ef28e83 Dan Williams 2015-10-21 659 3ef28e83 Dan Williams 2015-10-21 @660 ret = wait_event_interruptible(q->mq_freeze_wq, 3ef28e83 Dan Williams 2015-10-21 @661 !atomic_read(&q->mq_freeze_depth) || 3ef28e83 Dan Williams 2015-10-21 662 blk_queue_dying(q)); 3ef28e83 Dan
Re: [PATCH 1/1] mm/block: convert rw_page users to bio op use
Hi Mike, [auto build test ERROR on linus/master] [also build test ERROR on next-20160804] [cannot apply to v4.7] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Mike-Christie/mm-block-convert-rw_page-users-to-bio-op-use/20160805-012041 config: i386-tinyconfig (attached as .config) compiler: gcc-6 (Debian 6.1.1-9) 6.1.1 20160705 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): mm/filemap.c: In function 'page_endio': >> mm/filemap.c:892:7: error: implicit declaration of function 'op_is_write' >> [-Werror=implicit-function-declaration] if (!op_is_write(op)) { ^~~ cc1: some warnings being treated as errors vim +/op_is_write +892 mm/filemap.c 886 /* 887 * After completing I/O on a page, call this routine to update the page 888 * flags appropriately 889 */ 890 void page_endio(struct page *page, int op, int err) 891 { > 892 if (!op_is_write(op)) { 893 if (!err) { 894 SetPageUptodate(page); 895 } else { --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: Binary data
Re: [PATCH BUGFIX V4] block: add missing group association in bio-cloning functions
Hi, [auto build test WARNING on block/for-next] [also build test WARNING on v4.7 next-20160726] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Paolo-Valente/block-add-missing-group-association-in-bio-cloning-functions/20160727-005044 base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next config: x86_64-randconfig-x015-201630 (attached as .config) compiler: gcc-6 (Debian 6.1.1-9) 6.1.1 20160705 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All warnings (new ones prefixed by >>): In file included from block/bio.c:20:0: include/linux/bio.h: In function 'bio_clone_blkcg_association': >> include/linux/bio.h:480:30: warning: 'return' with a value, in function >> returning void struct bio *src) { return 0; } ^ include/linux/bio.h:479:20: note: declared here static inline void bio_clone_blkcg_association(struct bio *dst, ^~~ vim +/return +480 include/linux/bio.h 464 void zero_fill_bio(struct bio *bio); 465 extern struct bio_vec *bvec_alloc(gfp_t, int, unsigned long *, mempool_t *); 466 extern void bvec_free(mempool_t *, struct bio_vec *, unsigned int); 467 extern unsigned int bvec_nr_vecs(unsigned short idx); 468 469 #ifdef CONFIG_BLK_CGROUP 470 int bio_associate_blkcg(struct bio *bio, struct cgroup_subsys_state *blkcg_css); 471 int bio_associate_current(struct bio *bio); 472 void bio_disassociate_task(struct bio *bio); 473 void bio_clone_blkcg_association(struct bio *dst, struct bio *src); 474 #else /* CONFIG_BLK_CGROUP */ 475 static inline int bio_associate_blkcg(struct bio *bio, 476 struct cgroup_subsys_state *blkcg_css) { return 0; } 477 static inline int bio_associate_current(struct bio *bio) { return -ENOENT; } 478 static inline void bio_disassociate_task(struct bio *bio) { } 479 static inline void bio_clone_blkcg_association(struct bio *dst, > 480 struct bio *src) { return 0; } 481 #endif /* CONFIG_BLK_CGROUP */ 482 483 #ifdef CONFIG_HIGHMEM 484 /* 485 * remember never ever reenable interrupts between a bvec_kmap_irq and 486 * bvec_kunmap_irq! 487 */ 488 static inline char *bvec_kmap_irq(struct bio_vec *bvec, unsigned long *flags) --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: Binary data