Hi Connor, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on fuse/for-next] [also build test WARNING on linux/master linus/master v5.12 next-20210507] [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/Connor-Kuehl/virtiofs-Enable-multiple-request-queues/20210508-061611 base: https://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse.git for-next config: microblaze-randconfig-r001-20210507 (attached as .config) compiler: microblaze-linux-gcc (GCC) 9.3.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/0day-ci/linux/commit/6ffd4543401bc990353404b556d91cce34b017fc git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Connor-Kuehl/virtiofs-Enable-multiple-request-queues/20210508-061611 git checkout 6ffd4543401bc990353404b556d91cce34b017fc # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross W=1 ARCH=microblaze If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> All warnings (new ones prefixed by >>): fs/fuse/virtio_fs.c: In function 'virtio_fs_wake_pending_and_unlock': >> fs/fuse/virtio_fs.c:1246:20: warning: variable 'fs' set but not used [-Wunused-but-set-variable] 1246 | struct virtio_fs *fs; | ^~ vim +/fs +1246 fs/fuse/virtio_fs.c a62a8ef9d97da2 Stefan Hajnoczi 2018-06-12 1242 a62a8ef9d97da2 Stefan Hajnoczi 2018-06-12 1243 static void virtio_fs_wake_pending_and_unlock(struct fuse_iqueue *fiq) a62a8ef9d97da2 Stefan Hajnoczi 2018-06-12 1244 __releases(fiq->lock) a62a8ef9d97da2 Stefan Hajnoczi 2018-06-12 1245 { a62a8ef9d97da2 Stefan Hajnoczi 2018-06-12 @1246 struct virtio_fs *fs; a62a8ef9d97da2 Stefan Hajnoczi 2018-06-12 1247 struct fuse_req *req; 51fecdd2555b3e Vivek Goyal 2019-10-15 1248 struct virtio_fs_vq *fsvq; a62a8ef9d97da2 Stefan Hajnoczi 2018-06-12 1249 int ret; a62a8ef9d97da2 Stefan Hajnoczi 2018-06-12 1250 a62a8ef9d97da2 Stefan Hajnoczi 2018-06-12 1251 WARN_ON(list_empty(&fiq->pending)); a62a8ef9d97da2 Stefan Hajnoczi 2018-06-12 1252 req = list_last_entry(&fiq->pending, struct fuse_req, list); a62a8ef9d97da2 Stefan Hajnoczi 2018-06-12 1253 clear_bit(FR_PENDING, &req->flags); a62a8ef9d97da2 Stefan Hajnoczi 2018-06-12 1254 list_del_init(&req->list); a62a8ef9d97da2 Stefan Hajnoczi 2018-06-12 1255 WARN_ON(!list_empty(&fiq->pending)); a62a8ef9d97da2 Stefan Hajnoczi 2018-06-12 1256 spin_unlock(&fiq->lock); a62a8ef9d97da2 Stefan Hajnoczi 2018-06-12 1257 a62a8ef9d97da2 Stefan Hajnoczi 2018-06-12 1258 fs = fiq->priv; a62a8ef9d97da2 Stefan Hajnoczi 2018-06-12 1259 a62a8ef9d97da2 Stefan Hajnoczi 2018-06-12 1260 pr_debug("%s: opcode %u unique %#llx nodeid %#llx in.len %u out.len %u\n", a62a8ef9d97da2 Stefan Hajnoczi 2018-06-12 1261 __func__, req->in.h.opcode, req->in.h.unique, a62a8ef9d97da2 Stefan Hajnoczi 2018-06-12 1262 req->in.h.nodeid, req->in.h.len, a62a8ef9d97da2 Stefan Hajnoczi 2018-06-12 1263 fuse_len_args(req->args->out_numargs, req->args->out_args)); a62a8ef9d97da2 Stefan Hajnoczi 2018-06-12 1264 6ffd4543401bc9 Connor Kuehl 2021-05-07 1265 fsvq = this_cpu_read(this_cpu_fsvq); 6ffd4543401bc9 Connor Kuehl 2021-05-07 1266 a9bfd9dd341756 Vivek Goyal 2019-10-15 1267 ret = virtio_fs_enqueue_req(fsvq, req, false); a62a8ef9d97da2 Stefan Hajnoczi 2018-06-12 1268 if (ret < 0) { a62a8ef9d97da2 Stefan Hajnoczi 2018-06-12 1269 if (ret == -ENOMEM || ret == -ENOSPC) { a9bfd9dd341756 Vivek Goyal 2019-10-15 1270 /* a9bfd9dd341756 Vivek Goyal 2019-10-15 1271 * Virtqueue full. Retry submission from worker a9bfd9dd341756 Vivek Goyal 2019-10-15 1272 * context as we might be holding fc->bg_lock. a9bfd9dd341756 Vivek Goyal 2019-10-15 1273 */ a9bfd9dd341756 Vivek Goyal 2019-10-15 1274 spin_lock(&fsvq->lock); a9bfd9dd341756 Vivek Goyal 2019-10-15 1275 list_add_tail(&req->list, &fsvq->queued_reqs); a9bfd9dd341756 Vivek Goyal 2019-10-15 1276 inc_in_flight_req(fsvq); a9bfd9dd341756 Vivek Goyal 2019-10-15 1277 schedule_delayed_work(&fsvq->dispatch_work, a9bfd9dd341756 Vivek Goyal 2019-10-15 1278 msecs_to_jiffies(1)); a9bfd9dd341756 Vivek Goyal 2019-10-15 1279 spin_unlock(&fsvq->lock); a9bfd9dd341756 Vivek Goyal 2019-10-15 1280 return; a62a8ef9d97da2 Stefan Hajnoczi 2018-06-12 1281 } a62a8ef9d97da2 Stefan Hajnoczi 2018-06-12 1282 req->out.h.error = ret; a62a8ef9d97da2 Stefan Hajnoczi 2018-06-12 1283 pr_err("virtio-fs: virtio_fs_enqueue_req() failed %d\n", ret); 51fecdd2555b3e Vivek Goyal 2019-10-15 1284 51fecdd2555b3e Vivek Goyal 2019-10-15 1285 /* Can't end request in submission context. Use a worker */ 51fecdd2555b3e Vivek Goyal 2019-10-15 1286 spin_lock(&fsvq->lock); 51fecdd2555b3e Vivek Goyal 2019-10-15 1287 list_add_tail(&req->list, &fsvq->end_reqs); 51fecdd2555b3e Vivek Goyal 2019-10-15 1288 schedule_delayed_work(&fsvq->dispatch_work, 0); 51fecdd2555b3e Vivek Goyal 2019-10-15 1289 spin_unlock(&fsvq->lock); a62a8ef9d97da2 Stefan Hajnoczi 2018-06-12 1290 return; a62a8ef9d97da2 Stefan Hajnoczi 2018-06-12 1291 } a62a8ef9d97da2 Stefan Hajnoczi 2018-06-12 1292 } a62a8ef9d97da2 Stefan Hajnoczi 2018-06-12 1293 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip