Displaying 5 results from an estimated 5 matches for "vq_meta_prefetch_done".
2019 Mar 06
0
[RFC PATCH V2 5/5] vhost: access vq metadata through kernel virtual address
...+++
3 files changed, 297 insertions(+), 2 deletions(-)
diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c
index bf55f99..c276371 100644
--- a/drivers/vhost/net.c
+++ b/drivers/vhost/net.c
@@ -982,6 +982,7 @@ static void handle_tx(struct vhost_net *net)
else
handle_tx_copy(net, sock);
+ vq_meta_prefetch_done(vq);
out:
mutex_unlock(&vq->mutex);
}
@@ -1250,6 +1251,7 @@ static void handle_rx(struct vhost_net *net)
vhost_net_enable_vq(net, vq);
out:
vhost_net_signal_used(nvq);
+ vq_meta_prefetch_done(vq);
mutex_unlock(&vq->mutex);
}
diff --git a/drivers/vhost/vhost.c b/drivers/...
2019 Mar 06
2
[RFC PATCH V2 5/5] vhost: access vq metadata through kernel virtual address
...ns(-)
>
> diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c
> index bf55f99..c276371 100644
> --- a/drivers/vhost/net.c
> +++ b/drivers/vhost/net.c
> @@ -982,6 +982,7 @@ static void handle_tx(struct vhost_net *net)
> else
> handle_tx_copy(net, sock);
>
> + vq_meta_prefetch_done(vq);
> out:
> mutex_unlock(&vq->mutex);
> }
> @@ -1250,6 +1251,7 @@ static void handle_rx(struct vhost_net *net)
> vhost_net_enable_vq(net, vq);
> out:
> vhost_net_signal_used(nvq);
> + vq_meta_prefetch_done(vq);
> mutex_unlock(&vq->mutex);
>...
2019 Mar 06
2
[RFC PATCH V2 5/5] vhost: access vq metadata through kernel virtual address
...ns(-)
>
> diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c
> index bf55f99..c276371 100644
> --- a/drivers/vhost/net.c
> +++ b/drivers/vhost/net.c
> @@ -982,6 +982,7 @@ static void handle_tx(struct vhost_net *net)
> else
> handle_tx_copy(net, sock);
>
> + vq_meta_prefetch_done(vq);
> out:
> mutex_unlock(&vq->mutex);
> }
> @@ -1250,6 +1251,7 @@ static void handle_rx(struct vhost_net *net)
> vhost_net_enable_vq(net, vq);
> out:
> vhost_net_signal_used(nvq);
> + vq_meta_prefetch_done(vq);
> mutex_unlock(&vq->mutex);
>...
2019 Mar 06
12
[RFC PATCH V2 0/5] vhost: accelerate metadata access through vmap()
This series tries to access virtqueue metadata through kernel virtual
address instead of copy_user() friends since they had too much
overheads like checks, spec barriers or even hardware feature
toggling. This is done through setup kernel address through vmap() and
resigter MMU notifier for invalidation.
Test shows about 24% improvement on TX PPS. TCP_STREAM doesn't see
obvious improvement.
2019 Mar 06
12
[RFC PATCH V2 0/5] vhost: accelerate metadata access through vmap()
This series tries to access virtqueue metadata through kernel virtual
address instead of copy_user() friends since they had too much
overheads like checks, spec barriers or even hardware feature
toggling. This is done through setup kernel address through vmap() and
resigter MMU notifier for invalidation.
Test shows about 24% improvement on TX PPS. TCP_STREAM doesn't see
obvious improvement.