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 <m...@redhat.com>
:::::: CC: Michael S. Tsirkin <m...@redhat.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

Reply via email to