Re: [PATCH v4 0/6] net/netvsc: bug fixes and runtime queue reconfiguration

Stephen Hemminger
2026-03-03T22:16:11Z

On Tue, 3 Mar 2026 12:54:03 -0800
Long Li <longli@microsoft.com> wrote:

> This series fixes several resource management bugs in the netvsc PMD and
> adds support for runtime queue count reconfiguration.
>
> Patches 1-5 are bug fixes:
> 1. Subchannel leak on device removal — subchannels allocated during
> configure are never closed in uninit.
> 2. Double-free of primary Rx queue — hn_dev_free_queues() already
> frees hv->primary, then uninit frees it again.
> 3. Init error path leaks — hv->primary and hv->channels[0] not freed
> on failure after allocation.
> 4. Event callback leak — device event callback not unregistered when
> rxfilter or vf_start fails in hn_dev_start().
> 5. MTU change path leaks — missing chimney bitmap teardown/rebuild,
> rxbuf_info leak, stale subchannel pointers, and VMBus channel
> close before free.
>
> Patch 6 adds runtime queue count reconfiguration via port
> stop/configure/start, with full NVS/RNDIS session teardown and reinit
> when the queue count changes.
>
> Tested:
> - Queue reconfig: 4→2→8 queues, all transitions successful
> - MTU changes: 1500→4000→8000 with rxd/txd=2048, no crashes
> - TX pps: 15.5M (1500B), 6.1M (4000B), 3.1M (8000B)
> - RX pps: 7.6M (1500B), 2.7M (4000B), 1.4M (8000B)

Looks good, applied to next-net.

PS: had to argue with Claude to get it to understand relationship
between queues and vmbus channels