CVSROOT: /cvs Module name: src Changes by: d...@cvs.openbsd.org 2015/09/17 21:53:44
Modified files: sys/dev/pci : if_vmx.c Log message: make vmx(4) interrupts mpsafe. the vmx rx path is only touched in the interrupt handler, so it is already guaranteed to be accessed by only one cpu at a time. the tx path has been massaged so the the producer is only touched by the start routine, and the consumer is only touched by the interrupt path, and can therefore be run concurrently. the only interlock is a count of the free descriptors. if txintr clears IFF_OACTIVE, it takes the kernel lock before running the start routine. other interrupts, eg, link state handling, take the kernel lock.