All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jason Wang <jasowang@redhat.com>
To: xiangxia.m.yue@gmail.com, mst@redhat.com, makita.toshiaki@lab.ntt.co.jp
Cc: netdev@vger.kernel.org, virtualization@lists.linux-foundation.org
Subject: Re: [PATCH net-next v8 7/7] net: vhost: make busyloop_intr more accurate
Date: Tue, 21 Aug 2018 08:47:35 +0800	[thread overview]
Message-ID: <8460e039-d58e-85df-cef9-c87933f46cc2__27309.5920602374$1534812342$gmane$org@redhat.com> (raw)
In-Reply-To: <f85bfa97-ab9c-2d51-2053-1fe6bb3d45bc@redhat.com>



On 2018年08月21日 08:33, Jason Wang wrote:
>
>
> On 2018年08月19日 20:11, xiangxia.m.yue@gmail.com wrote:
>> From: Tonghao Zhang <xiangxia.m.yue@gmail.com>
>>
>> The patch uses vhost_has_work_pending() to check if
>> the specified handler is scheduled, because in the most case,
>> vhost_has_work() return true when other side handler is added
>> to worker list. Use the vhost_has_work_pending() insead of
>> vhost_has_work().
>>
>> Topology:
>> [Host] ->linux bridge -> tap vhost-net ->[Guest]
>>
>> TCP_STREAM (netperf):
>> * Without the patch:  38035.39 Mbps, 3.37 us mean latency
>> * With the patch:     38409.44 Mbps, 3.34 us mean latency
>
> The improvement is not obvious as last version. Do you imply there's 
> some recent changes of vhost that make it faster?
>

I misunderstood the numbers, please ignore this.

It shows less than 1% improvement. I'm not sure it's worth to do so. Can 
you try bi-directional pktgen to see if it has more obvious effect?

Thanks

> Thanks
>
>>
>> Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com>
>> ---
>>   drivers/vhost/net.c | 9 ++++++---
>>   1 file changed, 6 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c
>> index db63ae2..b6939ef 100644
>> --- a/drivers/vhost/net.c
>> +++ b/drivers/vhost/net.c
>> @@ -487,10 +487,8 @@ static void vhost_net_busy_poll(struct vhost_net 
>> *net,
>>       endtime = busy_clock() + busyloop_timeout;
>>         while (vhost_can_busy_poll(endtime)) {
>> -        if (vhost_has_work(&net->dev)) {
>> -            *busyloop_intr = true;
>> +        if (vhost_has_work(&net->dev))
>>               break;
>> -        }
>>             if ((sock_has_rx_data(sock) &&
>>                !vhost_vq_avail_empty(&net->dev, rvq)) ||
>> @@ -513,6 +511,11 @@ static void vhost_net_busy_poll(struct vhost_net 
>> *net,
>>           !vhost_has_work_pending(&net->dev, VHOST_NET_VQ_RX))
>>           vhost_net_enable_vq(net, rvq);
>>   +    if (vhost_has_work_pending(&net->dev,
>> +                   poll_rx ?
>> +                   VHOST_NET_VQ_RX: VHOST_NET_VQ_TX))
>> +        *busyloop_intr = true;
>> +
>>       mutex_unlock(&vq->mutex);
>>   }
>
> _______________________________________________
> Virtualization mailing list
> Virtualization@lists.linux-foundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/virtualization

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

  parent reply	other threads:[~2018-08-21  0:47 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-19 12:11 [PATCH net-next v8 0/7] net: vhost: improve performance when enable busyloop xiangxia.m.yue
2018-08-19 12:11 ` [PATCH net-next v8 1/7] net: vhost: lock the vqs one by one xiangxia.m.yue
2018-08-19 12:11 ` xiangxia.m.yue
2018-08-19 12:11 ` [PATCH net-next v8 2/7] net: vhost: replace magic number of lock annotation xiangxia.m.yue
2018-08-19 12:11 ` xiangxia.m.yue
2018-08-19 12:11 ` [PATCH net-next v8 3/7] net: vhost: factor out busy polling logic to vhost_net_busy_poll() xiangxia.m.yue
2018-08-19 12:11 ` xiangxia.m.yue
2018-08-21  3:15   ` Jason Wang
2018-09-09 10:58     ` Tonghao Zhang
2018-08-19 12:11 ` [PATCH net-next v8 4/7] net: vhost: add rx busy polling in tx path xiangxia.m.yue
2018-08-19 12:11 ` xiangxia.m.yue
2018-08-19 12:11 ` [PATCH net-next v8 5/7] net: vhost: introduce bitmap for vhost_poll xiangxia.m.yue
2018-08-19 12:11 ` xiangxia.m.yue
2018-08-21  0:45   ` Jason Wang
2018-08-21  0:45   ` Jason Wang
2018-09-09 10:58     ` Tonghao Zhang
2018-08-19 12:11 ` [PATCH net-next v8 6/7] net: vhost: disable rx wakeup during tx busypoll xiangxia.m.yue
2018-08-19 12:11 ` xiangxia.m.yue
2018-08-19 12:11 ` [PATCH net-next v8 7/7] net: vhost: make busyloop_intr more accurate xiangxia.m.yue
2018-08-21  0:33   ` Jason Wang
2018-08-21  0:47     ` Jason Wang
2020-06-01 13:26       ` Michael S. Tsirkin
2018-08-21  0:47     ` Jason Wang [this message]
2018-08-21  0:33   ` Jason Wang
2018-08-19 12:11 ` xiangxia.m.yue
2018-08-20 20:34 ` [PATCH net-next v8 0/7] net: vhost: improve performance when enable busyloop Michael S. Tsirkin
2018-08-20 20:34 ` Michael S. Tsirkin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='8460e039-d58e-85df-cef9-c87933f46cc2__27309.5920602374$1534812342$gmane$org@redhat.com' \
    --to=jasowang@redhat.com \
    --cc=makita.toshiaki@lab.ntt.co.jp \
    --cc=mst@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=xiangxia.m.yue@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.