v3:<br />  - remove unnecessary NULL check in zxdh_init_queue.<br />  - Split Ring: Bit[31] is unused and reserved, zxdh_queue_notify(): removing the<br />    zxdh_pci_with_feature(hw, ZXDH_F_RING_PACKED) check;<br />  - remove unnecessary double-free in in zxdh_recv_single_pkts();<br />  - used rte_pktmbuf_mtod();<br />  - remove rxq_get_vq(q) macro, use q->vq and apply it consistently;<br />  - Refactoring scatter and mtu check logic in zxdh_dev_mtu_set();<br />  - set txdp->id = avail_idx + i in tx_bunch/tx1.<br />  - add comment documenting zxdh_xmit_enqueue_append() now sets dxp->cookie = NULL for<br />    the head slot and stores cookies per descriptor via dep[idx].cookie.<br />  - add one-line comment noting tx_bunch() is the simple path handles single-segment.<br />  - remove unnecessary Extra initialization and the uint32_t cast.<br /> <br />v2:<br />  - zxdh_rxtx.c, pkt_padding(): modifyed the return value of pkt_padding();<br />  - zxdh_rxtx.c, zxdh_recv_single_pkts(): modifyed When zxdh_init_mbuf() fails<br />    the loop does "continue" and free mbufs;<br />  - zxdh_rxtx.c, refill_desc_unwrap(): Add rte_io_wmb() before writing flags<br />    in the refill_que_descs();<br />  - zxdh_queue.h, zxdh_queue_enable_intr(): Remove unnecessary function of zxdh_queue_enable_intr;<br />  - zxdh_ethdev.c, zxdh_init_queue(): changed the hdr_mz NULL check logic;<br /> <br />  - zxdh_rxtx.c, zxdh_xmit_pkts_simple()、zxdh_recv_single_pkts(): add stats.bytes count;<br />  - zxdh_rxtx.c, zxdh_init_mbuf():remove  rte_pktmbuf_dump(stdout, rxm, 40);<br />  - zxdh_ethdev.c, zxdh_dev_free_mbufs(): using rte_pktmbuf_free() to free mbufs;<br />  - Splitting into separate patches, structure reorganization and sw_ring removal、<br />    RX recv optimize、Tx xmit optimize、Tx;<br /> <br />v1:<br />  This patch optimizes the ZXDH PMD's receive and transmit path for better<br />  performance through several improvements:<br /> <br />- Add simple TX/RX burst functions (zxdh_xmit_pkts_simple and<br />  zxdh_recv_single_pkts) for single-segment packet scenarios.<br />- Remove RX software ring (sw_ring) to reduce memory allocation and<br />  copy.<br />- Optimize descriptor management with prefetching and simplified<br />  cleanup.<br />- Reorganize structure fields for better cache locality.<br /> <br />  These changes reduce CPU cycles and memory bandwidth consumption,<br />  resulting in improved packet processing throughput.<br /> <br />Junlong Wang (3):<br />  net/zxdh: optimize queue structure to improve performance<br />  net/zxdh: optimize Rx recv pkts performance<br />  net/zxdh: optimize Tx xmit pkts performance<br /> <br /> drivers/net/zxdh/zxdh_ethdev.c     |  81 ++---<br /> drivers/net/zxdh/zxdh_ethdev_ops.c |  23 +-<br /> drivers/net/zxdh/zxdh_ethdev_ops.h |   4 +<br /> drivers/net/zxdh/zxdh_pci.c        |   2 +-<br /> drivers/net/zxdh/zxdh_queue.c      |  11 +-<br /> drivers/net/zxdh/zxdh_queue.h      | 120 ++++---<br /> drivers/net/zxdh/zxdh_rxtx.c       | 524 ++++++++++++++++++++++-------<br /> drivers/net/zxdh/zxdh_rxtx.h       |  27 +-<br /> 8 files changed, 533 insertions(+), 259 deletions(-)<br /> <br />--  <br />2.27.0<br />