CVSROOT: /cvs Module name: src Changes by: d...@cvs.openbsd.org 2023/01/30 14:43:12
Modified files: usr.sbin/vmd : ns8250.c Log message: vmd(8): fix an interrupt storm in ns8250. On slower hosts, such as those in a nested virtualization scenario of OpenBSD guest inside OpenBSD atop Linux KVM, ns8250 can cause a race between the kevent firing and the vcpu being kicked by an assert/deassert of the irq. The end user experiences a "stuck" serial console and the host will see a vmd process peg the cpu. This change only toggles the irq if we were in a position of being ready to receive data on the device so while the kevent might continuously fire, the vcpu will not be kicked repeatedly. OK mlarkin@