diff options
author | 2024-07-05 11:53:31 +0100 | |
---|---|---|
committer | 2024-09-12 19:56:05 +0200 | |
commit | 612a8c8e0b43ba7e3d0e51f6f76a5fec4912d439 (patch) | |
tree | 6adf0c626cbe8012f7bfd6c965a8807c8b9db59a /rust/helpers/build_bug.c | |
parent | um: remove variable stack array in os_rcv_fd_msg() (diff) | |
download | wireguard-linux-612a8c8e0b43ba7e3d0e51f6f76a5fec4912d439.tar.xz wireguard-linux-612a8c8e0b43ba7e3d0e51f6f76a5fec4912d439.zip |
um: vector: Replace locks guarding queue depth with atomics
UML vector drivers use ring buffer structures which map
preallocated skbs onto mmsg vectors for use with sendmmsg
and recvmmsg. They are designed around a single consumer,
single producer pattern allowing simultaneous enqueue and
dequeue.
Lock debugging with preemption showed possible races when
locking the queue depth. This patch addresses this by
removing extra locks, adding barriers and making queue
depth inc/dec and access atomic.
Signed-off-by: Anton Ivanov <anton.ivanov@cambridgegreys.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
Diffstat (limited to 'rust/helpers/build_bug.c')
0 files changed, 0 insertions, 0 deletions