From: kernel test robot <lkp@intel.com>
To: Keith Busch <kbusch@meta.com>,
axboe@kernel.dk, hch@lst.de, linux-block@vger.kernel.org,
linux-nvme@lists.infradead.org, linux-fsdevel@vger.kernel.org,
io-uring@vger.kernel.org
Cc: oe-kbuild-all@lists.linux.dev, sagi@grimberg.me,
asml.silence@gmail.com, Keith Busch <kbusch@kernel.org>
Subject: Re: [PATCHv11 10/10] nvme: use fdp streams if write stream is provided
Date: Fri, 6 Dec 2024 21:18:52 +0800 [thread overview]
Message-ID: <202412062116.SzYvrv5L-lkp@intel.com> (raw)
In-Reply-To: <20241206015308.3342386-11-kbusch@meta.com>
Hi Keith,
kernel test robot noticed the following build warnings:
[auto build test WARNING on axboe-block/for-next]
[also build test WARNING on next-20241205]
[cannot apply to brauner-vfs/vfs.all hch-configfs/for-next linus/master v6.13-rc1]
[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#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Keith-Busch/fs-add-a-write-stream-field-to-the-kiocb/20241206-095707
base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
patch link: https://lore.kernel.org/r/20241206015308.3342386-11-kbusch%40meta.com
patch subject: [PATCHv11 10/10] nvme: use fdp streams if write stream is provided
config: i386-randconfig-061 (https://download.01.org/0day-ci/archive/20241206/202412062116.SzYvrv5L-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241206/202412062116.SzYvrv5L-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202412062116.SzYvrv5L-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
drivers/nvme/host/core.c: note: in included file (through drivers/nvme/host/nvme.h):
include/linux/nvme.h:790:44: sparse: sparse: array of flexible structures
>> drivers/nvme/host/core.c:2261:34: sparse: sparse: cast to restricted __le16
drivers/nvme/host/core.c: note: in included file (through include/linux/async.h):
include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
vim +2261 drivers/nvme/host/core.c
2209
2210 static int nvme_query_fdp_info(struct nvme_ns *ns, struct nvme_ns_info *info)
2211 {
2212 struct nvme_fdp_ruh_status_desc *ruhsd;
2213 struct nvme_ns_head *head = ns->head;
2214 struct nvme_fdp_ruh_status *ruhs;
2215 struct nvme_command c = {};
2216 u32 fdp, fdp_idx;
2217 int size, ret, i;
2218
2219 ret = nvme_get_features(ns->ctrl, NVME_FEAT_FDP, info->endgid, NULL, 0,
2220 &fdp);
2221 if (ret)
2222 goto err;
2223
2224 if (!(fdp & NVME_FDP_FDPE))
2225 goto err;
2226
2227 fdp_idx = (fdp >> NVME_FDP_FDPCIDX_SHIFT) & NVME_FDP_FDPCIDX_MASK;
2228 ret = nvme_check_fdp(ns, info, fdp_idx);
2229 if (ret || !info->runs)
2230 goto err;
2231
2232 size = struct_size(ruhs, ruhsd, NVME_MAX_PLIDS);
2233 ruhs = kzalloc(size, GFP_KERNEL);
2234 if (!ruhs) {
2235 ret = -ENOMEM;
2236 goto err;
2237 }
2238
2239 c.imr.opcode = nvme_cmd_io_mgmt_recv;
2240 c.imr.nsid = cpu_to_le32(head->ns_id);
2241 c.imr.mo = NVME_IO_MGMT_RECV_MO_RUHS;
2242 c.imr.numd = cpu_to_le32(nvme_bytes_to_numd(size));
2243 ret = nvme_submit_sync_cmd(ns->queue, &c, ruhs, size);
2244 if (ret)
2245 goto free;
2246
2247 head->nr_plids = le16_to_cpu(ruhs->nruhsd);
2248 if (!head->nr_plids)
2249 goto free;
2250
2251 head->nr_plids = min(head->nr_plids, NVME_MAX_PLIDS);
2252 head->plids = kcalloc(head->nr_plids, sizeof(head->plids),
2253 GFP_KERNEL);
2254 if (!head->plids) {
2255 ret = -ENOMEM;
2256 goto free;
2257 }
2258
2259 for (i = 0; i < head->nr_plids; i++) {
2260 ruhsd = &ruhs->ruhsd[i];
> 2261 head->plids[i] = le16_to_cpu(ruhsd->pid);
2262 }
2263
2264 kfree(ruhs);
2265 return 0;
2266
2267 free:
2268 kfree(ruhs);
2269 err:
2270 head->nr_plids = 0;
2271 info->runs = 0;
2272 return ret;
2273 }
2274
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2024-12-06 13:19 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-06 1:52 [PATCHv11 00/10] block write streams with nvme fdp Keith Busch
2024-12-06 1:52 ` [PATCHv11 01/10] fs: add a write stream field to the kiocb Keith Busch
2024-12-06 1:53 ` [PATCHv11 02/10] io_uring: protection information enhancements Keith Busch
2024-12-06 9:49 ` Anuj Gupta
2024-12-06 1:53 ` [PATCHv11 03/10] io_uring: add write stream attribute Keith Busch
2024-12-06 9:55 ` Anuj Gupta
2024-12-06 12:44 ` Kanchan Joshi
2024-12-06 16:53 ` Keith Busch
2024-12-06 1:53 ` [PATCHv11 04/10] block: add a bi_write_stream field Keith Busch
2024-12-06 1:53 ` [PATCHv11 05/10] block: introduce max_write_streams queue limit Keith Busch
2024-12-06 1:53 ` [PATCHv11 06/10] block: introduce a write_stream_granularity " Keith Busch
2024-12-06 1:53 ` [PATCHv11 07/10] block: expose write streams for block device nodes Keith Busch
2024-12-06 4:13 ` kernel test robot
2024-12-06 6:43 ` kernel test robot
2024-12-06 9:11 ` Nitesh Shetty
2024-12-06 1:53 ` [PATCHv11 08/10] nvme: add a nvme_get_log_lsi helper Keith Busch
2024-12-06 1:53 ` [PATCHv11 09/10] nvme: register fdp queue limits Keith Busch
2024-12-06 5:26 ` kernel test robot
2024-12-06 1:53 ` [PATCHv11 10/10] nvme: use fdp streams if write stream is provided Keith Busch
2024-12-06 13:18 ` kernel test robot [this message]
2024-12-06 2:18 ` [PATCHv11 00/10] block write streams with nvme fdp Keith Busch
2024-12-09 12:51 ` Christoph Hellwig
2024-12-09 15:57 ` Keith Busch
2024-12-09 17:14 ` [EXT] " Pierre Labat
2024-12-09 17:25 ` Keith Busch
2024-12-09 17:35 ` Pierre Labat
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202412062116.SzYvrv5L-lkp@intel.com \
--to=lkp@intel.com \
--cc=asml.silence@gmail.com \
--cc=axboe@kernel.dk \
--cc=hch@lst.de \
--cc=io-uring@vger.kernel.org \
--cc=kbusch@kernel.org \
--cc=kbusch@meta.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-nvme@lists.infradead.org \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=sagi@grimberg.me \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.