-
Notifications
You must be signed in to change notification settings - Fork 67
Description
placeholder, CPU binding probably deserves an RFD. not binding CPUs makes for pretty unfortunate runtime characteristics for VMs that are heavy on VM exits: oxidecomputer/propolis#984 . oxidecomputer/propolis#991 handles this as well as Propolis can autonomously do, but leaves smaller VMs out of the picture
in particular we should be aware that just handing out CPUs from Nexus might want to consider which host CPUs have interrupts for which devices and where those interrupts are processed. then VMs can become very affected by noisy neighbor problems. as an extreme example, today, if you do I/O to a specific U.2, the OS handles those I/O completion interrupts on a specific set of processors (say, 8-15). the guest might be pinned to CPUs 32-40. some other guest might catch the debris if it were pinned to CPUs 8-15.
might not want to pin <4 core VMs, consequences of network traffic might be different, etc. this is all stuff I'd get to in an RFD.