[Virtio-fs] [PATCH] virtiofs: Enable multiple request queues

kernel test robot lkp at intel.com
Sat May 8 01:19:54 UTC 2021


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 at intel.com>

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@lists.01.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 29902 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/virtio-fs/attachments/20210508/6db034b0/attachment.gz>


More information about the Virtio-fs mailing list