在 2024/3/26 上午5:49, Daniel Jurgens 写道:
Currently the buffer used for control VQ commands is protected by the
RTNL lock. Previously this wasn't a major concern because the control
VQ was only used during device setup and user interaction. With the
recent addition of dynamic interrupt moderation the control VQ may be
used frequently during normal operation.
This series removes the RNTL lock dependancy by introducing a spin lock
to protect the control buffer and writing SGs to the control VQ.
Hi Daniel.
It's a nice piece of work, but now that we're talking about ctrlq adding
interrupts, spin lock has some
conflicts with its goals. For example, we expect the ethtool command to
be blocked.
Therefore, a mutex lock may be more suitable.
Any how, the final conclusion may require some waiting.
Regards,
Heng
Daniel Jurgens (4):
virtio_net: Store RSS setting in virtnet_info
virtio_net: Remove command data from control_buf
virtio_net: Add a lock for the command VQ.
virtio_net: Remove rtnl lock protection of command buffers
drivers/net/virtio_net.c | 185 ++++++++++++++++++++++-----------------
1 file changed, 104 insertions(+), 81 deletions(-)