virtio-rng: ask for more data if queue is not fully drained
This commit effectively reverts: commit 4621c1768ef5d12171cca2aa1473595ecb9f1c9e Author: Amit Shah <amit.shah@redhat.com> Date: Wed Nov 21 11:21:19 2012 +0530 virtio-rng: remove extra request for entropy but instead of calling virtio_rng_process unconditionally, it first checks to see if the queue is empty as a little bit of optimization. Signed-off-by: Ladi Prosek <lprosek@redhat.com> Reviewed-by: Amit Shah <amit.shah@redhat.com> Message-Id: <1456998514-19271-1-git-send-email-lprosek@redhat.com> Signed-off-by: Amit Shah <amit.shah@redhat.com>
This commit is contained in:
parent
60253ed1e6
commit
f8693c2cd0
@ -69,6 +69,13 @@ static void chr_read(void *opaque, const void *buf, size_t size)
|
|||||||
g_free(elem);
|
g_free(elem);
|
||||||
}
|
}
|
||||||
virtio_notify(vdev, vrng->vq);
|
virtio_notify(vdev, vrng->vq);
|
||||||
|
|
||||||
|
if (!virtio_queue_empty(vrng->vq)) {
|
||||||
|
/* If we didn't drain the queue, call virtio_rng_process
|
||||||
|
* to take care of asking for more data as appropriate.
|
||||||
|
*/
|
||||||
|
virtio_rng_process(vrng);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void virtio_rng_process(VirtIORNG *vrng)
|
static void virtio_rng_process(VirtIORNG *vrng)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user