Project

General

Profile

Feature #9484

cxgbe should clean TX descriptors in timely manner

Added by Robert Mustacchi over 1 year ago. Updated over 1 year ago.

Status:
Closed
Priority:
Normal
Category:
driver - device drivers
Start date:
2018-04-16
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:

Description

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.

History

#1

Updated by Electric Monk over 1 year ago

  • Status changed from New to Closed

git commit 06b05760eff34bfc45a97eaaebf16471244d9c12

commit  06b05760eff34bfc45a97eaaebf16471244d9c12
Author: Vishal Kulkarni <vishal@chelsio.com>
Date:   2018-05-23T23:50:04.000Z

    9484 cxgbe should clean TX descriptors in timely manner
    Reviewed by: Patrick Mooney <patrick.mooney@joyent.com>
    Reviewed by: Ryan Zezeski <rpz@joyent.com>
    Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
    Reviewed by: Toomas Soome <tsoome@me.com>
    Approved by: Dan McDonald <danmcd@joyent.com>

Also available in: Atom PDF