#
8e7a6b8a |
| 20-Feb-2024 |
Andrew Boyer <andrew.boyer@amd.com> |
net/ionic: remove duplicate barriers
These barriers are duplicated by the barriers inside rte_write64(). Remove them to improve performance.
Signed-off-by: Neel Patel <neel.patel@amd.com> Signed-of
net/ionic: remove duplicate barriers
These barriers are duplicated by the barriers inside rte_write64(). Remove them to improve performance.
Signed-off-by: Neel Patel <neel.patel@amd.com> Signed-off-by: Andrew Boyer <andrew.boyer@amd.com> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
484027bf |
| 20-Feb-2024 |
Andrew Boyer <andrew.boyer@amd.com> |
common/ionic: create common code library
Move definitions that will be shared by net/ionic and crypto/ionic. Add the code used for discovering UIO vdevs.
Signed-off-by: Andrew Boyer <andrew.boyer@a
common/ionic: create common code library
Move definitions that will be shared by net/ionic and crypto/ionic. Add the code used for discovering UIO vdevs.
Signed-off-by: Andrew Boyer <andrew.boyer@amd.com> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
show more ...
|
#
90fa040a |
| 07-Feb-2024 |
Neel Patel <neel.patel@amd.com> |
net/ionic: group descriptors when using Q-in-CMB
They can be batched together with memcpy, reducing the number of PCIe transactions. This improves transmit PPS by up to 50% in some configurations.
net/ionic: group descriptors when using Q-in-CMB
They can be batched together with memcpy, reducing the number of PCIe transactions. This improves transmit PPS by up to 50% in some configurations.
Signed-off-by: Andrew Boyer <andrew.boyer@amd.com> Signed-off-by: Neel Patel <neel.patel@amd.com>
show more ...
|
#
463ad260 |
| 07-Feb-2024 |
Neel Patel <neel.patel@amd.com> |
net/ionic: fix missing volatile type for cqe pointers
This memory may be changed by the hardware, so the volatile keyword is required for correctness.
Fixes: e86a6fcc7cf3 ("net/ionic: add optimized
net/ionic: fix missing volatile type for cqe pointers
This memory may be changed by the hardware, so the volatile keyword is required for correctness.
Fixes: e86a6fcc7cf3 ("net/ionic: add optimized non-scattered Rx/Tx") Cc: stable@dpdk.org
Signed-off-by: Andrew Boyer <andrew.boyer@amd.com> Signed-off-by: Neel Patel <neel.patel@amd.com>
show more ...
|
#
ea81e9f2 |
| 07-Feb-2024 |
Andrew Boyer <andrew.boyer@amd.com> |
net/ionic: add completion queue entries processed stats
When completion coalescing is turned on in the FW, there will be fewer CQE than Tx packets. Expose the stat through debug logging.
Signed-off
net/ionic: add completion queue entries processed stats
When completion coalescing is turned on in the FW, there will be fewer CQE than Tx packets. Expose the stat through debug logging.
Signed-off-by: Andrew Boyer <andrew.boyer@amd.com>
show more ...
|
#
3c02593c |
| 03-Nov-2022 |
Andrew Boyer <andrew.boyer@amd.com> |
net/ionic: fix false positive forward-null in Tx
If tx_pkts is NULL, nb_pkts must be 0. Coverity doesn't know this so it thinks this is a forward-NULL violation. Make things more clear by checking f
net/ionic: fix false positive forward-null in Tx
If tx_pkts is NULL, nb_pkts must be 0. Coverity doesn't know this so it thinks this is a forward-NULL violation. Make things more clear by checking for nb_pkts instead.
Coverity issue: 381614 Coverity issue: 381619 Fixes: e86a6fcc7cf3 ("net/ionic: add optimized non-scattered Rx/Tx")
Signed-off-by: Andrew Boyer <andrew.boyer@amd.com>
show more ...
|
#
a5b1ffd8 |
| 18-Oct-2022 |
Andrew Boyer <andrew.boyer@amd.com> |
net/ionic: add watchdogs to protect each queue type
Ring the doorbell again for the following scenarios: * No receives posted but Rx queue not empty after deadline * No transmits posted but Tx wor
net/ionic: add watchdogs to protect each queue type
Ring the doorbell again for the following scenarios: * No receives posted but Rx queue not empty after deadline * No transmits posted but Tx work still pending after deadline * Admin queue work still pending after deadline
This will help the queues recover in the extremely rare case that a doorbell is missed by the FW.
Signed-off-by: Andrew Boyer <andrew.boyer@amd.com>
show more ...
|
#
e86a6fcc |
| 18-Oct-2022 |
Andrew Boyer <andrew.boyer@amd.com> |
net/ionic: add optimized non-scattered Rx/Tx
The code is very similar, but the simple case can skip a few branches in the hot path. This improves PPS when 10KB mbufs are used.
S/G is enabled on the
net/ionic: add optimized non-scattered Rx/Tx
The code is very similar, but the simple case can skip a few branches in the hot path. This improves PPS when 10KB mbufs are used.
S/G is enabled on the Rx side by offload DEV_RX_OFFLOAD_SCATTER. S/G is enabled on the Tx side by offload DEV_TX_OFFLOAD_MULTI_SEGS.
S/G is automatically enabled on the Rx side if the provided mbufs are too small to hold the maximum possible frame.
To enable S/G in testpmd, add these args: --rx-offloads=0x2000 --tx-offloads=0x8000
Signed-off-by: Andrew Boyer <andrew.boyer@amd.com> Signed-off-by: R Mohamed Shah <mohamedshah.r@amd.com>
show more ...
|