On Tue, 8 Sep 2026 18:27:21 +0200 Serhii Iliushyk <[email protected]> wrote:
> This series addresses the bug report "ntnic: virt queue data in BSS" > (Bugzilla ID: 1975). The report lists five problems with keeping the > virt queue state in static arrays; each is addressed as follows. > > - BSS memory is slower than hugepages because of TLB overhead, which > can cause performance loss in the hot path. > The per-queue state, and the copy of the packet buffer descriptors > indexed on every burst, are now allocated from the EAL heap. > > - Hard coding the size wastes space. > The 128-entry Rx and Tx arrays are gone; one object is allocated > per configured queue and freed when the queue is released. > > - Data in BSS is not visible to a secondary process. > The state now lives in EAL memory. The PMD still does not support > primary/secondary operation, but this no longer stands in the way. > > - NUMA aware allocation was not possible. > Both allocations are made with rte_zmalloc_socket() on the NUMA > node of the adapter, next to the rings and buffers they describe. > > - Cache alignment. > The queue object is cache line aligned and no longer shares a line > with a neighboring queue. > > Patch 1 drops two never-called setup ops so that only the managed > setup and release paths own the queue state. Patch 2 makes a failed > hardware setup visible to the caller, which patch 3 relies on to free > the queue object on failure. Patch 3 is the fix itself; it also fixes > a leak of the descriptor copy on queue re-setup and an ignored > allocation failure that led to a NULL dereference in the burst > functions. > > Serhii Iliushyk (3): > net/ntnic: remove unused unmanaged virt queue setup ops > net/ntnic: check virt queue hardware setup result > net/ntnic: fix virt queue data in BSS > > drivers/net/ntnic/dbsconfig/ntnic_dbsconfig.c | 334 +++++++++++------- > drivers/net/ntnic/ntnic_ethdev.c | 52 ++- > drivers/net/ntnic/ntnic_mod_reg.h | 30 -- > 3 files changed, 245 insertions(+), 171 deletions(-) > Looks good, applied to next-net.

