Lines Matching refs:reclaim_idx
426 unsigned int head, limit, reclaim_idx; in fun_txq_reclaim() local
431 for (head = txq_hw_head(q), reclaim_idx = q->cons_cnt & q->mask; in fun_txq_reclaim()
432 head != reclaim_idx && npkts < limit; head = txq_hw_head(q)) { in fun_txq_reclaim()
441 unsigned int pkt_desc = fun_unmap_pkt(q, reclaim_idx); in fun_txq_reclaim()
442 struct sk_buff *skb = q->info[reclaim_idx].skb; in fun_txq_reclaim()
444 trace_funeth_tx_free(q, reclaim_idx, pkt_desc, head); in fun_txq_reclaim()
449 reclaim_idx = (reclaim_idx + pkt_desc) & q->mask; in fun_txq_reclaim()
451 } while (reclaim_idx != head && npkts < limit); in fun_txq_reclaim()
464 return reclaim_idx != head; in fun_txq_reclaim()
486 unsigned int npkts = 0, ndesc = 0, head, reclaim_idx; in fun_xdpq_clean() local
488 for (head = txq_hw_head(q), reclaim_idx = q->cons_cnt & q->mask; in fun_xdpq_clean()
489 head != reclaim_idx && npkts < budget; head = txq_hw_head(q)) { in fun_xdpq_clean()
498 unsigned int pkt_desc = fun_unmap_pkt(q, reclaim_idx); in fun_xdpq_clean()
500 xdp_return_frame(q->info[reclaim_idx].xdpf); in fun_xdpq_clean()
502 trace_funeth_tx_free(q, reclaim_idx, pkt_desc, head); in fun_xdpq_clean()
504 reclaim_idx = (reclaim_idx + pkt_desc) & q->mask; in fun_xdpq_clean()
507 } while (reclaim_idx != head && npkts < budget); in fun_xdpq_clean()