Page MenuHomeFreeBSD

Hyper-V: vPCI: limit 64 cpus for msi/msix interrupt handling on FreeBSD 13.x
ClosedPublic

Authored by whu on Mar 11 2024, 10:47 AM.
Tags
None
Referenced Files
F102558374: D44297.diff
Thu, Nov 14, 1:22 AM
Unknown Object (File)
Thu, Oct 31, 4:34 PM
Unknown Object (File)
Sat, Oct 26, 7:09 AM
Unknown Object (File)
Sat, Oct 26, 7:09 AM
Unknown Object (File)
Sat, Oct 26, 7:09 AM
Unknown Object (File)
Sat, Oct 26, 6:55 AM
Unknown Object (File)
Sat, Oct 19, 12:38 AM
Unknown Object (File)
Thu, Oct 17, 2:16 AM

Details

Summary

On older Hyper-V vPCI protocol version 1.1, only the first 64 cpus are able to handle msi/msix. This is true on FreeBSD 13.x and earlier releases. If MSI IRQ is assigned to cpu id greater than 63, it would lead to missing interrupts. Add check in set_interrupt_apic_ids() to only add first 64 cpus into the interrupt cpu set.

This doesn't apply to FreeBSD 14 and later, which already have vPCI 1.4 support.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

whu requested review of this revision.Mar 11 2024, 10:47 AM
whu created this revision.

I suppose this is a direct commit to stable/13?

This revision is now accepted and ready to land.Mar 11 2024, 3:05 PM
In D44297#1010461, @kib wrote:

I suppose this is a direct commit to stable/13?

Yes, it is.