| 33db1613 | 28-Apr-2022 |
Wenjun Wu <[email protected]> |
net/iavf: improve performance of Rx timestamp offload
In this patch, We use CPU ticks instead of HW register to determine whether low 32 bits timestamp has turned over. It can avoid requesting regis
net/iavf: improve performance of Rx timestamp offload
In this patch, We use CPU ticks instead of HW register to determine whether low 32 bits timestamp has turned over. It can avoid requesting register value frequently and improve receiving performance.
Signed-off-by: Wenjun Wu <[email protected]> Acked-by: Qi Zhang <[email protected]>
show more ...
|
| bfb15b04 | 24-Mar-2022 |
Kathleen Capella <[email protected]> |
net/iavf: remove extra copy step in Rx bulk path
In the Rx bulk path, packets which are taken from the HW ring, are first copied to the stage data structure and then later copied from the stage to t
net/iavf: remove extra copy step in Rx bulk path
In the Rx bulk path, packets which are taken from the HW ring, are first copied to the stage data structure and then later copied from the stage to the rx_pkts array. For the number of packets requested immediately by the receiving function, this two-step process adds extra overhead that is not necessary.
Instead, put requested number of packets directly into the rx_pkts array and only stage excess packets. On N1SDP with 1 core/port, l3fwd saw up to 4% performance improvement. On x86, no difference in performance was observed.
Signed-off-by: Kathleen Capella <[email protected]> Suggested-by: Dharmik Thakkar <[email protected]> Acked-by: Qi Zhang <[email protected]>
show more ...
|
| 070ef4e6 | 14-Mar-2022 |
Steve Yang <[email protected]> |
net/iavf: fix HW ring scan method selection
When setup Rx queue, the rxdid would be changed if it's "IAVF_RXDID_LEGACY_0/1", that caused the scan HW ring used the wrong function 'iavf_rx_scan_hw_rin
net/iavf: fix HW ring scan method selection
When setup Rx queue, the rxdid would be changed if it's "IAVF_RXDID_LEGACY_0/1", that caused the scan HW ring used the wrong function 'iavf_rx_scan_hw_ring_flex_rxd()'.
Ignore the rxdid changed when equals "IAVF_RXDID_LEGACY_0/1".
Fixes: 0ed16e01313e ("net/iavf: fix function pointer in multi-process") Cc: [email protected]
Signed-off-by: Steve Yang <[email protected]> Acked-by: Beilei Xing <[email protected]>
show more ...
|
| 24b960a1 | 22-Feb-2022 |
Kathleen Capella <[email protected]> |
net/iavf: remove extra check in vector Tx
In the vector Tx path, the function iavf_xmit_pkts_vec_xxx compares nb_pkts and the txq->rs_thresh and passes the minimum of these as an argument to iavf_xm
net/iavf: remove extra check in vector Tx
In the vector Tx path, the function iavf_xmit_pkts_vec_xxx compares nb_pkts and the txq->rs_thresh and passes the minimum of these as an argument to iavf_xmit_fixed_burst_vec_xxx. Inside iavf_xmit_fixed_burst_vec_xxx, the same check is performed again.
This patch removes the redundant check from the iavf_xmit_fixed_burst_vec_xxx function.
Signed-off-by: Kathleen Capella <[email protected]> Reviewed-by: Honnappa Nagarahalli <[email protected]> Acked-by: Qi Zhang <[email protected]>
show more ...
|
| 0ed16e01 | 28-Feb-2022 |
Steve Yang <[email protected]> |
net/iavf: fix function pointer in multi-process
This patch uses the index value to call the function, instead of the function pointer assignment to save the selection of Receive Flex Descriptor prof
net/iavf: fix function pointer in multi-process
This patch uses the index value to call the function, instead of the function pointer assignment to save the selection of Receive Flex Descriptor profile ID.
Otherwise the secondary process will run with wrong function address from primary process.
Fixes: 12b435bf8f2f ("net/iavf: support flex desc metadata extraction") Cc: [email protected]
Signed-off-by: Steve Yang <[email protected]> Acked-by: Qi Zhang <[email protected]>
show more ...
|
| 32e38011 | 05-Feb-2022 |
Kathleen Capella <[email protected]> |
net/iavf: count continuous DD bits for Arm in flex Rx
On Arm platforms, reading of descriptors may be re-ordered causing the status of DD bits to be discontinuous. Add logic to only process continuo
net/iavf: count continuous DD bits for Arm in flex Rx
On Arm platforms, reading of descriptors may be re-ordered causing the status of DD bits to be discontinuous. Add logic to only process continuous descriptors by checking DD bits.
Fixes: b8b4c54ef9b0 ("net/iavf: support flexible Rx descriptor in normal path") Cc: [email protected]
Signed-off-by: Kathleen Capella <[email protected]> Reviewed-by: Honnappa Nagarahalli <[email protected]> Reviewed-by: Qi Zhang <[email protected]>
show more ...
|
| 3d88d5e4 | 05-Feb-2022 |
Kathleen Capella <[email protected]> |
net/iavf: count continuous DD bits for Arm
On Arm platforms, reading of descriptors may be re-ordered causing the status of DD bits to be discontinuous. Add logic to only process continuous descript
net/iavf: count continuous DD bits for Arm
On Arm platforms, reading of descriptors may be re-ordered causing the status of DD bits to be discontinuous. Add logic to only process continuous descriptors by checking DD bits.
Fixes: 1060591eada5 ("net/avf: enable bulk allocate Rx") Cc: [email protected]
Signed-off-by: Kathleen Capella <[email protected]> Reviewed-by: Honnappa Nagarahalli <[email protected]> Reviewed-by: Qi Zhang <[email protected]>
show more ...
|