search for: vhost_net_busy_poll_check

Displaying 20 results from an estimated 24 matches for "vhost_net_busy_poll_check".

2018 Aug 03
3
[PATCH net-next v7 3/4] net: vhost: factor out busy polling logic to vhost_net_busy_poll()
...Thu, Aug 2, 2018 at 5:23 PM Jason Wang <jasowang at redhat.com> wrote: >> >> >> On 2018?08?02? 16:41, Toshiaki Makita wrote: >>> On 2018/08/02 17:18, Jason Wang wrote: >>>> On 2018?08?01? 17:52, Tonghao Zhang wrote: >>>>>> +static void vhost_net_busy_poll_check(struct vhost_net *net, >>>>>> + struct vhost_virtqueue *rvq, >>>>>> + struct vhost_virtqueue *tvq, >>>>>> + bool rx) >>>>>> +...
2018 Aug 03
3
[PATCH net-next v7 3/4] net: vhost: factor out busy polling logic to vhost_net_busy_poll()
...Thu, Aug 2, 2018 at 5:23 PM Jason Wang <jasowang at redhat.com> wrote: >> >> >> On 2018?08?02? 16:41, Toshiaki Makita wrote: >>> On 2018/08/02 17:18, Jason Wang wrote: >>>> On 2018?08?01? 17:52, Tonghao Zhang wrote: >>>>>> +static void vhost_net_busy_poll_check(struct vhost_net *net, >>>>>> + struct vhost_virtqueue *rvq, >>>>>> + struct vhost_virtqueue *tvq, >>>>>> + bool rx) >>>>>> +...
2018 Aug 02
6
[PATCH net-next v7 3/4] net: vhost: factor out busy polling logic to vhost_net_busy_poll()
On 2018?08?02? 16:41, Toshiaki Makita wrote: > On 2018/08/02 17:18, Jason Wang wrote: >> On 2018?08?01? 17:52, Tonghao Zhang wrote: >>>> +static void vhost_net_busy_poll_check(struct vhost_net *net, >>>> + struct vhost_virtqueue *rvq, >>>> + struct vhost_virtqueue *tvq, >>>> + bool rx) >>>> +{ >>>> + struct...
2018 Aug 02
6
[PATCH net-next v7 3/4] net: vhost: factor out busy polling logic to vhost_net_busy_poll()
On 2018?08?02? 16:41, Toshiaki Makita wrote: > On 2018/08/02 17:18, Jason Wang wrote: >> On 2018?08?01? 17:52, Tonghao Zhang wrote: >>>> +static void vhost_net_busy_poll_check(struct vhost_net *net, >>>> + struct vhost_virtqueue *rvq, >>>> + struct vhost_virtqueue *tvq, >>>> + bool rx) >>>> +{ >>>> + struct...
2018 Aug 03
2
[PATCH net-next v7 3/4] net: vhost: factor out busy polling logic to vhost_net_busy_poll()
...018 at 5:23 PM Jason Wang <jasowang at redhat.com> wrote: >>>> On 2018?08?02? 16:41, Toshiaki Makita wrote: >>>>> On 2018/08/02 17:18, Jason Wang wrote: >>>>>> On 2018?08?01? 17:52, Tonghao Zhang wrote: >>>>>>>> +static void vhost_net_busy_poll_check(struct vhost_net *net, >>>>>>>> + struct vhost_virtqueue *rvq, >>>>>>>> + struct vhost_virtqueue *tvq, >>>>>>>> + bool rx) &g...
2018 Aug 03
2
[PATCH net-next v7 3/4] net: vhost: factor out busy polling logic to vhost_net_busy_poll()
...018 at 5:23 PM Jason Wang <jasowang at redhat.com> wrote: >>>> On 2018?08?02? 16:41, Toshiaki Makita wrote: >>>>> On 2018/08/02 17:18, Jason Wang wrote: >>>>>> On 2018?08?01? 17:52, Tonghao Zhang wrote: >>>>>>>> +static void vhost_net_busy_poll_check(struct vhost_net *net, >>>>>>>> + struct vhost_virtqueue *rvq, >>>>>>>> + struct vhost_virtqueue *tvq, >>>>>>>> + bool rx) &g...
2018 Aug 03
2
[PATCH net-next v7 3/4] net: vhost: factor out busy polling logic to vhost_net_busy_poll()
...son Wang <jasowang at redhat.com> wrote: >>>> >>>> On 2018?08?02? 16:41, Toshiaki Makita wrote: >>>>> On 2018/08/02 17:18, Jason Wang wrote: >>>>>> On 2018?08?01? 17:52, Tonghao Zhang wrote: >>>>>>>> +static void vhost_net_busy_poll_check(struct vhost_net *net, >>>>>>>> + struct vhost_virtqueue *rvq, >>>>>>>> + struct vhost_virtqueue *tvq, >>>>>>>> + bool rx) &g...
2018 Aug 03
2
[PATCH net-next v7 3/4] net: vhost: factor out busy polling logic to vhost_net_busy_poll()
...son Wang <jasowang at redhat.com> wrote: >>>> >>>> On 2018?08?02? 16:41, Toshiaki Makita wrote: >>>>> On 2018/08/02 17:18, Jason Wang wrote: >>>>>> On 2018?08?01? 17:52, Tonghao Zhang wrote: >>>>>>>> +static void vhost_net_busy_poll_check(struct vhost_net *net, >>>>>>>> + struct vhost_virtqueue *rvq, >>>>>>>> + struct vhost_virtqueue *tvq, >>>>>>>> + bool rx) &g...
2018 Aug 02
2
[PATCH net-next v7 3/4] net: vhost: factor out busy polling logic to vhost_net_busy_poll()
On 2018?08?01? 17:52, Tonghao Zhang wrote: >>> + >>> + cpu_relax(); >>> + } >>> + >>> + preempt_enable(); >>> + >>> + if (!rx) >>> + vhost_net_enable_vq(net, vq); >> No need to enable rx virtqueue, if we are sure handle_rx() will be >> called soon. > If we disable rx virtqueue
2018 Aug 02
2
[PATCH net-next v7 3/4] net: vhost: factor out busy polling logic to vhost_net_busy_poll()
On 2018?08?01? 17:52, Tonghao Zhang wrote: >>> + >>> + cpu_relax(); >>> + } >>> + >>> + preempt_enable(); >>> + >>> + if (!rx) >>> + vhost_net_enable_vq(net, vq); >> No need to enable rx virtqueue, if we are sure handle_rx() will be >> called soon. > If we disable rx virtqueue
2018 Aug 01
2
[PATCH net-next v7 3/4] net: vhost: factor out busy polling logic to vhost_net_busy_poll()
...host_vq_avail_empty(&net->dev, vq)) { > + vhost_poll_queue(&vq->poll); > + } else if (unlikely(vhost_enable_notify(&net->dev, vq))) { > + vhost_disable_notify(&net->dev, vq); > + vhost_poll_queue(&vq->poll); > + } > +} > + > +static void vhost_net_busy_poll_check(struct vhost_net *net, > + struct vhost_virtqueue *rvq, > + struct vhost_virtqueue *tvq, > + bool rx) > +{ > + struct socket *sock = rvq->private_data; > + > + if (rx) > + vhost_net_busy_poll_try_queue(net, tvq); > + else if (sock &&...
2018 Aug 01
2
[PATCH net-next v7 3/4] net: vhost: factor out busy polling logic to vhost_net_busy_poll()
...host_vq_avail_empty(&net->dev, vq)) { > + vhost_poll_queue(&vq->poll); > + } else if (unlikely(vhost_enable_notify(&net->dev, vq))) { > + vhost_disable_notify(&net->dev, vq); > + vhost_poll_queue(&vq->poll); > + } > +} > + > +static void vhost_net_busy_poll_check(struct vhost_net *net, > + struct vhost_virtqueue *rvq, > + struct vhost_virtqueue *tvq, > + bool rx) > +{ > + struct socket *sock = rvq->private_data; > + > + if (rx) > + vhost_net_busy_poll_try_queue(net, tvq); > + else if (sock &&...
2018 Aug 03
0
[PATCH net-next v7 3/4] net: vhost: factor out busy polling logic to vhost_net_busy_poll()
...ason Wang <jasowang at redhat.com> wrote: > >> > >> > >> On 2018?08?02? 16:41, Toshiaki Makita wrote: > >>> On 2018/08/02 17:18, Jason Wang wrote: > >>>> On 2018?08?01? 17:52, Tonghao Zhang wrote: > >>>>>> +static void vhost_net_busy_poll_check(struct vhost_net *net, > >>>>>> + struct vhost_virtqueue *rvq, > >>>>>> + struct vhost_virtqueue *tvq, > >>>>>> + bool rx) > >&g...
2018 Aug 03
0
[PATCH net-next v7 3/4] net: vhost: factor out busy polling logic to vhost_net_busy_poll()
...Wang <jasowang at redhat.com> wrote: > >>>> On 2018?08?02? 16:41, Toshiaki Makita wrote: > >>>>> On 2018/08/02 17:18, Jason Wang wrote: > >>>>>> On 2018?08?01? 17:52, Tonghao Zhang wrote: > >>>>>>>> +static void vhost_net_busy_poll_check(struct vhost_net *net, > >>>>>>>> + struct vhost_virtqueue *rvq, > >>>>>>>> + struct vhost_virtqueue *tvq, > >>>>>>>> +...
2018 Aug 03
0
[PATCH net-next v7 3/4] net: vhost: factor out busy polling logic to vhost_net_busy_poll()
...redhat.com> wrote: > >>>> > >>>> On 2018?08?02? 16:41, Toshiaki Makita wrote: > >>>>> On 2018/08/02 17:18, Jason Wang wrote: > >>>>>> On 2018?08?01? 17:52, Tonghao Zhang wrote: > >>>>>>>> +static void vhost_net_busy_poll_check(struct vhost_net *net, > >>>>>>>> + struct vhost_virtqueue *rvq, > >>>>>>>> + struct vhost_virtqueue *tvq, > >>>>>>>> +...
2018 Aug 03
1
[PATCH net-next v7 3/4] net: vhost: factor out busy polling logic to vhost_net_busy_poll()
...owang at redhat.com> wrote: >>>>>> On 2018?08?02? 16:41, Toshiaki Makita wrote: >>>>>>> On 2018/08/02 17:18, Jason Wang wrote: >>>>>>>> On 2018?08?01? 17:52, Tonghao Zhang wrote: >>>>>>>>>> +static void vhost_net_busy_poll_check(struct vhost_net *net, >>>>>>>>>> + struct vhost_virtqueue *rvq, >>>>>>>>>> + struct vhost_virtqueue *tvq, >>>>>>>>>> +...
2018 Aug 01
0
[PATCH net-next v7 3/4] net: vhost: factor out busy polling logic to vhost_net_busy_poll()
...ueue(&vq->poll); > > + } else if (unlikely(vhost_enable_notify(&net->dev, vq))) { > > + vhost_disable_notify(&net->dev, vq); > > + vhost_poll_queue(&vq->poll); > > + } > > +} > > + > > +static void vhost_net_busy_poll_check(struct vhost_net *net, > > + struct vhost_virtqueue *rvq, > > + struct vhost_virtqueue *tvq, > > + bool rx) > > +{ > > + struct socket *sock = rvq->private_data...
2018 Aug 02
0
[PATCH net-next v7 3/4] net: vhost: factor out busy polling logic to vhost_net_busy_poll()
On 2018/08/02 17:18, Jason Wang wrote: > On 2018?08?01? 17:52, Tonghao Zhang wrote: >>> +static void vhost_net_busy_poll_check(struct vhost_net *net, >>> + struct vhost_virtqueue *rvq, >>> + struct vhost_virtqueue *tvq, >>> + bool rx) >>> +{ >>> + struct socket *sock = rvq-&...
2018 Aug 03
0
[PATCH net-next v7 3/4] net: vhost: factor out busy polling logic to vhost_net_busy_poll()
On Thu, Aug 2, 2018 at 5:23 PM Jason Wang <jasowang at redhat.com> wrote: > > > > On 2018?08?02? 16:41, Toshiaki Makita wrote: > > On 2018/08/02 17:18, Jason Wang wrote: > >> On 2018?08?01? 17:52, Tonghao Zhang wrote: > >>>> +static void vhost_net_busy_poll_check(struct vhost_net *net, > >>>> + struct vhost_virtqueue *rvq, > >>>> + struct vhost_virtqueue *tvq, > >>>> + bool rx) > >>>> +{ > >&...
2018 Aug 01
5
[PATCH net-next v7 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. v6->v7: fix issue and rebase codes: 1. on tx, busypoll will vhost_net_disable/enable_vq rx vq. [This is suggested by Toshiaki Makita