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)
Oct 2 2024, 11:09 AM
Unknown Object (File)
Sep 21 2024, 6:10 AM
Unknown Object (File)
Sep 16 2024, 8:03 AM
Unknown Object (File)
Sep 9 2024, 1:23 AM
Unknown Object (File)
Sep 5 2024, 2:21 PM
Unknown Object (File)
Aug 5 2024, 8:24 PM
Unknown Object (File)
Jul 29 2024, 7:00 PM
Unknown Object (File)
Jul 20 2024, 11:10 PM
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?