Skip to content

infra: follow active vhost transmit queues - #729

Draft
hcaldicott wants to merge 1 commit into
DPDK:mainfrom
hcaldicott:fix/vhost-active-txq
Draft

hcaldicott wants to merge 1 commit into
DPDK:mainfrom
hcaldicott:fix/vhost-active-txq

Conversation

@hcaldicott

Copy link
Copy Markdown

Summary

  • track DPDK net_vhost guest receive-virtqueue state
  • distribute Grout transmit workers only over active vhost queues
  • clear cached queue state when a vhost client disconnects
  • refresh worker graphs on the main lcore after queue-state changes

Problem

A net_vhost device exposes its configured queue count before QEMU enables every guest virtqueue. Grout currently assigns workers across all configured TX queues, so a multiqueue guest can have packets sent to an inactive queue. A single queue hides the problem.

Validation

  • make check-patches
  • AlmaLinux 9 build with GCC 15 and -Werror
  • 11/11 applicable unit suites passed with the optional FRR plugin disabled
  • four-queue QEMU vhost connect, disconnect, and reconnect smoke test passed on the integration branch

This is kept as a draft while the implementation receives upstream review.

The net_vhost PMD exposes queue state independently of port link state. Distribute workers only across active guest receive virtqueues and clear the state on disconnect so reconnects cannot retain stale queues.

Signed-off-by: Harrison Caldicott <harrison@itsfubar.com.au>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant