Lines Matching refs:reclaim_idx
427 unsigned int head, limit, reclaim_idx; in fun_txq_reclaim() local
432 for (head = txq_hw_head(q), reclaim_idx = q->cons_cnt & q->mask; in fun_txq_reclaim()
433 head != reclaim_idx && npkts < limit; head = txq_hw_head(q)) { in fun_txq_reclaim()
442 unsigned int pkt_desc = fun_unmap_pkt(q, reclaim_idx); in fun_txq_reclaim()
443 struct sk_buff *skb = q->info[reclaim_idx].skb; in fun_txq_reclaim()
445 trace_funeth_tx_free(q, reclaim_idx, pkt_desc, head); in fun_txq_reclaim()
450 reclaim_idx = (reclaim_idx + pkt_desc) & q->mask; in fun_txq_reclaim()
452 } while (reclaim_idx != head && npkts < limit); in fun_txq_reclaim()
465 return reclaim_idx != head; in fun_txq_reclaim()
487 unsigned int npkts = 0, ndesc = 0, head, reclaim_idx; in fun_xdpq_clean() local
489 for (head = txq_hw_head(q), reclaim_idx = q->cons_cnt & q->mask; in fun_xdpq_clean()
490 head != reclaim_idx && npkts < budget; head = txq_hw_head(q)) { in fun_xdpq_clean()
499 unsigned int pkt_desc = fun_unmap_pkt(q, reclaim_idx); in fun_xdpq_clean()
501 xdp_return_frame(q->info[reclaim_idx].xdpf); in fun_xdpq_clean()
503 trace_funeth_tx_free(q, reclaim_idx, pkt_desc, head); in fun_xdpq_clean()
505 reclaim_idx = (reclaim_idx + pkt_desc) & q->mask; in fun_xdpq_clean()
508 } while (reclaim_idx != head && npkts < budget); in fun_xdpq_clean()