On Tue, 3 Mar 2026 12:54:03 -0800 Long Li <[email protected]> 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

