[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202310112204.h03TUDpH-lkp@intel.com>
Date: Wed, 11 Oct 2023 22:13:17 +0800
From: kernel test robot <lkp@...el.com>
To: Xuan Zhuo <xuanzhuo@...ux.alibaba.com>,
virtualization@...ts.linux-foundation.org
Cc: oe-kbuild-all@...ts.linux.dev, Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
"Michael S. Tsirkin" <mst@...hat.com>,
Jason Wang <jasowang@...hat.com>,
Xuan Zhuo <xuanzhuo@...ux.alibaba.com>,
Alexei Starovoitov <ast@...nel.org>,
Daniel Borkmann <daniel@...earbox.net>,
Jesper Dangaard Brouer <hawk@...nel.org>,
John Fastabend <john.fastabend@...il.com>, netdev@...r.kernel.org,
bpf@...r.kernel.org
Subject: Re: [PATCH vhost 01/22] virtio_ring: virtqueue_set_dma_premapped
support disable
Hi Xuan,
kernel test robot noticed the following build warnings:
[auto build test WARNING on linus/master]
[also build test WARNING on v6.6-rc5 next-20231011]
[cannot apply to mst-vhost/linux-next]
[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/Xuan-Zhuo/virtio_ring-virtqueue_set_dma_premapped-support-disable/20231011-180709
base: linus/master
patch link: https://lore.kernel.org/r/20231011092728.105904-2-xuanzhuo%40linux.alibaba.com
patch subject: [PATCH vhost 01/22] virtio_ring: virtqueue_set_dma_premapped support disable
config: m68k-allyesconfig (https://download.01.org/0day-ci/archive/20231011/202310112204.h03TUDpH-lkp@intel.com/config)
compiler: m68k-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231011/202310112204.h03TUDpH-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@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202310112204.h03TUDpH-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/virtio/virtio_ring.c:2788: warning: Function parameter or member 'mode' not described in 'virtqueue_set_dma_premapped'
vim +2788 drivers/virtio/virtio_ring.c
c790e8e1817f1a Xuan Zhuo 2022-08-01 2765
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2766 /**
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2767 * virtqueue_set_dma_premapped - set the vring premapped mode
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2768 * @_vq: the struct virtqueue we're talking about.
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2769 *
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2770 * Enable the premapped mode of the vq.
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2771 *
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2772 * The vring in premapped mode does not do dma internally, so the driver must
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2773 * do dma mapping in advance. The driver must pass the dma_address through
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2774 * dma_address of scatterlist. When the driver got a used buffer from
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2775 * the vring, it has to unmap the dma address.
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2776 *
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2777 * This function must be called immediately after creating the vq, or after vq
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2778 * reset, and before adding any buffers to it.
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2779 *
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2780 * Caller must ensure we don't call this with other virtqueue operations
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2781 * at the same time (except where noted).
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2782 *
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2783 * Returns zero or a negative error.
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2784 * 0: success.
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2785 * -EINVAL: vring does not use the dma api, so we can not enable premapped mode.
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2786 */
f8d1a236ad114f Xuan Zhuo 2023-10-11 2787 int virtqueue_set_dma_premapped(struct virtqueue *_vq, bool mode)
8daafe9ebbd21a Xuan Zhuo 2023-08-10 @2788 {
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2789 struct vring_virtqueue *vq = to_vvq(_vq);
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2790 u32 num;
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2791
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2792 START_USE(vq);
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2793
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2794 num = vq->packed_ring ? vq->packed.vring.num : vq->split.vring.num;
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2795
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2796 if (num != vq->vq.num_free) {
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2797 END_USE(vq);
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2798 return -EINVAL;
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2799 }
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2800
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2801 if (!vq->use_dma_api) {
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2802 END_USE(vq);
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2803 return -EINVAL;
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2804 }
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2805
f8d1a236ad114f Xuan Zhuo 2023-10-11 2806 if (mode) {
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2807 vq->premapped = true;
b319940f83c21b Xuan Zhuo 2023-08-10 2808 vq->do_unmap = false;
f8d1a236ad114f Xuan Zhuo 2023-10-11 2809 } else {
f8d1a236ad114f Xuan Zhuo 2023-10-11 2810 vq->premapped = false;
f8d1a236ad114f Xuan Zhuo 2023-10-11 2811 vq->do_unmap = vq->use_dma_api;
f8d1a236ad114f Xuan Zhuo 2023-10-11 2812 }
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2813
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2814 END_USE(vq);
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2815
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2816 return 0;
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2817 }
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2818 EXPORT_SYMBOL_GPL(virtqueue_set_dma_premapped);
8daafe9ebbd21a Xuan Zhuo 2023-08-10 2819
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists