History log of /dpdk/drivers/net/ionic/ionic_rxtx_sg.c (Results 1 – 8 of 8)
Revision Date Author Comments
# 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 ...