Commit c43548d2 authored by Sunil Goutham's avatar Sunil Goutham Committed by David S. Miller

net: thunderx: Use napi_consume_skb for bulk free

This patch enables bulk freeing on the Tx side.
Signed-off-by: default avatarSunil Goutham <sgoutham@cavium.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent a3a8ce4c
...@@ -521,7 +521,8 @@ static int nicvf_init_resources(struct nicvf *nic) ...@@ -521,7 +521,8 @@ static int nicvf_init_resources(struct nicvf *nic)
static void nicvf_snd_pkt_handler(struct net_device *netdev, static void nicvf_snd_pkt_handler(struct net_device *netdev,
struct cmp_queue *cq, struct cmp_queue *cq,
struct cqe_send_t *cqe_tx, int cqe_type) struct cqe_send_t *cqe_tx,
int cqe_type, int budget)
{ {
struct sk_buff *skb = NULL; struct sk_buff *skb = NULL;
struct nicvf *nic = netdev_priv(netdev); struct nicvf *nic = netdev_priv(netdev);
...@@ -545,7 +546,7 @@ static void nicvf_snd_pkt_handler(struct net_device *netdev, ...@@ -545,7 +546,7 @@ static void nicvf_snd_pkt_handler(struct net_device *netdev,
if (skb) { if (skb) {
nicvf_put_sq_desc(sq, hdr->subdesc_cnt + 1); nicvf_put_sq_desc(sq, hdr->subdesc_cnt + 1);
prefetch(skb); prefetch(skb);
dev_consume_skb_any(skb); napi_consume_skb(skb, budget);
sq->skbuff[cqe_tx->sqe_ptr] = (u64)NULL; sq->skbuff[cqe_tx->sqe_ptr] = (u64)NULL;
} else { } else {
/* In case of HW TSO, HW sends a CQE for each segment of a TSO /* In case of HW TSO, HW sends a CQE for each segment of a TSO
...@@ -700,7 +701,8 @@ static int nicvf_cq_intr_handler(struct net_device *netdev, u8 cq_idx, ...@@ -700,7 +701,8 @@ static int nicvf_cq_intr_handler(struct net_device *netdev, u8 cq_idx,
break; break;
case CQE_TYPE_SEND: case CQE_TYPE_SEND:
nicvf_snd_pkt_handler(netdev, cq, nicvf_snd_pkt_handler(netdev, cq,
(void *)cq_desc, CQE_TYPE_SEND); (void *)cq_desc, CQE_TYPE_SEND,
budget);
tx_done++; tx_done++;
break; break;
case CQE_TYPE_INVALID: case CQE_TYPE_INVALID:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment