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

Function vhost_user_iotlb_pending_remove

dpdk/lib/vhost/iotlb.c:177–197  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

175}
176
177void
178vhost_user_iotlb_pending_remove(struct virtio_net *dev, uint64_t iova, uint64_t size, uint8_t perm)
179{
180 struct vhost_iotlb_entry *node, *temp_node;
181
182 rte_rwlock_write_lock(&dev->iotlb_pending_lock);
183
184 RTE_TAILQ_FOREACH_SAFE(node, &dev->iotlb_pending_list, next,
185 temp_node) {
186 if (node->iova < iova)
187 continue;
188 if (node->iova >= iova + size)
189 continue;
190 if ((node->perm & perm) != node->perm)
191 continue;
192 TAILQ_REMOVE(&dev->iotlb_pending_list, node, next);
193 vhost_user_iotlb_pool_put(dev, node);
194 }
195
196 rte_rwlock_write_unlock(&dev->iotlb_pending_lock);
197}
198
199static void
200vhost_user_iotlb_cache_remove_all(struct virtio_net *dev)

Callers 2

__vhost_iova_to_vvaFunction · 0.85

Calls 1

Tested by

no test coverage detected