Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
virtio: add missing tx lock when running multithreaded
[vpp.git]
/
src
/
vnet
/
devices
/
virtio
/
device.c
diff --git
a/src/vnet/devices/virtio/device.c
b/src/vnet/devices/virtio/device.c
index
ae8a116
..
c7efe65
100644
(file)
--- a/
src/vnet/devices/virtio/device.c
+++ b/
src/vnet/devices/virtio/device.c
@@
-182,6
+182,8
@@
virtio_interface_tx_inline (vlib_main_t * vm, vlib_node_runtime_t * node,
u16 mask = sz - 1;
u32 *buffers = vlib_frame_args (frame);
u16 mask = sz - 1;
u32 *buffers = vlib_frame_args (frame);
+ clib_spinlock_lock_if_init (&vif->lockp);
+
/* free consumed buffers */
virtio_free_used_desc (vm, vring);
/* free consumed buffers */
virtio_free_used_desc (vm, vring);
@@
-221,6
+223,8
@@
virtio_interface_tx_inline (vlib_main_t * vm, vlib_node_runtime_t * node,
vlib_buffer_free (vm, buffers, n_left);
}
vlib_buffer_free (vm, buffers, n_left);
}
+ clib_spinlock_unlock_if_init (&vif->lockp);
+
return frame->n_vectors - n_left;
}
return frame->n_vectors - n_left;
}