net/sfc: decrease number of variables maintained on EF10 Rx
[dpdk.git] / drivers / net / sfc / sfc_rx.c
index 58c57ac..000cd0b 100644 (file)
@@ -96,13 +96,12 @@ sfc_efx_rx_qrefill(struct sfc_efx_rxq *rxq)
                     ++i, id = (id + 1) & rxq->ptr_mask) {
                        m = objs[i];
 
+                       MBUF_RAW_ALLOC_CHECK(m);
+
                        rxd = &rxq->sw_desc[id];
                        rxd->mbuf = m;
 
-                       SFC_ASSERT(rte_mbuf_refcnt_read(m) == 1);
                        m->data_off = RTE_PKTMBUF_HEADROOM;
-                       SFC_ASSERT(m->next == NULL);
-                       SFC_ASSERT(m->nb_segs == 1);
                        m->port = port_id;
 
                        addr[i] = rte_pktmbuf_iova(m);
@@ -296,7 +295,7 @@ sfc_efx_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)
 
 discard:
                discard_next = ((desc_flags & EFX_PKT_CONT) != 0);
-               rte_mempool_put(rxq->refill_mb_pool, m);
+               rte_mbuf_raw_free(m);
                rxd->mbuf = NULL;
        }
 
@@ -498,7 +497,7 @@ sfc_efx_rx_qpurge(struct sfc_dp_rxq *dp_rxq)
 
        for (i = rxq->completed; i != rxq->added; ++i) {
                rxd = &rxq->sw_desc[i & rxq->ptr_mask];
-               rte_mempool_put(rxq->refill_mb_pool, rxd->mbuf);
+               rte_mbuf_raw_free(rxd->mbuf);
                rxd->mbuf = NULL;
                /* Packed stream relies on 0 in inactive SW desc.
                 * Rx queue stop is not performance critical, so