MCPcopy Create free account
hub / github.com/F-Stack/f-stack / eth_vhost_unconfigure_intr

Function eth_vhost_unconfigure_intr

dpdk/drivers/net/vhost/rte_eth_vhost.c:715–743  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

713}
714
715static void
716eth_vhost_unconfigure_intr(struct rte_eth_dev *eth_dev)
717{
718 struct vhost_queue *vq;
719 int i;
720
721 VHOST_LOG(DEBUG, "Unconfigure intr vec\n");
722 for (i = 0; i < eth_dev->data->nb_rx_queues; i++) {
723 vq = eth_dev->data->rx_queues[i];
724 if (vq == NULL || vq->vid < 0)
725 continue;
726
727 rte_spinlock_lock(&vq->intr_lock);
728
729 /* Remove previous kickfd from proxy epoll */
730 if (vq->kickfd >= 0) {
731 if (epoll_ctl(vq->ev.data.fd, EPOLL_CTL_DEL, vq->kickfd, &vq->ev) < 0) {
732 VHOST_LOG(DEBUG, "Failed to unregister %d from rxq-%d epoll: %s\n",
733 vq->kickfd, i, strerror(errno));
734 } else {
735 VHOST_LOG(DEBUG, "Unregistered %d from rxq-%d epoll\n",
736 vq->kickfd, i);
737 }
738 vq->kickfd = -1;
739 }
740
741 rte_spinlock_unlock(&vq->intr_lock);
742 }
743}
744
745static void
746update_queuing_status(struct rte_eth_dev *dev, bool wait_queuing)

Callers 1

destroy_deviceFunction · 0.85

Calls 3

epoll_ctlFunction · 0.85
rte_spinlock_lockFunction · 0.50
rte_spinlock_unlockFunction · 0.50

Tested by

no test coverage detected