Messages in this thread | | | Date | Thu, 13 Jan 2022 16:44:47 +0100 | From | Stefano Garzarella <> | Subject | Re: [RFC PATCH] vhost: cache avail index in vhost_enable_notify() |
| |
On Thu, Jan 13, 2022 at 10:19:46AM -0500, Michael S. Tsirkin wrote: >On Thu, Jan 13, 2022 at 03:56:42PM +0100, Stefano Garzarella wrote: >> In vhost_enable_notify() we enable the notifications and we read >> the avail index to check if new buffers have become available in >> the meantime. In this case, the device would go to re-read avail >> index to access the descriptor. >> >> As we already do in other place, we can cache the value in `avail_idx` >> and compare it with `last_avail_idx` to check if there are new >> buffers available. >> >> Signed-off-by: Stefano Garzarella <sgarzare@redhat.com> > >I guess we can ... but what's the point? >
That without this patch if avail index is new, then device when will call vhost_get_vq_desc() will find old value in cache and will read it again.
With this patch we also do the same path and update the cache every time we read avail index.
I marked it RFC because I don't know if it's worth it :-)
Stefano
| |