Next: Send combining
Up: Reducing Network Virtualization Overheads
Previous: Reducing Network Virtualization Overheads
Recall that the only virtual I/O accesses that require a world switch
to the host are the ones that require a physical I/O device access.
The vast majority of the I/O instructions are accesses to the Lance
data port and only a third of them trigger packet transmissions. The
remaining accesses merely modify the state of the virtual Lance data
port, which can be easily done directly in the VMM without a world
switch. Thus, an emulation of an OUT instruction that does not
require real I/O can now be achieved in less than a tenth of the time
it takes in VMware Workstation 2.0.
We also further reduce the cost of processing I/O accesses to the
Lance address port by taking advantage of the property that the Lance
address register has memory semantics, i.e., reads and writes
have no side effects and only latch the last value written. Thus,
even though the instructions to access it are privileged instructions,
the VMM can treat them as simple MOV instructions that happen to store
to a special location. This allows the VMM to strip away several
layers of virtualization and reduce the handling of the accesses to a
handful of instructions.
Next: Send combining
Up: Reducing Network Virtualization Overheads
Previous: Reducing Network Virtualization Overheads
Beng-Hong Lim
2001-05-01