Page MenuHomeFreeBSD

cxgbe netmap: Avoid too frequent flush of CIDX by the NIC
Needs ReviewPublic

Authored by bwicht_verisign.com on Nov 6 2018, 1:49 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Apr 25, 3:12 AM
Unknown Object (File)
Dec 24 2023, 6:58 AM
Unknown Object (File)
Sep 1 2023, 4:01 AM
Unknown Object (File)
Jul 11 2023, 7:16 AM
Unknown Object (File)
Jul 1 2023, 5:00 PM
Unknown Object (File)
Jun 30 2023, 6:51 PM
Unknown Object (File)
May 17 2023, 8:50 PM
Unknown Object (File)
May 11 2023, 4:42 AM
Subscribers

Details

Reviewers
np
Summary

By default, CIDX (consumer index) is flushed by the NIC after every
update. That means a PCI transaction for each TX packet. By setting the
threshold to 32, the amount of PCI traffic is significantly reduced.

Submitted by: Marc De La Gueronniere <mdelagueronniere@verisign.com>
MFC after: 1 week
Sponsored by: Verisign, Inc.

Diff Detail

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 20660
Build 20075: arc lint + arc unit

Event Timeline

lazy_tx_credit_flush in the driver is supposed to avoid the situation you described. Try setting it to 1 if it isn't already and see if that helps.

In D17870#381915, @np wrote:

lazy_tx_credit_flush in the driver is supposed to avoid the situation you described. Try setting it to 1 if it isn't already and see if that helps.

In fact, we are using lazy_tx_credit_flush=1

Does this change have no impact when lazy_tx_credit_flush is used?