|
Revision tags: release/13.4.0-p5, release/13.5.0-p1, release/14.2.0-p3, release/13.5.0, release/14.2.0-p2, release/14.1.0-p8, release/13.4.0-p4, release/14.1.0-p7, release/14.2.0-p1, release/13.4.0-p3, release/14.2.0, release/13.4.0, release/14.1.0 |
|
| #
aa937aa8 |
| 21-May-2024 |
Mark Johnston <[email protected]> |
cxgbe: Flush transmitted packets more regularly in netmap mode
Previously, when transmitting short runs of packets via cxgbe_nm_tx(), we would wait until a large number of packets were buffered befo
cxgbe: Flush transmitted packets more regularly in netmap mode
Previously, when transmitting short runs of packets via cxgbe_nm_tx(), we would wait until a large number of packets were buffered before scheduling a task to clean transmit buffers.
Obtained from: np
(cherry picked from commit 6af3d59962449c66688361598163dd174cc5fb2a)
show more ...
|
|
Revision tags: release/13.3.0 |
|
| #
c4bac077 |
| 05-Jan-2024 |
Navdeep Parhar <[email protected]> |
cxgbe(4): Add support for netmap offsets.
PR: 253069 Sponsored by: Chelsio Communications
(cherry picked from commit df8a58b17a1907ed3b4597475d1cb8eacc9636de)
|
|
Revision tags: release/14.0.0 |
|
| #
685dc743 |
| 16-Aug-2023 |
Warner Losh <[email protected]> |
sys: Remove $FreeBSD$: one-line .c pattern
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
|
Revision tags: release/13.2.0, release/12.4.0 |
|
| #
954712e8 |
| 30-May-2022 |
Justin Hibbits <[email protected]> |
Mechanically convert cxgb(4) and cxgbe(4) to IfAPI
Reviewed by: np Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D38597
|
| #
21186bdb |
| 15-Nov-2022 |
John Baldwin <[email protected]> |
cxgbe: Various whitespace fixes.
Mostly trailing whitespace and spaces before tabs.
Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D37350
|
| #
df275ae5 |
| 09-Sep-2022 |
Navdeep Parhar <[email protected]> |
cxgbe(4): Add another setting to the knob that controls congestion.
hw.cxgbe.cong_drop=2 will generate backpressure *and* drop frames for queues that are congested.
MFC after: 2 weeks Sponsored by:
cxgbe(4): Add another setting to the knob that controls congestion.
hw.cxgbe.cong_drop=2 will generate backpressure *and* drop frames for queues that are congested.
MFC after: 2 weeks Sponsored by: Chelsio Communications
show more ...
|
| #
c387ff00 |
| 08-Sep-2022 |
Navdeep Parhar <[email protected]> |
cxgbe(4): Specify the ingress queue's type when creating it.
The firmware takes the type into account when setting up the PCIe channel for the queue.
MFC after: 1 week Sponsored by: Chelsio Communi
cxgbe(4): Specify the ingress queue's type when creating it.
The firmware takes the type into account when setting up the PCIe channel for the queue.
MFC after: 1 week Sponsored by: Chelsio Communications
show more ...
|
|
Revision tags: release/13.1.0, release/12.3.0 |
|
| #
43bbae19 |
| 26-Apr-2021 |
Navdeep Parhar <[email protected]> |
cxgbe(4): Separate the sw- and hw-specific parts of resource allocations
The driver uses both software resources (locks, callouts, memory for descriptors and for bookkeeping, sysctls, etc.) and hard
cxgbe(4): Separate the sw- and hw-specific parts of resource allocations
The driver uses both software resources (locks, callouts, memory for descriptors and for bookkeeping, sysctls, etc.) and hardware resources (VIs, DMA queues, TCAM entries, etc.) to operate the NIC. This commit splits the single *_ALLOCATED flag used to track all these resources into separate *_SW_ALLOCATED and *_HW_ALLOCATED flags.
This is the simplified pseudocode that now applies to most queues (foo can be ctrlq/txq/rxq/ofld_txq/ofld_rxq):
/* Idempotent */ alloc_foo { if (!SW_ALLOCATED) init_iq/init_eq/init_fl no-fail sw init alloc_iq_fl/alloc_eq/alloc_wrq may-fail sw alloc add_foo_sysctls, etc. no-fail post-alloc items if (!HW_ALLOCATED) alloc_iq_fl_hwq/alloc_eq_hwq hw resource allocation }
/* Idempotent */ free_foo { if (!HW_ALLOCATED) free_iq_fl_hwq/free_eq_hwq release hw resources if (!SW_ALLOCATED) free_iq_fl/free_eq/free_wrq release sw resources }
The routines that take the driver to FULL_INIT_DONE and VI_INIT_DONE and back are now all idempotent. The quiesce routines pay attention to the HW_ALLOCATED flag and will not wait on the hardware for pidx/cidx updates and other completions if this flag is not set.
MFC after: 1 month Sponsored by: Chelsio Communications
show more ...
|
|
Revision tags: release/13.0.0 |
|
| #
473f6163 |
| 19-Mar-2021 |
Navdeep Parhar <[email protected]> |
cxgbe(4): use standard sysctl routines to deal with 16b values.
These routines to handle 8b and 16b types were added in r289773 5+ years ago.
MFC after: 2 weeks Sponsored by: Chelsio Communications
|
| #
8eba75ed |
| 03-Dec-2020 |
Navdeep Parhar <[email protected]> |
cxgbe(4): Stop but don't free netmap queues when netmap is switched off.
It is common for freelists to be starving when a netmap application stops. Mailbox commands to free queues can hang in such
cxgbe(4): Stop but don't free netmap queues when netmap is switched off.
It is common for freelists to be starving when a netmap application stops. Mailbox commands to free queues can hang in such a situation. Avoid that by not freeing the queues when netmap is switched off. Instead, use an alternate method to stop the queues without releasing the context ids. If netmap is enabled again later then the same queue is reinitialized for use. Move alloc_nm_rxq and txq to t4_netmap.c while here.
MFC after: 1 week Sponsored by: Chelsio Communications
show more ...
|
| #
f42f3b29 |
| 02-Dec-2020 |
Navdeep Parhar <[email protected]> |
cxgbe(4): Revert r367917.
r367917 fixed the backpressure on the netmap rxq being stopped but that doesn't help if some other netmap rxq is starved (because it is stopping too although the driver doe
cxgbe(4): Revert r367917.
r367917 fixed the backpressure on the netmap rxq being stopped but that doesn't help if some other netmap rxq is starved (because it is stopping too although the driver doesn't know this yet) and blocks the pipeline. An alternate fix that works in all cases will be checked in instead.
Sponsored by: Chelsio Communications
show more ...
|
| #
b3718e2d |
| 21-Nov-2020 |
Navdeep Parhar <[email protected]> |
cxgbe(4): Catch up with in-flight netmap rx before destroying queues.
The netmap application using the driver is responsible for replenishing the receive freelists and they may be totally depleted w
cxgbe(4): Catch up with in-flight netmap rx before destroying queues.
The netmap application using the driver is responsible for replenishing the receive freelists and they may be totally depleted when the application exits. Packets in flight, if any, might block the pipeline in case there aren't enough buffers left in the freelist. Avoid this by filling up the freelists with a driver allocated buffer.
MFC after: 1 week Sponsored by: Chelsio Communications
show more ...
|
|
Revision tags: release/12.2.0 |
|
| #
b20b25e7 |
| 22-Oct-2020 |
Navdeep Parhar <[email protected]> |
cxgbe(4): fix the size of the iq/eq maps.
The firmware can allocate ingress and egress context ids anywhere from its configured range. Size the iq/eq maps to match the entire range instead of assum
cxgbe(4): fix the size of the iq/eq maps.
The firmware can allocate ingress and egress context ids anywhere from its configured range. Size the iq/eq maps to match the entire range instead of assuming that the firmware always allocates the first available context id.
Reported by: Baptiste Wicht @ Verisign MFC after: 1 week Sponsored by: Chelsio Communications
show more ...
|
| #
822967e7 |
| 29-Sep-2020 |
Navdeep Parhar <[email protected]> |
cxgbe(4): Avoid unnecessary work in the firmware during netmap tx.
Bind the netmap tx queues to a special '0xff' scheduling class which makes the firmware skip some processing related to rate limiti
cxgbe(4): Avoid unnecessary work in the firmware during netmap tx.
Bind the netmap tx queues to a special '0xff' scheduling class which makes the firmware skip some processing related to rate limiting on the outgoing traffic. Future firmwares will do this automatically.
MFC after: 1 week Sponsored by: Chelsio Communications
show more ...
|
| #
7efe2562 |
| 29-Sep-2020 |
Navdeep Parhar <[email protected]> |
Remove duplicate line.
|
| #
15ca0766 |
| 29-Sep-2020 |
Navdeep Parhar <[email protected]> |
cxgbe(4): adjust the doorbell threshold for netmap freelists to match the maximum burst size used when fetching descriptors from the list.
MFC after: 1 week Sponsored by: Chelsio Communications
|
| #
f7b8615a |
| 29-Sep-2020 |
Navdeep Parhar <[email protected]> |
cxgbe(4): display an error message when netmap cannot be enabled because the interface is down.
MFC after: 1 week
|
| #
a9f47658 |
| 29-Sep-2020 |
Navdeep Parhar <[email protected]> |
cxgbe(4): fixes for netmap operation with only some queues active.
- Only active netmap receive queues should be in the RSS lookup table.
- The RSS table should be restored for NIC operation when t
cxgbe(4): fixes for netmap operation with only some queues active.
- Only active netmap receive queues should be in the RSS lookup table.
- The RSS table should be restored for NIC operation when the last active netmap queue is switched off, not the first one.
- Support repeated netmap ON/OFF on a subset of the queues. This works whether the the queues being enabled and disabled are the only ones active or not. Some kring indexes have to be reset in the driver for the second case.
MFC after: 1 week Sponsored by: Chelsio Communications
show more ...
|
| #
7c228be3 |
| 25-Jun-2020 |
Navdeep Parhar <[email protected]> |
cxgbe(4): Add a pointer to the adapter softc in vi_info.
There were quite a few places where port_info was being accessed only to get to the adapter.
Reviewed by: jhb@ MFC after: 1 week Sponsored b
cxgbe(4): Add a pointer to the adapter softc in vi_info.
There were quite a few places where port_info was being accessed only to get to the adapter.
Reviewed by: jhb@ MFC after: 1 week Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D25432
show more ...
|
|
Revision tags: release/11.4.0 |
|
| #
aa301e5f |
| 20-Mar-2020 |
Navdeep Parhar <[email protected]> |
cxgbe(4): Split sge_nm_rxq into three cachelines.
This reduces the lines bouncing around between the driver rx ithread and the netmap rxsync thread. There is no net change in the size of the struct
cxgbe(4): Split sge_nm_rxq into three cachelines.
This reduces the lines bouncing around between the driver rx ithread and the netmap rxsync thread. There is no net change in the size of the struct (it continues to waste a lot of space).
This kind of split was originally proposed in D17869 by Marc De La Gueronniere @ Verisign, Inc.
MFC after: 1 week Sponsored by: Chelsio Communications
show more ...
|
| #
f4220a70 |
| 05-Feb-2020 |
Navdeep Parhar <[email protected]> |
cxgbe(4): Add a knob to allow netmap tx traffic to be checksummed by the hardware.
hw.cxgbe.nm_txcsum=1
MFC after: 2 weeks Sponsored by: Chelsio Communications
|
| #
ba8b75ae |
| 05-Feb-2020 |
Navdeep Parhar <[email protected]> |
cxgbe(4): Allow nm_black_hole and nm_cong_drop to be set at any time.
The cong_drop setting will apply to queues created after the setting is changed and not to existing queues.
MFC after: 2 weeks
cxgbe(4): Allow nm_black_hole and nm_cong_drop to be set at any time.
The cong_drop setting will apply to queues created after the setting is changed and not to existing queues.
MFC after: 2 weeks Sponsored by: Chelsio Communications
show more ...
|
| #
3479fe20 |
| 04-Feb-2020 |
Navdeep Parhar <[email protected]> |
cxgbe(4): Report accurate rx_buf_maxsize to netmap.
MFC after: 2 weeks Sponsored by: Chelsio Communications
|
| #
46e1e307 |
| 04-Feb-2020 |
Navdeep Parhar <[email protected]> |
cxgbe(4): Retire the allow_mbufs_in_cluster optimization.
This simplifies the driver's rx fast path as well as the bookkeeping code that tracks various rx buffer sizes and layouts.
MFC after: 1 wee
cxgbe(4): Retire the allow_mbufs_in_cluster optimization.
This simplifies the driver's rx fast path as well as the bookkeeping code that tracks various rx buffer sizes and layouts.
MFC after: 1 week Sponsored by: Chelsio Communications
show more ...
|
| #
82694ec0 |
| 12-Dec-2019 |
Navdeep Parhar <[email protected]> |
cxgbe(4): Never use hardware checksumming in netmap tx.
MFC after: 1 week Sponsored by: Chelsio Communications
|