diff options
author | David Gwynne <dlg@cvs.openbsd.org> | 2015-09-18 03:53:45 +0000 |
---|---|---|
committer | David Gwynne <dlg@cvs.openbsd.org> | 2015-09-18 03:53:45 +0000 |
commit | d8637bba15d281c3dfe5addcf569236fd191fd1b (patch) | |
tree | c614499e993e1a9dd02758d01c838330035c4dfa /bin/ksh/trap.c | |
parent | 1bdb855f0679822e643657aede8a623f520a6c58 (diff) |
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.
Diffstat (limited to 'bin/ksh/trap.c')
0 files changed, 0 insertions, 0 deletions