Skip to content

Commit fd6c69d

Browse files
committed
net/zxdh: remove use of variable length array
The only VLA here is for refilling queue, and there already is logic to limit burst size. Signed-off-by: Stephen Hemminger <[email protected]>
1 parent afad7c5 commit fd6c69d

File tree

3 files changed

+4
-8
lines changed

3 files changed

+4
-8
lines changed

drivers/net/zxdh/meson.build

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,3 @@ sources = files(
2525
'zxdh_ethdev_ops.c',
2626
'zxdh_mtr.c',
2727
)
28-
29-
cflags += no_wvla_cflag

drivers/net/zxdh/zxdh_queue.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -351,10 +351,8 @@ int32_t zxdh_dev_rx_queue_setup_finish(struct rte_eth_dev *dev, uint16_t logic_q
351351
vq->sw_ring[vq->vq_nentries + desc_idx] = &rxvq->fake_mbuf;
352352

353353
while (!zxdh_queue_full(vq)) {
354-
uint16_t free_cnt = vq->vq_free_cnt;
355-
356-
free_cnt = RTE_MIN(ZXDH_MBUF_BURST_SZ, free_cnt);
357-
struct rte_mbuf *new_pkts[free_cnt];
354+
struct rte_mbuf *new_pkts[ZXDH_MBUF_BURST_SZ];
355+
uint16_t free_cnt = RTE_MIN(ZXDH_MBUF_BURST_SZ, vq->vq_free_cnt);
358356

359357
if (likely(rte_pktmbuf_alloc_bulk(rxvq->mpool, new_pkts, free_cnt) == 0)) {
360358
error = zxdh_enqueue_recv_refill_packed(vq, new_pkts, free_cnt);

drivers/net/zxdh/zxdh_rxtx.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -902,9 +902,9 @@ zxdh_recv_pkts_packed(void *rx_queue, struct rte_mbuf **rx_pkts,
902902
refill:
903903
/* Allocate new mbuf for the used descriptor */
904904
if (likely(!zxdh_queue_full(vq))) {
905+
struct rte_mbuf *new_pkts[ZXDH_MBUF_BURST_SZ];
905906
/* free_cnt may include mrg descs */
906-
uint16_t free_cnt = vq->vq_free_cnt;
907-
struct rte_mbuf *new_pkts[free_cnt];
907+
uint16_t free_cnt = RTE_MIN(vq->vq_free_cnt, ZXDH_MBUF_BURST_SZ);
908908

909909
if (!rte_pktmbuf_alloc_bulk(rxvq->mpool, new_pkts, free_cnt)) {
910910
error = zxdh_enqueue_recv_refill_packed(vq, new_pkts, free_cnt);

0 commit comments

Comments
 (0)