Improve vnet(4) to work better in busy conditions.
authorclaudio <claudio@openbsd.org>
Thu, 9 Mar 2023 10:29:04 +0000 (10:29 +0000)
committerclaudio <claudio@openbsd.org>
Thu, 9 Mar 2023 10:29:04 +0000 (10:29 +0000)
commit63d58f049f57fa2f436a2cdd6f9b36a44b048a1d
tree9eedd0cb2dff74ff5aa1041de8176dfd7fc41d7d
parent1bb1e5098b739c68ade140881767ec199ce28a0b
Improve vnet(4) to work better in busy conditions.
No longer limit the ifq size to a low number, increase the slots on the
DMA Ring a bit and abstract the VNET buffer size into a define.
Enqueue packets on the ring but mark the initial packet ready at the end.
This way the other ldom is not able to rush ahead and overconsume packets.
The dring indexes are passed between ldoms and can get out of sync with
causes the TX ring to stall.
Tested by myself and jan@
OK kettenis@ jan@ kn@
sys/arch/sparc64/dev/vnet.c