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.

Reply via email to