Skip to content

Conversation

@dancrossnyc
Copy link
Contributor

vioc_intr_poll_mq needs to have space for twice
the number of queue pairs, not the number of pairs, since interrupts are per-queue, not per-pair.

`vioc_intr_poll_mq` needs to have space for twice
the number of queue pairs, not the number of pairs,
since interrupts are per-queue, not per-pair.
@dancrossnyc dancrossnyc requested a review from iximeow January 10, 2026 00:48
@iximeow
Copy link
Member

iximeow commented Jan 10, 2026

importantly we'd found this by seeing propolis-standalone explode at lock decq (%rax) when ... rax == 0. the rax in question was an Arc<MemCtx>. it turns out header-check, unlike i'd thought, does not run in CI! this makes sense kind of, as we don't have a GATE_SRC to go run the tests against. but it also means that these structs were wrong and we didn't notice, and i didn't look closely because i'd assumed incorrectly that they were tested.

we've talked a bit about having header-check in CI, and i'll probably go do that next week. cloning oxidecomputer/illumos-gate and checking out stlouis in.. literally anywhere.. seems like it should be OK to do, if only on demand, or on certain files changing. maybe overriding that into a different branch when we know (like with multiqueue) we're changing the kernel too.

anyway, header-check used to fail, now passes, and i'd come up with basically the same change myself. thank you for mentioning the weird crash, 'cause it turned out to be important...

@dancrossnyc dancrossnyc merged commit ff31c52 into master Jan 10, 2026
11 checks passed
@dancrossnyc dancrossnyc deleted the virtio-modern branch January 10, 2026 01:06
@iximeow iximeow mentioned this pull request Jan 13, 2026
iximeow added a commit that referenced this pull request Jan 14, 2026
motivated by #1015, wherein I didn't pay close enough attention to the viona header changes because I thought header-check had run in CI and confirmed that they lined up. so, lets make that true.
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.

3 participants