A system, computer program product and method for dispatching work items
in a virtual machine operating system. The virtual machine operating
system defines first and second virtual machines. First and second work
queues are created in a memory. The first virtual machine assigns a first
work item to the first work queue and a second work item to the second
work queue. The first virtual machine schedules work items from the first
work queue for execution by the first virtual machine. The first and
second work items originate from the first virtual machine. The first and
second work queues are directly accessible by the first virtual machine.
The second virtual machine assigns a third work item to the first work
queue and a fourth work item to the second work queue. The second virtual
machine schedules work items from the second work queue for execution by
the second virtual machine. The third and fourth work items originate
from the second virtual machine. The first and second work queues are
directly accessible by the second virtual machine. The first virtual
machine is not able to schedule work items from the second work queue,
and the second virtual machine is not able to schedule work items from
the first work queue. A shared work queue in shared memory is also
disclosed.