Displaying 7 results from an estimated 7 matches for "vq_avail".
Did you mean:
_avail
2018 Jul 24
3
[PATCH net-next v6 3/4] net: vhost: factor out busy polling logic to vhost_net_busy_poll()
...struct vhost_virtqueue *tvq,
>>>>> + bool rx)
>>>>> +{
>>>>> + struct socket *sock = rvq->private_data;
>>>>> +
>>>>> + if (rx) {
>>>>> + if (!vhost_vq_avail_empty(&net->dev, tvq)) {
>>>>> + vhost_poll_queue(&tvq->poll);
>>>>> + } else if (unlikely(vhost_enable_notify(&net->dev, tvq))) {
>>>>> + vhost_disable_notify(&net->dev, tvq...
2018 Jul 24
3
[PATCH net-next v6 3/4] net: vhost: factor out busy polling logic to vhost_net_busy_poll()
...struct vhost_virtqueue *tvq,
>>>>> + bool rx)
>>>>> +{
>>>>> + struct socket *sock = rvq->private_data;
>>>>> +
>>>>> + if (rx) {
>>>>> + if (!vhost_vq_avail_empty(&net->dev, tvq)) {
>>>>> + vhost_poll_queue(&tvq->poll);
>>>>> + } else if (unlikely(vhost_enable_notify(&net->dev, tvq))) {
>>>>> + vhost_disable_notify(&net->dev, tvq...
2018 Jul 23
3
[PATCH net-next v6 3/4] net: vhost: factor out busy polling logic to vhost_net_busy_poll()
...ail.com>
> ---
...
> +static void vhost_net_busy_poll_vq_check(struct vhost_net *net,
> + struct vhost_virtqueue *rvq,
> + struct vhost_virtqueue *tvq,
> + bool rx)
> +{
> + struct socket *sock = rvq->private_data;
> +
> + if (rx) {
> + if (!vhost_vq_avail_empty(&net->dev, tvq)) {
> + vhost_poll_queue(&tvq->poll);
> + } else if (unlikely(vhost_enable_notify(&net->dev, tvq))) {
> + vhost_disable_notify(&net->dev, tvq);
> + vhost_poll_queue(&tvq->poll);
> + }
> + } else if ((sock && s...
2018 Jul 23
3
[PATCH net-next v6 3/4] net: vhost: factor out busy polling logic to vhost_net_busy_poll()
...ail.com>
> ---
...
> +static void vhost_net_busy_poll_vq_check(struct vhost_net *net,
> + struct vhost_virtqueue *rvq,
> + struct vhost_virtqueue *tvq,
> + bool rx)
> +{
> + struct socket *sock = rvq->private_data;
> +
> + if (rx) {
> + if (!vhost_vq_avail_empty(&net->dev, tvq)) {
> + vhost_poll_queue(&tvq->poll);
> + } else if (unlikely(vhost_enable_notify(&net->dev, tvq))) {
> + vhost_disable_notify(&net->dev, tvq);
> + vhost_poll_queue(&tvq->poll);
> + }
> + } else if ((sock && s...
2018 Jul 23
0
[PATCH net-next v6 3/4] net: vhost: factor out busy polling logic to vhost_net_busy_poll()
...struct vhost_virtqueue *tvq,
> >>> + bool rx)
> >>> +{
> >>> + struct socket *sock = rvq->private_data;
> >>> +
> >>> + if (rx) {
> >>> + if (!vhost_vq_avail_empty(&net->dev, tvq)) {
> >>> + vhost_poll_queue(&tvq->poll);
> >>> + } else if (unlikely(vhost_enable_notify(&net->dev, tvq))) {
> >>> + vhost_disable_notify(&net->dev, tvq);
> &...
2018 Jul 24
0
[PATCH net-next v6 3/4] net: vhost: factor out busy polling logic to vhost_net_busy_poll()
...> >>>>> + bool rx)
> >>>>> +{
> >>>>> + struct socket *sock = rvq->private_data;
> >>>>> +
> >>>>> + if (rx) {
> >>>>> + if (!vhost_vq_avail_empty(&net->dev, tvq)) {
> >>>>> + vhost_poll_queue(&tvq->poll);
> >>>>> + } else if (unlikely(vhost_enable_notify(&net->dev, tvq))) {
> >>>>> + vhost_disable_notify(&n...
2018 Jul 21
7
[PATCH net-next v6 0/4] net: vhost: improve performance when enable busyloop
From: Tonghao Zhang <xiangxia.m.yue at gmail.com>
This patches improve the guest receive performance.
On the handle_tx side, we poll the sock receive queue
at the same time. handle_rx do that in the same way.
For more performance report, see patch 4.
v5->v6:
rebase the codes.
Tonghao Zhang (4):
net: vhost: lock the vqs one by one
net: vhost: replace magic number of lock annotation