Re: [PATCH] blk-mq: use BLK_MQ_NO_TAG for no tag

kernel test robot
2020-08-23T21:36:56Z

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

Hi Xianting,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on block/for-next]
[also build test ERROR on linux/master linus/master v5.9-rc1 next-20200821]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url: https://github.com/0day-ci/linux/commits/Xianting-Tian/blk-mq-use-BLK_MQ_NO_TAG-for-no-tag/20200824-012255
base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
config: arm64-randconfig-r034-20200824 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project b587ca93be114d07ec3bf654add97d7872325281)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All error/warnings (new ones prefixed by >>):

In file included from drivers/mtd/ubi/block.c:40:
>> include/linux/blk-mq.h:572:17: error: use of undeclared identifier 'BLK_MQ_NO_TAG'
if (rq->tag != BLK_MQ_NO_TAG)
^
1 error generated.
--
In file included from drivers/ata/ahci_platform.c:17:
In file included from include/linux/libata.h:21:
In file included from include/scsi/scsi_host.h:11:
>> include/linux/blk-mq.h:572:17: error: use of undeclared identifier 'BLK_MQ_NO_TAG'
if (rq->tag != BLK_MQ_NO_TAG)
^
drivers/ata/ahci_platform.c:40:2: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
AHCI_SHT(DRV_NAME),
^~~~~~~~~~~~~~~~~~
drivers/ata/ahci.h:385:16: note: expanded from macro 'AHCI_SHT'
.can_queue = AHCI_MAX_CMDS, \
^~~~~~~~~~~~~
drivers/ata/ahci_platform.c:40:2: note: previous initialization is here
AHCI_SHT(DRV_NAME),
^~~~~~~~~~~~~~~~~~
drivers/ata/ahci.h:384:2: note: expanded from macro 'AHCI_SHT'
ATA_NCQ_SHT(drv_name), \
^~~~~~~~~~~~~~~~~~~~~
include/linux/libata.h:1417:2: note: expanded from macro 'ATA_NCQ_SHT'
__ATA_BASE_SHT(drv_name), \
^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/libata.h:1399:16: note: expanded from macro '__ATA_BASE_SHT'
.can_queue = ATA_DEF_QUEUE, \
^~~~~~~~~~~~~
drivers/ata/ahci_platform.c:40:2: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
AHCI_SHT(DRV_NAME),
^~~~~~~~~~~~~~~~~~
drivers/ata/ahci.h:389:17: note: expanded from macro 'AHCI_SHT'
.sdev_attrs = ahci_sdev_attrs
^~~~~~~~~~~~~~~
drivers/ata/ahci_platform.c:40:2: note: previous initialization is here
AHCI_SHT(DRV_NAME),
^~~~~~~~~~~~~~~~~~
drivers/ata/ahci.h:384:2: note: expanded from macro 'AHCI_SHT'
ATA_NCQ_SHT(drv_name), \
^~~~~~~~~~~~~~~~~~~~~
include/linux/libata.h:1418:17: note: expanded from macro 'ATA_NCQ_SHT'
.sdev_attrs = ata_ncq_sdev_attrs, \
^~~~~~~~~~~~~~~~~~
2 warnings and 1 error generated.
--
In file included from drivers/ata/libahci_platform.c:19:
In file included from include/linux/libata.h:21:
In file included from include/scsi/scsi_host.h:11:
>> include/linux/blk-mq.h:572:17: error: use of undeclared identifier 'BLK_MQ_NO_TAG'
if (rq->tag != BLK_MQ_NO_TAG)
^
>> drivers/ata/libahci_platform.c:644:42: warning: shift count >= width of type [-Wshift-count-overflow]
rc = dma_coerce_mask_and_coherent(dev, DMA_BIT_MASK(64));
^~~~~~~~~~~~~~~~
include/linux/dma-mapping.h:139:54: note: expanded from macro 'DMA_BIT_MASK'
#define DMA_BIT_MASK(n) (((n) == 64) ? ~0ULL : ((1ULL<<(n))-1))
^ ~~~
1 warning and 1 error generated.
--
In file included from drivers/ata/ahci_tegra.c:23:
In file included from drivers/ata/ahci.h:24:
In file included from include/linux/libata.h:21:
In file included from include/scsi/scsi_host.h:11:
>> include/linux/blk-mq.h:572:17: error: use of undeclared identifier 'BLK_MQ_NO_TAG'
if (rq->tag != BLK_MQ_NO_TAG)
^
drivers/ata/ahci_tegra.c:477:2: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
AHCI_SHT(DRV_NAME),
^~~~~~~~~~~~~~~~~~
drivers/ata/ahci.h:385:16: note: expanded from macro 'AHCI_SHT'
.can_queue = AHCI_MAX_CMDS, \
^~~~~~~~~~~~~
drivers/ata/ahci_tegra.c:477:2: note: previous initialization is here
AHCI_SHT(DRV_NAME),
^~~~~~~~~~~~~~~~~~
drivers/ata/ahci.h:384:2: note: expanded from macro 'AHCI_SHT'
ATA_NCQ_SHT(drv_name), \
^~~~~~~~~~~~~~~~~~~~~
include/linux/libata.h:1417:2: note: expanded from macro 'ATA_NCQ_SHT'
__ATA_BASE_SHT(drv_name), \
^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/libata.h:1399:16: note: expanded from macro '__ATA_BASE_SHT'
.can_queue = ATA_DEF_QUEUE, \
^~~~~~~~~~~~~
drivers/ata/ahci_tegra.c:477:2: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
AHCI_SHT(DRV_NAME),
^~~~~~~~~~~~~~~~~~
drivers/ata/ahci.h:389:17: note: expanded from macro 'AHCI_SHT'
.sdev_attrs = ahci_sdev_attrs
^~~~~~~~~~~~~~~
drivers/ata/ahci_tegra.c:477:2: note: previous initialization is here
AHCI_SHT(DRV_NAME),
^~~~~~~~~~~~~~~~~~
drivers/ata/ahci.h:384:2: note: expanded from macro 'AHCI_SHT'
ATA_NCQ_SHT(drv_name), \
^~~~~~~~~~~~~~~~~~~~~
include/linux/libata.h:1418:17: note: expanded from macro 'ATA_NCQ_SHT'
.sdev_attrs = ata_ncq_sdev_attrs, \
^~~~~~~~~~~~~~~~~~
2 warnings and 1 error generated.
--
In file included from drivers/ata/ahci_qoriq.c:18:
In file included from include/linux/libata.h:21:
In file included from include/scsi/scsi_host.h:11:
>> include/linux/blk-mq.h:572:17: error: use of undeclared identifier 'BLK_MQ_NO_TAG'
if (rq->tag != BLK_MQ_NO_TAG)
^
drivers/ata/ahci_qoriq.c:160:2: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
AHCI_SHT(DRV_NAME),
^~~~~~~~~~~~~~~~~~
drivers/ata/ahci.h:385:16: note: expanded from macro 'AHCI_SHT'
.can_queue = AHCI_MAX_CMDS, \
^~~~~~~~~~~~~
drivers/ata/ahci_qoriq.c:160:2: note: previous initialization is here
AHCI_SHT(DRV_NAME),
^~~~~~~~~~~~~~~~~~
drivers/ata/ahci.h:384:2: note: expanded from macro 'AHCI_SHT'
ATA_NCQ_SHT(drv_name), \
^~~~~~~~~~~~~~~~~~~~~
include/linux/libata.h:1417:2: note: expanded from macro 'ATA_NCQ_SHT'
__ATA_BASE_SHT(drv_name), \
^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/libata.h:1399:16: note: expanded from macro '__ATA_BASE_SHT'
.can_queue = ATA_DEF_QUEUE, \
^~~~~~~~~~~~~
drivers/ata/ahci_qoriq.c:160:2: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
AHCI_SHT(DRV_NAME),
^~~~~~~~~~~~~~~~~~
drivers/ata/ahci.h:389:17: note: expanded from macro 'AHCI_SHT'
.sdev_attrs = ahci_sdev_attrs
^~~~~~~~~~~~~~~
drivers/ata/ahci_qoriq.c:160:2: note: previous initialization is here
AHCI_SHT(DRV_NAME),
^~~~~~~~~~~~~~~~~~
drivers/ata/ahci.h:384:2: note: expanded from macro 'AHCI_SHT'
ATA_NCQ_SHT(drv_name), \
^~~~~~~~~~~~~~~~~~~~~
include/linux/libata.h:1418:17: note: expanded from macro 'ATA_NCQ_SHT'
.sdev_attrs = ata_ncq_sdev_attrs, \
^~~~~~~~~~~~~~~~~~
drivers/ata/ahci_qoriq.c:277:21: warning: cast to smaller integer type 'enum ahci_qoriq_type' from 'const void *' [-Wvoid-pointer-to-enum-cast]
qoriq_priv->type = (enum ahci_qoriq_type)of_id->data;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3 warnings and 1 error generated.
--
In file included from drivers/scsi/scsi_sysfs.c:19:
In file included from include/scsi/scsi_host.h:11:
>> include/linux/blk-mq.h:572:17: error: use of undeclared identifier 'BLK_MQ_NO_TAG'
if (rq->tag != BLK_MQ_NO_TAG)
^
drivers/scsi/scsi_sysfs.c:373:1: warning: format specifies type 'short' but the argument has type 'int' [-Wformat]
shost_rd_attr(can_queue, "%hd\n");
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%d
drivers/scsi/scsi_sysfs.c:176:45: note: expanded from macro 'shost_rd_attr'
#define shost_rd_attr(field, format_string) \
^
drivers/scsi/scsi_sysfs.c:173:2: note: expanded from macro '\
shost_rd_attr2'
shost_show_function(name, field, format_string) \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/scsi/scsi_sysfs.c:165:43: note: expanded from macro 'shost_show_function'
return snprintf (buf, 20, format_string, shost->field); \
~~~~~~~~~~~~~ ^~~~~~~~~~~~
1 warning and 1 error generated.
--
In file included from drivers/scsi/scsi_sysfs.c:19:
In file included from include/scsi/scsi_host.h:11:
>> include/linux/blk-mq.h:572:17: error: use of undeclared identifier 'BLK_MQ_NO_TAG'
if (rq->tag != BLK_MQ_NO_TAG)
^
drivers/scsi/scsi_sysfs.c:373:1: warning: format specifies type 'short' but the argument has type 'int' [-Wformat]
shost_rd_attr(can_queue, "%hd\n");
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%d
drivers/scsi/scsi_sysfs.c:176:45: note: expanded from macro 'shost_rd_attr'
#define shost_rd_attr(field, format_string) \
^
drivers/scsi/scsi_sysfs.c:173:2: note: expanded from macro '\
shost_rd_attr2'
shost_show_function(name, field, format_string) \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/scsi/scsi_sysfs.c:165:43: note: expanded from macro 'shost_show_function'
return snprintf (buf, 20, format_string, shost->field); \
~~~~~~~~~~~~~ ^~~~~~~~~~~~
drivers/scsi/scsi_sysfs.c:1027:10: fatal error: 'scsi_devinfo_tbl.c' file not found
#include "scsi_devinfo_tbl.c"
^~~~~~~~~~~~~~~~~~~~
1 warning and 2 errors generated.
--
In file included from drivers/nvme/host/core.c:8:
>> include/linux/blk-mq.h:572:17: error: use of undeclared identifier 'BLK_MQ_NO_TAG'
if (rq->tag != BLK_MQ_NO_TAG)
^
In file included from drivers/nvme/host/core.c:29:
In file included from drivers/nvme/host/trace.h:175:
include/trace/define_trace.h:95:10: fatal error: './trace.h' file not found
#include TRACE_INCLUDE(TRACE_INCLUDE_FILE)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/trace/define_trace.h:90:32: note: expanded from macro 'TRACE_INCLUDE'
# define TRACE_INCLUDE(system) __TRACE_INCLUDE(system)
^~~~~~~~~~~~~~~~~~~~~~~
include/trace/define_trace.h:87:34: note: expanded from macro '__TRACE_INCLUDE'
# define __TRACE_INCLUDE(system) __stringify(TRACE_INCLUDE_PATH/system.h)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/stringify.h:10:27: note: expanded from macro '__stringify'
#define __stringify(x...) __stringify_1(x)
^~~~~~~~~~~~~~~~
include/linux/stringify.h:9:29: note: expanded from macro '__stringify_1'
#define __stringify_1(x...) #x
^~
<scratch space>:31:1: note: expanded from here
"./trace.h"
^~~~~~~~~~~
2 errors generated.

# https://github.com/0day-ci/linux/commit/3f57d0952e89e23c6c5b65b816d3f0a9c9747583
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Xianting-Tian/blk-mq-use-BLK_MQ_NO_TAG-for-no-tag/20200824-012255
git checkout 3f57d0952e89e23c6c5b65b816d3f0a9c9747583
vim +/BLK_MQ_NO_TAG +572 include/linux/blk-mq.h

560
561 #define queue_for_each_hw_ctx(q, hctx, i) \
562 for ((i) = 0; (i) < (q)->nr_hw_queues && \
563 ({ hctx = (q)->queue_hw_ctx[i]; 1; }); (i)++)
564
565 #define hctx_for_each_ctx(hctx, ctx, i) \
566 for ((i) = 0; (i) < (hctx)->nr_ctx && \
567 ({ ctx = (hctx)->ctxs[(i)]; 1; }); (i)++)
568
569 static inline blk_qc_t request_to_qc_t(struct blk_mq_hw_ctx *hctx,
570 struct request *rq)
571 {
> 572 if (rq->tag != BLK_MQ_NO_TAG)
573 return rq->tag | (hctx->queue_num << BLK_QC_T_SHIFT);
574
575 return rq->internal_tag | (hctx->queue_num << BLK_QC_T_SHIFT) |
576 BLK_QC_T_INTERNAL;
577 }
578

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 36817 bytes --]