ionic: Make the check for Tx HW timestamping more obvious
Currently the checks are: [1] unlikely(q->features & IONIC_TXQ_F_HWSTAMP) [2] !unlikely(q->features & IONIC_TXQ_F_HWSTAMP) [1] is clear enough, but [2] isn't exactly obvious to the reader because !unlikely reads as likely. However, that's not what this means. [2] means that it's unlikely that the q has IONIC_TXQ_F_HWSTAMP enabled. Write an inline helper function to hide the unlikely optimization to make these checks more readable. Signed-off-by: Brett Creeley <brett.creeley@amd.com> Signed-off-by: Shannon Nelson <shannon.nelson@amd.com> Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com> Reviewed-by: Rahul Rameshbabu <rrameshbabu@nvidia.com> Link: https://lore.kernel.org/r/20231204210936.16587-5-shannon.nelson@amd.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
2d0b80c3a5
commit
ab807e9183
@@ -312,6 +312,11 @@ static inline u32 ionic_coal_usec_to_hw(struct ionic *ionic, u32 usecs)
|
||||
return (usecs * mult) / div;
|
||||
}
|
||||
|
||||
static inline bool ionic_txq_hwstamp_enabled(struct ionic_queue *q)
|
||||
{
|
||||
return unlikely(q->features & IONIC_TXQ_F_HWSTAMP);
|
||||
}
|
||||
|
||||
void ionic_link_status_check_request(struct ionic_lif *lif, bool can_sleep);
|
||||
void ionic_get_stats64(struct net_device *netdev,
|
||||
struct rtnl_link_stats64 *ns);
|
||||
|
||||
@@ -803,7 +803,7 @@ static void ionic_tx_clean(struct ionic_queue *q,
|
||||
|
||||
qi = skb_get_queue_mapping(skb);
|
||||
|
||||
if (unlikely(q->features & IONIC_TXQ_F_HWSTAMP)) {
|
||||
if (ionic_txq_hwstamp_enabled(q)) {
|
||||
if (cq_info) {
|
||||
struct skb_shared_hwtstamps hwts = {};
|
||||
__le64 *cq_desc_hwstamp;
|
||||
@@ -870,7 +870,7 @@ bool ionic_tx_service(struct ionic_cq *cq, struct ionic_cq_info *cq_info)
|
||||
desc_info->cb_arg = NULL;
|
||||
} while (index != le16_to_cpu(comp->comp_index));
|
||||
|
||||
if (pkts && bytes && !unlikely(q->features & IONIC_TXQ_F_HWSTAMP))
|
||||
if (pkts && bytes && !ionic_txq_hwstamp_enabled(q))
|
||||
netdev_tx_completed_queue(q_to_ndq(q), pkts, bytes);
|
||||
|
||||
return true;
|
||||
@@ -908,7 +908,7 @@ void ionic_tx_empty(struct ionic_queue *q)
|
||||
desc_info->cb_arg = NULL;
|
||||
}
|
||||
|
||||
if (pkts && bytes && !unlikely(q->features & IONIC_TXQ_F_HWSTAMP))
|
||||
if (pkts && bytes && !ionic_txq_hwstamp_enabled(q))
|
||||
netdev_tx_completed_queue(q_to_ndq(q), pkts, bytes);
|
||||
}
|
||||
|
||||
@@ -986,7 +986,7 @@ static void ionic_tx_tso_post(struct ionic_queue *q,
|
||||
|
||||
if (start) {
|
||||
skb_tx_timestamp(skb);
|
||||
if (!unlikely(q->features & IONIC_TXQ_F_HWSTAMP))
|
||||
if (!ionic_txq_hwstamp_enabled(q))
|
||||
netdev_tx_sent_queue(q_to_ndq(q), skb->len);
|
||||
ionic_txq_post(q, false, ionic_tx_clean, skb);
|
||||
} else {
|
||||
@@ -1233,7 +1233,7 @@ static int ionic_tx(struct ionic_queue *q, struct sk_buff *skb)
|
||||
stats->pkts++;
|
||||
stats->bytes += skb->len;
|
||||
|
||||
if (!unlikely(q->features & IONIC_TXQ_F_HWSTAMP))
|
||||
if (!ionic_txq_hwstamp_enabled(q))
|
||||
netdev_tx_sent_queue(q_to_ndq(q), skb->len);
|
||||
ionic_txq_post(q, !netdev_xmit_more(), ionic_tx_clean, skb);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user