All of lore.kernel.org
 help / color / mirror / Atom feed
From: jiangyiwen <jiangyiwen@huawei.com>
To: Jason Wang <jasowang@redhat.com>, <stefanha@redhat.com>
Cc: <kvm@vger.kernel.org>,
	<virtualization@lists.linux-foundation.org>,
	<netdev@vger.kernel.org>
Subject: Re: [RFC] VSOCK: The performance problem of vhost_vsock.
Date: Mon, 15 Oct 2018 14:12:40 +0800	[thread overview]
Message-ID: <5BC42FD8.2070104@huawei.com> (raw)
In-Reply-To: <30d7c370-b206-cdac-dc85-53e9be1e1c63@redhat.com>

On 2018/10/15 10:33, Jason Wang wrote:
> 
> 
> On 2018年10月15日 09:43, jiangyiwen wrote:
>> Hi Stefan & All:
>>
>> Now I find vhost-vsock has two performance problems even if it
>> is not designed for performance.
>>
>> First, I think vhost-vsock should faster than vhost-net because it
>> is no TCP/IP stack, but the real test result vhost-net is 5~10
>> times than vhost-vsock, currently I am looking for the reason.
> 
> TCP/IP is not a must for vhost-net.
> 
> How do you test and compare the performance?
> 
> Thanks
> 

I test the performance used my test tool, like follows:

Server                   Client
socket()
bind()
listen()

                         socket(AF_VSOCK) or socket(AF_INET)
Accept() <-------------->connect()
                         *======Start Record Time======*
                         Call syscall sendfile()
Recv()
                         Send end
Receive end
Send(file_size)
                         Recv(file_size)
                         *======End Record Time======*

The test result, vhost-vsock is about 500MB/s, and vhost-net is about 2500MB/s.

By the way, vhost-net use single queue.

Thanks.

>> Second, vhost-vsock only supports two vqs(tx and rx), that means
>> if multiple sockets in the guest will use the same vq to transmit
>> the message and get the response. So if there are multiple applications
>> in the guest, we should support "Multiqueue" feature for Virtio-vsock.
>>
>> Stefan, have you encountered these problems?
>>
>> Thanks,
>> Yiwen.
>>
> 
> 
> .
> 

  reply	other threads:[~2018-10-15  6:12 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-15  1:43 [RFC] VSOCK: The performance problem of vhost_vsock jiangyiwen
2018-10-15  2:33 ` Jason Wang
2018-10-15  2:33 ` Jason Wang
2018-10-15  6:12   ` jiangyiwen [this message]
2018-10-17  9:27     ` jiangyiwen
2018-10-17  9:27       ` jiangyiwen
2018-10-17  9:39       ` Jason Wang
2018-10-17  9:51         ` Jason Wang
2018-10-17 11:41           ` jiangyiwen
2018-10-17 11:41             ` jiangyiwen
2018-10-17 12:31             ` Jason Wang
2018-10-18  1:22               ` jiangyiwen
2018-10-18  1:22                 ` jiangyiwen
2018-10-18  2:45                 ` Jason Wang
2018-10-18  2:45                 ` Jason Wang
2018-10-17 12:31             ` Jason Wang
2018-10-17  9:51         ` Jason Wang
2018-10-17 11:32         ` jiangyiwen
2018-10-17 11:32         ` jiangyiwen
2018-10-17  9:39       ` Jason Wang
2018-10-15  6:12   ` jiangyiwen
  -- strict thread matches above, loose matches on Subject: below --
2018-10-15  1:43 jiangyiwen

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=5BC42FD8.2070104@huawei.com \
    --to=jiangyiwen@huawei.com \
    --cc=jasowang@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=stefanha@redhat.com \
    --cc=virtualization@lists.linux-foundation.org \
    /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.