[<prev] [next>] [day] [month] [year] [list]
Message-ID: <201704080450.WgmdNozX%fengguang.wu@intel.com>
Date: Sat, 8 Apr 2017 04:21:54 +0800
From: kbuild test robot <fengguang.wu@...el.com>
To: "Michael S. Tsirkin" <mst@...hat.com>
Cc: kbuild-all@...org, kvm@...r.kernel.org,
virtualization@...ts.linux-foundation.org, netdev@...r.kernel.org
Subject: [vhost:linux-next 13/26] drivers//virtio/virtio_pci_common.c:186:7:
error: too few arguments to function 'vp_dev->setup_vq'
tree: https://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git linux-next
head: 4293ed1476ec42e45e54f812341058d812d820a5
commit: d5edad95c2f89cced19a23713f752442b620f0e1 [13/26] virtio: add context flag to find vqs
config: x86_64-randconfig-x012-201714 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
git checkout d5edad95c2f89cced19a23713f752442b620f0e1
# save the attached .config to linux build tree
make ARCH=x86_64
All errors (new ones prefixed by >>):
drivers//virtio/virtio_pci_common.c: In function 'vp_setup_vq':
>> drivers//virtio/virtio_pci_common.c:186:7: error: too few arguments to function 'vp_dev->setup_vq'
vq = vp_dev->setup_vq(vp_dev, info, index, callback, name,
^~~~~~
drivers//virtio/virtio_pci_common.c: In function 'vp_find_vqs_msix':
>> drivers//virtio/virtio_pci_common.c:318:12: error: too many arguments to function 'vp_setup_vq'
vqs[i] = vp_setup_vq(vdev, i, callbacks[i], names[i],
^~~~~~~~~~~
drivers//virtio/virtio_pci_common.c:172:26: note: declared here
static struct virtqueue *vp_setup_vq(struct virtio_device *vdev, unsigned index,
^~~~~~~~~~~
drivers//virtio/virtio_pci_common.c: In function 'vp_find_vqs_intx':
drivers//virtio/virtio_pci_common.c:371:12: error: too many arguments to function 'vp_setup_vq'
vqs[i] = vp_setup_vq(vdev, i, callbacks[i], names[i],
^~~~~~~~~~~
drivers//virtio/virtio_pci_common.c:172:26: note: declared here
static struct virtqueue *vp_setup_vq(struct virtio_device *vdev, unsigned index,
^~~~~~~~~~~
vim +186 drivers//virtio/virtio_pci_common.c
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 180 unsigned long flags;
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 181
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 182 /* fill out our structure that represents an active queue */
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 183 if (!info)
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 184 return ERR_PTR(-ENOMEM);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 185
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 @186 vq = vp_dev->setup_vq(vp_dev, info, index, callback, name,
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 187 msix_vec);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 188 if (IS_ERR(vq))
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 189 goto out_info;
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 190
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 191 info->vq = vq;
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 192 if (callback) {
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 193 spin_lock_irqsave(&vp_dev->lock, flags);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 194 list_add(&info->node, &vp_dev->virtqueues);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 195 spin_unlock_irqrestore(&vp_dev->lock, flags);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 196 } else {
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 197 INIT_LIST_HEAD(&info->node);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 198 }
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 199
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 200 vp_dev->vqs[index] = info;
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 201 return vq;
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 202
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 203 out_info:
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 204 kfree(info);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 205 return vq;
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 206 }
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 207
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 208 static void vp_del_vq(struct virtqueue *vq)
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 209 {
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 210 struct virtio_pci_device *vp_dev = to_vp_device(vq->vdev);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 211 struct virtio_pci_vq_info *info = vp_dev->vqs[vq->index];
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 212 unsigned long flags;
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 213
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 214 spin_lock_irqsave(&vp_dev->lock, flags);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 215 list_del(&info->node);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 216 spin_unlock_irqrestore(&vp_dev->lock, flags);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 217
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 218 vp_dev->del_vq(info);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 219 kfree(info);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 220 }
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 221
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 222 /* the config->del_vqs() implementation */
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 223 void vp_del_vqs(struct virtio_device *vdev)
d2a7ddda9 drivers/virtio/virtio_pci.c Michael S. Tsirkin 2009-06-12 224 {
e969fed54 drivers/virtio/virtio_pci.c Michael S. Tsirkin 2009-07-26 225 struct virtio_pci_device *vp_dev = to_vp_device(vdev);
d2a7ddda9 drivers/virtio/virtio_pci.c Michael S. Tsirkin 2009-06-12 226 struct virtqueue *vq, *n;
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 227 int i;
d2a7ddda9 drivers/virtio/virtio_pci.c Michael S. Tsirkin 2009-06-12 228
e969fed54 drivers/virtio/virtio_pci.c Michael S. Tsirkin 2009-07-26 229 list_for_each_entry_safe(vq, n, &vdev->vqs, list) {
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 230 if (vp_dev->per_vq_vectors) {
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 231 int v = vp_dev->vqs[vq->index]->msix_vector;
fa3a32793 drivers/virtio/virtio_pci_common.c Christoph Hellwig 2016-11-17 232
e1c287efc drivers/virtio/virtio_pci_common.c Marc Zyngier 2017-03-08 233 if (v != VIRTIO_MSI_NO_VECTOR) {
e1c287efc drivers/virtio/virtio_pci_common.c Marc Zyngier 2017-03-08 234 int irq = pci_irq_vector(vp_dev->pci_dev, v);
e1c287efc drivers/virtio/virtio_pci_common.c Marc Zyngier 2017-03-08 235
e1c287efc drivers/virtio/virtio_pci_common.c Marc Zyngier 2017-03-08 236 irq_set_affinity_hint(irq, NULL);
e1c287efc drivers/virtio/virtio_pci_common.c Marc Zyngier 2017-03-08 237 free_irq(irq, vq);
e1c287efc drivers/virtio/virtio_pci_common.c Marc Zyngier 2017-03-08 238 }
fa3a32793 drivers/virtio/virtio_pci_common.c Christoph Hellwig 2016-11-17 239 }
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 240 vp_del_vq(vq);
e969fed54 drivers/virtio/virtio_pci.c Michael S. Tsirkin 2009-07-26 241 }
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 242 vp_dev->per_vq_vectors = false;
66f2f5554 drivers/virtio/virtio_pci_common.c Christoph Hellwig 2016-11-17 243
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 244 if (vp_dev->intx_enabled) {
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 245 free_irq(vp_dev->pci_dev->irq, vp_dev);
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 246 vp_dev->intx_enabled = 0;
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 247 }
07ec51480 drivers/virtio/virtio_pci_common.c Christoph Hellwig 2017-02-05 248
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 249 for (i = 0; i < vp_dev->msix_used_vectors; ++i)
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 250 free_irq(pci_irq_vector(vp_dev->pci_dev, i), vp_dev);
07ec51480 drivers/virtio/virtio_pci_common.c Christoph Hellwig 2017-02-05 251
66f2f5554 drivers/virtio/virtio_pci_common.c Christoph Hellwig 2016-11-17 252 for (i = 0; i < vp_dev->msix_vectors; i++)
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 253 if (vp_dev->msix_affinity_masks[i])
66f2f5554 drivers/virtio/virtio_pci_common.c Christoph Hellwig 2016-11-17 254 free_cpumask_var(vp_dev->msix_affinity_masks[i]);
66f2f5554 drivers/virtio/virtio_pci_common.c Christoph Hellwig 2016-11-17 255
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 256 if (vp_dev->msix_enabled) {
66f2f5554 drivers/virtio/virtio_pci_common.c Christoph Hellwig 2016-11-17 257 /* Disable the vector used for configuration */
66f2f5554 drivers/virtio/virtio_pci_common.c Christoph Hellwig 2016-11-17 258 vp_dev->config_vector(vp_dev, VIRTIO_MSI_NO_VECTOR);
66f2f5554 drivers/virtio/virtio_pci_common.c Christoph Hellwig 2016-11-17 259
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 260 pci_free_irq_vectors(vp_dev->pci_dev);
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 261 vp_dev->msix_enabled = 0;
07ec51480 drivers/virtio/virtio_pci_common.c Christoph Hellwig 2017-02-05 262 }
07ec51480 drivers/virtio/virtio_pci_common.c Christoph Hellwig 2017-02-05 263
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 264 vp_dev->msix_vectors = 0;
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 265 vp_dev->msix_used_vectors = 0;
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 266 kfree(vp_dev->msix_names);
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 267 vp_dev->msix_names = NULL;
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 268 kfree(vp_dev->msix_affinity_masks);
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 269 vp_dev->msix_affinity_masks = NULL;
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 270 kfree(vp_dev->vqs);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 271 vp_dev->vqs = NULL;
d2a7ddda9 drivers/virtio/virtio_pci.c Michael S. Tsirkin 2009-06-12 272 }
d2a7ddda9 drivers/virtio/virtio_pci.c Michael S. Tsirkin 2009-06-12 273
a3cbec697 drivers/virtio/virtio_pci_common.c Christoph Hellwig 2016-11-17 274 static int vp_find_vqs_msix(struct virtio_device *vdev, unsigned nvqs,
52a615161 drivers/virtio/virtio_pci_common.c Christoph Hellwig 2017-02-05 275 struct virtqueue *vqs[], vq_callback_t *callbacks[],
8951d4035 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 276 const char * const names[], bool per_vq_vectors,
d5edad95c drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-03-06 277 const bool *ctx,
8951d4035 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 278 struct irq_affinity *desc)
d2a7ddda9 drivers/virtio/virtio_pci.c Michael S. Tsirkin 2009-06-12 279 {
e969fed54 drivers/virtio/virtio_pci.c Michael S. Tsirkin 2009-07-26 280 struct virtio_pci_device *vp_dev = to_vp_device(vdev);
f68d24082 drivers/virtio/virtio_pci.c Rusty Russell 2009-09-23 281 u16 msix_vec;
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 282 int i, err, nvectors, allocated_vectors;
f68d24082 drivers/virtio/virtio_pci.c Rusty Russell 2009-09-23 283
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 284 vp_dev->vqs = kcalloc(nvqs, sizeof(*vp_dev->vqs), GFP_KERNEL);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 285 if (!vp_dev->vqs)
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 286 return -ENOMEM;
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 287
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 288 if (per_vq_vectors) {
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 289 /* Best option: one for change interrupt, one per vq. */
f68d24082 drivers/virtio/virtio_pci.c Rusty Russell 2009-09-23 290 nvectors = 1;
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 291 for (i = 0; i < nvqs; ++i)
f68d24082 drivers/virtio/virtio_pci.c Rusty Russell 2009-09-23 292 if (callbacks[i])
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 293 ++nvectors;
8951d4035 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 294 } else {
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 295 /* Second best: one for change, shared for all vqs. */
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 296 nvectors = 2;
07ec51480 drivers/virtio/virtio_pci_common.c Christoph Hellwig 2017-02-05 297 }
07ec51480 drivers/virtio/virtio_pci_common.c Christoph Hellwig 2017-02-05 298
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 299 err = vp_request_msix_vectors(vdev, nvectors, per_vq_vectors,
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 300 per_vq_vectors ? desc : NULL);
82af8ce84 drivers/virtio/virtio_pci.c Michael S. Tsirkin 2009-05-14 301 if (err)
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 302 goto error_find;
d2a7ddda9 drivers/virtio/virtio_pci.c Michael S. Tsirkin 2009-06-12 303
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 304 vp_dev->per_vq_vectors = per_vq_vectors;
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 305 allocated_vectors = vp_dev->msix_used_vectors;
d2a7ddda9 drivers/virtio/virtio_pci.c Michael S. Tsirkin 2009-06-12 306 for (i = 0; i < nvqs; ++i) {
6457f126c drivers/virtio/virtio_pci.c Michael S. Tsirkin 2012-09-05 307 if (!names[i]) {
6457f126c drivers/virtio/virtio_pci.c Michael S. Tsirkin 2012-09-05 308 vqs[i] = NULL;
6457f126c drivers/virtio/virtio_pci.c Michael S. Tsirkin 2012-09-05 309 continue;
a3cbec697 drivers/virtio/virtio_pci_common.c Christoph Hellwig 2016-11-17 310 }
a3cbec697 drivers/virtio/virtio_pci_common.c Christoph Hellwig 2016-11-17 311
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 312 if (!callbacks[i])
07ec51480 drivers/virtio/virtio_pci_common.c Christoph Hellwig 2017-02-05 313 msix_vec = VIRTIO_MSI_NO_VECTOR;
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 314 else if (vp_dev->per_vq_vectors)
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 315 msix_vec = allocated_vectors++;
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 316 else
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 317 msix_vec = VP_MSIX_VQ_VECTOR;
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 @318 vqs[i] = vp_setup_vq(vdev, i, callbacks[i], names[i],
d5edad95c drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-03-06 319 ctx ? ctx[i] : false,
5c34d002d drivers/virtio/virtio_pci_common.c Christoph Hellwig 2017-02-05 320 msix_vec);
e969fed54 drivers/virtio/virtio_pci.c Michael S. Tsirkin 2009-07-26 321 if (IS_ERR(vqs[i])) {
:::::: The code at line 186 was first introduced by commit
:::::: f6813487d78d2833973704024e2f4767ce4570d6 Revert "virtio_pci: remove struct virtio_pci_vq_info"
:::::: TO: Michael S. Tsirkin <mst@...hat.com>
:::::: CC: Michael S. Tsirkin <mst@...hat.com>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
Download attachment ".config.gz" of type "application/gzip" (26092 bytes)
Powered by blists - more mailing lists