mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 18:51:56 -04:00
virtio: clarify NO_NOTIFY flag usage
The other side (host) can set the NO_NOTIFY flag as an optimization, to say "no need to kick me when you add things". Make it clear that this is advisory only; especially that we should always notify when the ring is full. Signed-off-by: Rusty Russell <[email protected]>
This commit is contained in:
parent
3309daaad7
commit
426e3e0af5
3 changed files with 13 additions and 6 deletions
|
|
@ -923,10 +923,10 @@ static void handle_output(int fd, unsigned long addr)
|
|||
/* Check each virtqueue. */
|
||||
for (i = devices.dev; i; i = i->next) {
|
||||
for (vq = i->vq; vq; vq = vq->next) {
|
||||
if (vq->config.pfn == addr/getpagesize()
|
||||
&& vq->handle_output) {
|
||||
if (vq->config.pfn == addr/getpagesize()) {
|
||||
verbose("Output to %s\n", vq->dev->name);
|
||||
vq->handle_output(fd, vq);
|
||||
if (vq->handle_output)
|
||||
vq->handle_output(fd, vq);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
@ -1068,7 +1068,8 @@ static void add_virtqueue(struct device *dev, unsigned int num_descs,
|
|||
* virtqueue. */
|
||||
vq->handle_output = handle_output;
|
||||
|
||||
/* Set the "Don't Notify Me" flag if we don't have a handler */
|
||||
/* As an optimization, set the advisory "Don't Notify Me" flag if we
|
||||
* don't have a handler */
|
||||
if (!handle_output)
|
||||
vq->vring.used->flags = VRING_USED_F_NO_NOTIFY;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue