diff options
| author | Kevin Bowling <kbowling@FreeBSD.org> | 2026-09-18 11:51:55 +0000 |
|---|---|---|
| committer | Kevin Bowling <kbowling@FreeBSD.org> | 2026-09-18 12:00:22 +0000 |
| commit | 3c52d24acb422f5d80f50612bd990ce760a19de8 (patch) | |
| tree | 5eafee35e91507399286ac38b249f6174b7574e7 /packages/Python/lldbsuite/test/functionalities/exec/(developers-only) | |
| parent | 758578370f6b726299c19f0e87355b91af1b90e5 (diff) | |
iavf: Reschedule pending virtchnl replies after the processing budget
The VC worker ignores the pending count returned by iavf_process_adminq.
If a pass exhausts its message budget, replies can remain in the receive
ring without another interrupt to schedule the worker. During init,
the iflib admin task cannot provide a backstop because init holds the
context lock while waiting for ENABLE_QUEUES to complete.
Reschedule the VC worker after a successful pass with messages remaining.
Keep the per-pass budget and do not retry AdminQ errors. Stop
self-rescheduling once detach clears INITIALIZED; the existing polling
and reset-recovery gates continue to exclude asynchronous processing.
Validation: reproduced the timeout on a three queue E835 VF under
Hyper-V. Temporary tracing showed a successful ENABLE_QUEUES reply
already in the guest receive ring after a three-message pass left two
messages pending. With the fix and no tracing, a GENERIC kernel with
WITNESS and INVARIANTS passed three batches of 30 down/up and MTU
1500/9000 cycles without enable/disable timeouts.
MFC after: 2 weeks
Sponsored by: BBOX.io
Diffstat (limited to 'packages/Python/lldbsuite/test/functionalities/exec/(developers-only)')
0 files changed, 0 insertions, 0 deletions
