diff options
author | Jason Wang <jasowang@redhat.com> | 2016-12-12 14:46:49 +0800 |
---|---|---|
committer | Michael S. Tsirkin <mst@redhat.com> | 2016-12-16 00:12:50 +0200 |
commit | 809ecb9bca6a9424ccd392d67e368160f8b76c92 (patch) | |
tree | 606dee0e521208955dee5b5bdda763b3c30425cb /drivers/vhost/vhost.h | |
parent | 6c083c2b8a0a110cad936bc0a2c089f0d8115175 (diff) | |
download | talos-obmc-linux-809ecb9bca6a9424ccd392d67e368160f8b76c92.tar.gz talos-obmc-linux-809ecb9bca6a9424ccd392d67e368160f8b76c92.zip |
vhost: cache used event for better performance
When event index was enabled, we need to fetch used event from
userspace memory each time. This userspace fetch (with memory
barrier) could be saved sometime when 1) caching used event and 2)
if used event is ahead of new and old to new updating does not cross
it, we're sure there's no need to notify guest.
This will be useful for heavy tx load e.g guest pktgen test with Linux
driver shows ~3.5% improvement.
Signed-off-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'drivers/vhost/vhost.h')
-rw-r--r-- | drivers/vhost/vhost.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/vhost/vhost.h b/drivers/vhost/vhost.h index 78f3c5fc02e4..a9cbbb148f46 100644 --- a/drivers/vhost/vhost.h +++ b/drivers/vhost/vhost.h @@ -107,6 +107,9 @@ struct vhost_virtqueue { /* Last index we used. */ u16 last_used_idx; + /* Last used evet we've seen */ + u16 last_used_event; + /* Used flags */ u16 used_flags; |