On 2018/11/6 10:41, Jason Wang wrote: > > On 2018/11/6 上午10:17, jiangyiwen wrote: >> On 2018/11/5 17:21, Jason Wang wrote: >>> On 2018/11/5 下午3:43, jiangyiwen wrote: >>>> Now vsock only support send/receive small packet, it can't achieve >>>> high performance. As previous discussed with Jason Wang, I revisit the >>>> idea of vhost-net about mergeable rx buffer and implement the mergeable >>>> rx buffer in vhost-vsock, it can allow big packet to be scattered in >>>> into different buffers and improve performance obviously. >>>> >>>> I write a tool to test the vhost-vsock performance, mainly send big >>>> packet(64K) included guest->Host and Host->Guest. The result as >>>> follows: >>>> >>>> Before performance: >>>> Single socket Multiple sockets(Max Bandwidth) >>>> Guest->Host ~400MB/s ~480MB/s >>>> Host->Guest ~1450MB/s ~1600MB/s >>>> >>>> After performance: >>>> Single socket Multiple sockets(Max Bandwidth) >>>> Guest->Host ~1700MB/s ~2900MB/s >>>> Host->Guest ~1700MB/s ~2900MB/s >>>> >>>> From the test results, the performance is improved obviously, and guest >>>> memory will not be wasted. >>> Hi: >>> >>> Thanks for the patches and the numbers are really impressive. >>> >>> But instead of duplicating codes between sock and net. I was considering to >>> use virtio-net as a transport of vsock. Then we may have all existed >>> features likes batching, mergeable rx buffers and multiqueue. Want to >>> consider this idea? Thoughts? >>> >>> >> Hi Jason, >> >> I am not very familiar with virtio-net, so I am afraid I can't give too >> much effective advice. Then I have several problems: >> >> 1. If use virtio-net as a transport, guest should see a virtio-net >> device instead of virtio-vsock device, right? Is vsock only as a >> transport between socket and net_device? User should still use >> AF_VSOCK type to create socket, right? > > > Well, there're many choices. What you need is just to keep the socket API and > hide the implementation. For example, you can keep the vosck device in guest > and switch to use vhost-net in host. We probably need a new feature bit or > header to let vhost know we are passing vsock packet. And vhost-net could > forward the packet to vsock core on host. > > >> >> 2. I want to know if this idea has already started, and how is >> the current progress? > > > Not yet started. Just want to listen from the community. If this sounds > good, do you have interest in implementing this? > > >> >> 3. And what is stefan's idea? > > > Talk with Stefan a little on this during KVM Forum. I think he tends to agree > on this idea. Anyway, let's wait for his reply. > > > Thanks > >
Hi Jason, Thanks your reply, what you want is try to avoid duplicate code, and still use the existed features with virtio-net. Yes, if this sounds good and most people can recognize this idea, I am very happy to implement this. In addition, I hope you can review these patches before the new idea is implemented, after all the performance can be improved. :-) Thanks, Yiwen. >> >> Thanks, >> Yiwen. >> > > . > _______________________________________________ Virtualization mailing list [email protected] https://lists.linuxfoundation.org/mailman/listinfo/virtualization
