Skip to content

Commit

Permalink
bnx2x: Optimized the branching in the bnx2x_rx_int()
Browse files Browse the repository at this point in the history
Optimized the branching in the bnx2x_rx_int() based on the fact
that FP CQE will always have at least one of START or STOP flags set,
so if not both bits are set and START bit is not set,
then it's a STOP bit that is set.

Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Vladislav Zolotarov authored and David S. Miller committed Oct 18, 2010
1 parent cdd861d commit fe78d26
Showing 1 changed file with 6 additions and 5 deletions.
11 changes: 6 additions & 5 deletions drivers/net/bnx2x/bnx2x_cmn.c
Original file line number Diff line number Diff line change
Expand Up @@ -507,8 +507,11 @@ int bnx2x_rx_int(struct bnx2x_fastpath *fp, int budget)
len = le16_to_cpu(cqe->fast_path_cqe.pkt_len);
pad = cqe->fast_path_cqe.placement_offset;

/* If CQE is marked both TPA_START and TPA_END
it is a non-TPA CQE */
/* - If CQE is marked both TPA_START and TPA_END it is
* a non-TPA CQE.
* - FP CQE will always have either TPA_START or/and
* TPA_STOP flags set.
*/
if ((!fp->disable_tpa) &&
(TPA_TYPE(cqe_fp_flags) !=
(TPA_TYPE_START | TPA_TYPE_END))) {
Expand All @@ -526,9 +529,7 @@ int bnx2x_rx_int(struct bnx2x_fastpath *fp, int budget)
bnx2x_set_skb_rxhash(bp, cqe, skb);

goto next_rx;
}

if (TPA_TYPE(cqe_fp_flags) == TPA_TYPE_END) {
} else { /* TPA_STOP */
DP(NETIF_MSG_RX_STATUS,
"calling tpa_stop on queue %d\n",
queue);
Expand Down

0 comments on commit fe78d26

Please sign in to comment.