cxgbe should clean TX descriptors in timely manner
I've been doing testing of virtualized workloads using T6225 cards. Rather than using the traditional IP stack of the operating system, the guests are plumbed to the NIC via an in-kernel virtio driver which marshals buffers back and forth. Since packet transmission is using the guest memory directly, the driver maintains a count of outstanding TX requests so that any attempt to deallocate the guest is deferred until the transfer is complete. Herein lies the problem. It appears that the illumos driver only performs TX descriptor reclamation when new transmit requests are being processed. This means that a guest may end up waiting indefinitely for outstanding descriptors to be freed if the card is idle.
Chelsio provided a fix for this.
Updated by Electric Monk about 4 years ago
- Status changed from New to Closed
commit 06b05760eff34bfc45a97eaaebf16471244d9c12 Author: Vishal Kulkarni <email@example.com> Date: 2018-05-23T23:50:04.000Z 9484 cxgbe should clean TX descriptors in timely manner Reviewed by: Patrick Mooney <firstname.lastname@example.org> Reviewed by: Ryan Zezeski <email@example.com> Reviewed by: Jerry Jelinek <firstname.lastname@example.org> Reviewed by: Toomas Soome <email@example.com> Approved by: Dan McDonald <firstname.lastname@example.org>