Lines Matching refs:reclaim_idx
386 unsigned int head, limit, reclaim_idx; in fun_txq_reclaim() local
391 for (head = txq_hw_head(q), reclaim_idx = q->cons_cnt & q->mask; in fun_txq_reclaim()
392 head != reclaim_idx && npkts < limit; head = txq_hw_head(q)) { in fun_txq_reclaim()
401 unsigned int pkt_desc = unmap_skb(q, reclaim_idx); in fun_txq_reclaim()
402 struct sk_buff *skb = q->info[reclaim_idx].skb; in fun_txq_reclaim()
404 trace_funeth_tx_free(q, reclaim_idx, pkt_desc, head); in fun_txq_reclaim()
409 reclaim_idx = (reclaim_idx + pkt_desc) & q->mask; in fun_txq_reclaim()
411 } while (reclaim_idx != head && npkts < limit); in fun_txq_reclaim()
424 return reclaim_idx != head; in fun_txq_reclaim()
456 unsigned int npkts = 0, head, reclaim_idx; in fun_xdpq_clean() local
458 for (head = txq_hw_head(q), reclaim_idx = q->cons_cnt & q->mask; in fun_xdpq_clean()
459 head != reclaim_idx && npkts < budget; head = txq_hw_head(q)) { in fun_xdpq_clean()
468 fun_xdp_unmap(q, reclaim_idx); in fun_xdpq_clean()
469 xdp_return_frame(q->info[reclaim_idx].xdpf); in fun_xdpq_clean()
471 trace_funeth_tx_free(q, reclaim_idx, 1, head); in fun_xdpq_clean()
473 reclaim_idx = (reclaim_idx + 1) & q->mask; in fun_xdpq_clean()
475 } while (reclaim_idx != head && npkts < budget); in fun_xdpq_clean()