net/ena/base: optimize branch prediction
PATCH 19/21 net/ena/base: optimize branch prediction
Add likely/unlikely compiler hints to optimize conditional logic
Signed-off-by Shai Brandes <[email protected]>
Reviewed-by Amit Bernstein <[email protected]>
Reviewed-by Yosef Raisman <[email protected]>
--- drivers/net/ena/base/ena_eth_com.c | 4 ++-- drivers/net/ena/base/ena_eth_com.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-)
drivers/net/ena/base/ena_eth_com.c +2 -2
@@ -241,7 +241,7 @@ static void *get_tx_sq_desc(struct ena_com_io_sq *io_sq) {void *tx_desc; -if (io_sq->mem_queue_type ==ENA_ADMIN_PLACEMENT_POLICY_DEV ) +if (likely (io_sq->mem_queue_type ==ENA_ADMIN_PLACEMENT_POLICY_DEV ))return get_sq_desc_llq (io_sq); tx_desc =get_sq_desc_regular_queue (io_sq);
@@ -291,7 +291,7 @@ static int ena_com_sq_update_reqular_queue_tail(struct ena_com_io_sq *io_sq)static int ena_com_sq_update_tail (struct ena_com_io_sq *io_sq) { -if (io_sq->mem_queue_type ==ENA_ADMIN_PLACEMENT_POLICY_DEV ) +if (likely (io_sq->mem_queue_type ==ENA_ADMIN_PLACEMENT_POLICY_DEV ))return ena_com_sq_update_llq_tail (io_sq);return ena_com_sq_update_reqular_queue_tail (io_sq);
drivers/net/ena/base/ena_eth_com.h +1 -1
@@ -110,7 +110,7 @@ static inline bool ena_com_sq_have_enough_space(struct ena_com_io_sq *io_sq, {int temp; -if (io_sq->mem_queue_type ==ENA_ADMIN_PLACEMENT_POLICY_HOST ) +if (unlikely (io_sq->mem_queue_type ==ENA_ADMIN_PLACEMENT_POLICY_HOST ))return ena_com_free_q_entries (io_sq) >= required_buffers;/* This calculation doesn't need to be 100% accurate. So to reduce
Signature · 1 line
2.17.1