A hypervisor retrieves a packet written by a guest operating system of a virtual machine from hypervisor memory accessible to the guest operating system. The Hypervisor then adds the packet of the guest operating system to at least one receive queue associated with a virtual device. The hypervisor pauses the retrieving of additional packets from the guest upon determining that the at least one receive queue size has met a first predetermined threshold condition. The hypervisor processes queued packets from the at least one receive queue sequentially. The hypervisor restarts the retrieving of the additional packets from the guest upon determining that the at least one receive queue size has met a second predetermined threshold condition.