Skip to contentSkip to conversation

The status about vhost-net on kvm-arm?

DISCUSSION Li Liu 7 participants 19 messages Aug 12, 2014 – Nov 5, 2014 1 message not in the archive KVM

lore
Share & tools
lore

Li Liu

author
#0 lore raw

Hi all,

Is anyone there can tell the current status of vhost-net on kvm-arm?

Half a year has passed from Isa Ansharullah asked this question:
http://www.spinics.net/lists/kvm-arm/msg08152.html

I have found two patches which have provided the kvm-arm support of eventfd and irqfd:

1) [RFC PATCH 0/4] ARM: KVM: Enable the ioeventfd capability of KVM on ARM
http://lists.gnu.org/archive/html/qemu-devel/2014-01/msg01770.html

2) [RFC,v3] ARM: KVM: add irqfd and irq routing support
https://patches.linaro.org/32261/

And there's a rough patch for qemu to support eventfd from Ying-Shiuan Pan:

[Qemu-devel] [PATCH 0/4] ioeventfd support for virtio-mmio
https://lists.gnu.org/archive/html/qemu-devel/2014-02/msg00715.html

But there no any comments of this patch. And I can found nothing about qemu to support irqfd. Do I lost the track?

If nobody try to fix it. We have a plan to complete it about virtio-mmio supporing irqfd and multiqueue.

#1 lore raw
Quoted 7 lines · Li Liu

Hi all,

Is anyone there can tell the current status of vhost-net on kvm-arm?

Half a year has passed from Isa Ansharullah asked this question:
http://www.spinics.net/lists/kvm-arm/msg08152.html

Quoted 8 lines

I have found two patches which have provided the kvm-arm support of eventfd and irqfd:

1) [RFC PATCH 0/4] ARM: KVM: Enable the ioeventfd capability of KVM on ARM
http://lists.gnu.org/archive/html/qemu-devel/2014-01/msg01770.html

2) [RFC,v3] ARM: KVM: add irqfd and irq routing support
https://patches.linaro.org/32261/

Hi Li,

The patch below uses Paul Mackerras' work and removed usage of GSI routing table. It is a simpler alternative to 2)
http://www.spinics.net/lists/kvm/msg106535.html

Quoted 8 lines

And there's a rough patch for qemu to support eventfd from Ying-Shiuan Pan:

[Qemu-devel] [PATCH 0/4] ioeventfd support for virtio-mmio
https://lists.gnu.org/archive/html/qemu-devel/2014-02/msg00715.html

But there no any comments of this patch. And I can found nothing about qemu to support irqfd. Do I lost the track?

Actually I am using irqfd in QEMU VFIO Platform device
https://lists.nongnu.org/archive/html/qemu-devel/2014-08/msg01455.html

Best Regards

Eric

Quoted 14 lines

If nobody try to fix it. We have a plan to complete it about virtio-mmio supporing irqfd and multiqueue.

--
To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

author
#2 lore raw
Quoted 14 lines · Eric Auger
Quoted 13 lines · Li Liu

Hi all,

Is anyone there can tell the current status of vhost-net on kvm-arm?

Half a year has passed from Isa Ansharullah asked this question:
http://www.spinics.net/lists/kvm-arm/msg08152.html

I have found two patches which have provided the kvm-arm support of eventfd and irqfd:

1) [RFC PATCH 0/4] ARM: KVM: Enable the ioeventfd capability of KVM on ARM
http://lists.gnu.org/archive/html/qemu-devel/2014-01/msg01770.html

Quoted 9 lines
Quoted 2 lines

2) [RFC,v3] ARM: KVM: add irqfd and irq routing support
https://patches.linaro.org/32261/

Hi Li,

The patch below uses Paul Mackerras' work and removed usage of GSI routing table. It is a simpler alternative to 2)
http://www.spinics.net/lists/kvm/msg106535.html

Thanks for your tips. This looks more clear.

Best Regards

Li

Quoted 33 lines
Quoted 8 lines

And there's a rough patch for qemu to support eventfd from Ying-Shiuan Pan:

[Qemu-devel] [PATCH 0/4] ioeventfd support for virtio-mmio
https://lists.gnu.org/archive/html/qemu-devel/2014-02/msg00715.html

But there no any comments of this patch. And I can found nothing about qemu to support irqfd. Do I lost the track?

Actually I am using irqfd in QEMU VFIO Platform device
https://lists.nongnu.org/archive/html/qemu-devel/2014-08/msg01455.html

Best Regards

Eric

Quoted 14 lines

If nobody try to fix it. We have a plan to complete it about virtio-mmio supporing irqfd and multiqueue.

--
To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

#3 lore raw
In reply to Li Liu

Hello,

Quoted 19 lines · Li Liu

Hi all,

Is anyone there can tell the current status of vhost-net on kvm-arm?

Half a year has passed from Isa Ansharullah asked this question:
http://www.spinics.net/lists/kvm-arm/msg08152.html

I have found two patches which have provided the kvm-arm support of eventfd and irqfd:

1) [RFC PATCH 0/4] ARM: KVM: Enable the ioeventfd capability of KVM on ARM
http://lists.gnu.org/archive/html/qemu-devel/2014-01/msg01770.html

2) [RFC,v3] ARM: KVM: add irqfd and irq routing support
https://patches.linaro.org/32261/

And there's a rough patch for qemu to support eventfd from Ying-Shiuan Pan:

Quoted 10 lines

[Qemu-devel] [PATCH 0/4] ioeventfd support for virtio-mmio
https://lists.gnu.org/archive/html/qemu-devel/2014-02/msg00715.html

But there no any comments of this patch. And I can found nothing about qemu to support irqfd. Do I lost the track?

If nobody try to fix it. We have a plan to complete it about virtio-mmio supporing irqfd and multiqueue.

we at Virtual Open Systems did some work and tested vhost-net on ARM back in March.
The setup was based on:
- host kernel with our ioeventfd patches:
http://www.spinics.net/lists/kvm-arm/msg08413.html

- qemu with the aforementioned patches from Ying-Shiuan Pan
https://lists.gnu.org/archive/html/qemu-devel/2014-02/msg00715.html

The testbed was ARM Chromebook with Exynos 5250, using a 1Gbps USB3 Ethernet adapter connected to a 1Gbps switch. I can't find the actual numbers but I remember that with multiple streams the gain was clearly seen. Note that it used the minimum required ioventfd implementation and not irqfd.

I guess it is feasible to think that it all can be put together and rebased + the recent irqfd work. One can achiev even better performance (because of the irqfd).

Quoted 9 lines

_______________________________________________
kvmarm mailing list
[email protected]
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

regards,
Nikolay Nikolaev
Virtual Open Systems

author
#4 lore raw
Quoted 40 lines · Nikolay Nikolaev

Hello,

Quoted 19 lines · Li Liu

Hi all,

Is anyone there can tell the current status of vhost-net on kvm-arm?

Half a year has passed from Isa Ansharullah asked this question:
http://www.spinics.net/lists/kvm-arm/msg08152.html

I have found two patches which have provided the kvm-arm support of eventfd and irqfd:

1) [RFC PATCH 0/4] ARM: KVM: Enable the ioeventfd capability of KVM on ARM
http://lists.gnu.org/archive/html/qemu-devel/2014-01/msg01770.html

2) [RFC,v3] ARM: KVM: add irqfd and irq routing support
https://patches.linaro.org/32261/

And there's a rough patch for qemu to support eventfd from Ying-Shiuan Pan:

Quoted 10 lines

[Qemu-devel] [PATCH 0/4] ioeventfd support for virtio-mmio
https://lists.gnu.org/archive/html/qemu-devel/2014-02/msg00715.html

But there no any comments of this patch. And I can found nothing about qemu to support irqfd. Do I lost the track?

If nobody try to fix it. We have a plan to complete it about virtio-mmio supporing irqfd and multiqueue.

we at Virtual Open Systems did some work and tested vhost-net on ARM back in March.
The setup was based on:
- host kernel with our ioeventfd patches:
http://www.spinics.net/lists/kvm-arm/msg08413.html

Quoted 9 lines

- qemu with the aforementioned patches from Ying-Shiuan Pan
https://lists.gnu.org/archive/html/qemu-devel/2014-02/msg00715.html

The testbed was ARM Chromebook with Exynos 5250, using a 1Gbps USB3 Ethernet adapter connected to a 1Gbps switch. I can't find the actual numbers but I remember that with multiple streams the gain was clearly seen. Note that it used the minimum required ioventfd implementation and not irqfd.

Yeah, we have roughly tested vhost-net without irqfd and get the same result. And now try to see what will happen with irqfd :).

Quoted 21 lines

I guess it is feasible to think that it all can be put together and rebased + the recent irqfd work. One can achiev even better performance (because of the irqfd).

Quoted 9 lines

_______________________________________________
kvmarm mailing list
[email protected]
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

regards,
Nikolay Nikolaev
Virtual Open Systems

.

#5 lore raw

I'm so glad to see my patches also work in your environment!! That's really exciting.
I'm also wondering what will happen if integrating with irqfd.

BTW, would share your performance number?

----
Best Regards,
潘穎軒 Yingshiuan Pan

2014-08-13 10:23 GMT+08:00 Li Liu <[email protected]>:

Quoted 83 lines · Nikolay Nikolaev
Quoted 16 lines

Hello,

Quoted 12 lines · Li Liu

Hi all,

Is anyone there can tell the current status of vhost-net on kvm-arm?

Half a year has passed from Isa Ansharullah asked this question:
http://www.spinics.net/lists/kvm-arm/msg08152.html

I have found two patches which have provided the kvm-arm support of eventfd and irqfd:

1) [RFC PATCH 0/4] ARM: KVM: Enable the ioeventfd capability of KVM on

ARM

Quoted 6 lines
Quoted 6 lines

http://lists.gnu.org/archive/html/qemu-devel/2014-01/msg01770.html

2) [RFC,v3] ARM: KVM: add irqfd and irq routing support
https://patches.linaro.org/32261/

And there's a rough patch for qemu to support eventfd from Ying-Shiuan

Pan:

Quoted 5 lines
Quoted 5 lines

[Qemu-devel] [PATCH 0/4] ioeventfd support for virtio-mmio
https://lists.gnu.org/archive/html/qemu-devel/2014-02/msg00715.html

But there no any comments of this patch. And I can found nothing about

qemu

Quoted 13 lines
Quoted 6 lines

to support irqfd. Do I lost the track?

If nobody try to fix it. We have a plan to complete it about virtio-mmio supporing irqfd and multiqueue.

we at Virtual Open Systems did some work and tested vhost-net on ARM back in March.
The setup was based on:
- host kernel with our ioeventfd patches:
http://www.spinics.net/lists/kvm-arm/msg08413.html

Quoted 9 lines

- qemu with the aforementioned patches from Ying-Shiuan Pan
https://lists.gnu.org/archive/html/qemu-devel/2014-02/msg00715.html

The testbed was ARM Chromebook with Exynos 5250, using a 1Gbps USB3 Ethernet adapter connected to a 1Gbps switch. I can't find the actual numbers but I remember that with multiple streams the gain was clearly seen. Note that it used the minimum required ioventfd implementation and not irqfd.

Yeah, we have roughly tested vhost-net without irqfd and get the same result. And now try to see what will happen with irqfd :).

Quoted 21 lines

I guess it is feasible to think that it all can be put together and rebased + the recent irqfd work. One can achiev even better performance (because of the irqfd).

Quoted 9 lines

_______________________________________________
kvmarm mailing list
[email protected]
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

regards,
Nikolay Nikolaev
Virtual Open Systems

.

#6 lore raw
In reply to Nikolay Nikolaev
Quoted 50 lines · Nikolay Nikolaev

Hello,

Quoted 19 lines · Li Liu

Hi all,

Is anyone there can tell the current status of vhost-net on kvm-arm?

Half a year has passed from Isa Ansharullah asked this question:
http://www.spinics.net/lists/kvm-arm/msg08152.html

I have found two patches which have provided the kvm-arm support of eventfd and irqfd:

1) [RFC PATCH 0/4] ARM: KVM: Enable the ioeventfd capability of KVM on ARM
http://lists.gnu.org/archive/html/qemu-devel/2014-01/msg01770.html

2) [RFC,v3] ARM: KVM: add irqfd and irq routing support
https://patches.linaro.org/32261/

And there's a rough patch for qemu to support eventfd from Ying-Shiuan Pan:

Quoted 10 lines

[Qemu-devel] [PATCH 0/4] ioeventfd support for virtio-mmio
https://lists.gnu.org/archive/html/qemu-devel/2014-02/msg00715.html

But there no any comments of this patch. And I can found nothing about qemu to support irqfd. Do I lost the track?

If nobody try to fix it. We have a plan to complete it about virtio-mmio supporing irqfd and multiqueue.

we at Virtual Open Systems did some work and tested vhost-net on ARM back in March.
The setup was based on:
- host kernel with our ioeventfd patches:
http://www.spinics.net/lists/kvm-arm/msg08413.html

- qemu with the aforementioned patches from Ying-Shiuan Pan
https://lists.gnu.org/archive/html/qemu-devel/2014-02/msg00715.html

The testbed was ARM Chromebook with Exynos 5250, using a 1Gbps USB3 Ethernet adapter connected to a 1Gbps switch. I can't find the actual numbers but I remember that with multiple streams the gain was clearly seen. Note that it used the minimum required ioventfd implementation and not irqfd.

Quoted 4 lines

I guess it is feasible to think that it all can be put together and rebased + the recent irqfd work. One can achiev even better performance (because of the irqfd).

Managed to replicate the setup with the old versions e used in March:

Single stream from another machine to chromebook with 1Gbps USB3 Ethernet adapter.
iperf -c <address> -P 1 -i 1 -p 5001 -f k -t 10
to HOST: 858316 Kbits/sec
to GUEST: 761563 Kbits/sec

10 parallel streams
iperf -c <address> -P 10 -i 1 -p 5001 -f k -t 10
to HOST: 842420 Kbits/sec
to GUEST: 625144 Kbits/sec

Quoted 15 lines
Quoted 10 lines

_______________________________________________
kvmarm mailing list
[email protected]
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

regards,
Nikolay Nikolaev
Virtual Open Systems

author
#7 lore raw
Quoted 65 lines · Nikolay Nikolaev
Quoted 50 lines · Nikolay Nikolaev

Hello,

Quoted 19 lines · Li Liu

Hi all,

Is anyone there can tell the current status of vhost-net on kvm-arm?

Half a year has passed from Isa Ansharullah asked this question:
http://www.spinics.net/lists/kvm-arm/msg08152.html

I have found two patches which have provided the kvm-arm support of eventfd and irqfd:

1) [RFC PATCH 0/4] ARM: KVM: Enable the ioeventfd capability of KVM on ARM
http://lists.gnu.org/archive/html/qemu-devel/2014-01/msg01770.html

2) [RFC,v3] ARM: KVM: add irqfd and irq routing support
https://patches.linaro.org/32261/

And there's a rough patch for qemu to support eventfd from Ying-Shiuan Pan:

Quoted 10 lines

[Qemu-devel] [PATCH 0/4] ioeventfd support for virtio-mmio
https://lists.gnu.org/archive/html/qemu-devel/2014-02/msg00715.html

But there no any comments of this patch. And I can found nothing about qemu to support irqfd. Do I lost the track?

If nobody try to fix it. We have a plan to complete it about virtio-mmio supporing irqfd and multiqueue.

we at Virtual Open Systems did some work and tested vhost-net on ARM back in March.
The setup was based on:
- host kernel with our ioeventfd patches:
http://www.spinics.net/lists/kvm-arm/msg08413.html

- qemu with the aforementioned patches from Ying-Shiuan Pan
https://lists.gnu.org/archive/html/qemu-devel/2014-02/msg00715.html

The testbed was ARM Chromebook with Exynos 5250, using a 1Gbps USB3 Ethernet adapter connected to a 1Gbps switch. I can't find the actual numbers but I remember that with multiple streams the gain was clearly seen. Note that it used the minimum required ioventfd implementation and not irqfd.

Quoted 4 lines

I guess it is feasible to think that it all can be put together and rebased + the recent irqfd work. One can achiev even better performance (because of the irqfd).

Managed to replicate the setup with the old versions e used in March:

Single stream from another machine to chromebook with 1Gbps USB3 Ethernet adapter.
iperf -c <address> -P 1 -i 1 -p 5001 -f k -t 10
to HOST: 858316 Kbits/sec
to GUEST: 761563 Kbits/sec

Quoted 5 lines

10 parallel streams
iperf -c <address> -P 10 -i 1 -p 5001 -f k -t 10
to HOST: 842420 Kbits/sec
to GUEST: 625144 Kbits/sec

Appreciate your work. Is it convenient for you to test the same cases without vhost=on? Then the results will show the improvement of performance clearly only with ioeventfd.

I will try to test it with a Hisilicon board which is ongoing.

Best regards

Li

Quoted 18 lines
Quoted 12 lines
Quoted 10 lines

_______________________________________________
kvmarm mailing list
[email protected]
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

Quoted 3 lines

regards,
Nikolay Nikolaev
Virtual Open Systems

.

#8 lore raw
In reply to Nikolay Nikolaev
Quoted 57 lines · Nikolay Nikolaev
Quoted 50 lines · Nikolay Nikolaev

Hello,

Quoted 19 lines · Li Liu

Hi all,

Is anyone there can tell the current status of vhost-net on kvm-arm?

Half a year has passed from Isa Ansharullah asked this question:
http://www.spinics.net/lists/kvm-arm/msg08152.html

I have found two patches which have provided the kvm-arm support of eventfd and irqfd:

1) [RFC PATCH 0/4] ARM: KVM: Enable the ioeventfd capability of KVM on ARM
http://lists.gnu.org/archive/html/qemu-devel/2014-01/msg01770.html

2) [RFC,v3] ARM: KVM: add irqfd and irq routing support
https://patches.linaro.org/32261/

And there's a rough patch for qemu to support eventfd from Ying-Shiuan Pan:

Quoted 10 lines

[Qemu-devel] [PATCH 0/4] ioeventfd support for virtio-mmio
https://lists.gnu.org/archive/html/qemu-devel/2014-02/msg00715.html

But there no any comments of this patch. And I can found nothing about qemu to support irqfd. Do I lost the track?

If nobody try to fix it. We have a plan to complete it about virtio-mmio supporing irqfd and multiqueue.

we at Virtual Open Systems did some work and tested vhost-net on ARM back in March.
The setup was based on:
- host kernel with our ioeventfd patches:
http://www.spinics.net/lists/kvm-arm/msg08413.html

- qemu with the aforementioned patches from Ying-Shiuan Pan
https://lists.gnu.org/archive/html/qemu-devel/2014-02/msg00715.html

The testbed was ARM Chromebook with Exynos 5250, using a 1Gbps USB3 Ethernet adapter connected to a 1Gbps switch. I can't find the actual numbers but I remember that with multiple streams the gain was clearly seen. Note that it used the minimum required ioventfd implementation and not irqfd.

Quoted 4 lines

I guess it is feasible to think that it all can be put together and rebased + the recent irqfd work. One can achiev even better performance (because of the irqfd).

Quoted 7 lines

Managed to replicate the setup with the old versions e used in March:

Single stream from another machine to chromebook with 1Gbps USB3 Ethernet adapter.
iperf -c <address> -P 1 -i 1 -p 5001 -f k -t 10
to HOST: 858316 Kbits/sec
to GUEST: 761563 Kbits/sec

to GUEST vhost=off: 508150 Kbits/sec

Quoted 5 lines

10 parallel streams
iperf -c <address> -P 10 -i 1 -p 5001 -f k -t 10
to HOST: 842420 Kbits/sec
to GUEST: 625144 Kbits/sec

to GUEST vhost=off: 425276 Kbits/sec

Quoted 16 lines
Quoted 16 lines
Quoted 11 lines

_______________________________________________
kvmarm mailing list
[email protected]
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

regards,
Nikolay Nikolaev
Virtual Open Systems

author
#9 lore raw
Quoted 66 lines · Nikolay Nikolaev
Quoted 57 lines · Nikolay Nikolaev
Quoted 50 lines · Nikolay Nikolaev

Hello,

Quoted 19 lines · Li Liu

Hi all,

Is anyone there can tell the current status of vhost-net on kvm-arm?

Half a year has passed from Isa Ansharullah asked this question:
http://www.spinics.net/lists/kvm-arm/msg08152.html

I have found two patches which have provided the kvm-arm support of eventfd and irqfd:

1) [RFC PATCH 0/4] ARM: KVM: Enable the ioeventfd capability of KVM on ARM
http://lists.gnu.org/archive/html/qemu-devel/2014-01/msg01770.html

2) [RFC,v3] ARM: KVM: add irqfd and irq routing support
https://patches.linaro.org/32261/

And there's a rough patch for qemu to support eventfd from Ying-Shiuan Pan:

Quoted 10 lines

[Qemu-devel] [PATCH 0/4] ioeventfd support for virtio-mmio
https://lists.gnu.org/archive/html/qemu-devel/2014-02/msg00715.html

But there no any comments of this patch. And I can found nothing about qemu to support irqfd. Do I lost the track?

If nobody try to fix it. We have a plan to complete it about virtio-mmio supporing irqfd and multiqueue.

we at Virtual Open Systems did some work and tested vhost-net on ARM back in March.
The setup was based on:
- host kernel with our ioeventfd patches:
http://www.spinics.net/lists/kvm-arm/msg08413.html

- qemu with the aforementioned patches from Ying-Shiuan Pan
https://lists.gnu.org/archive/html/qemu-devel/2014-02/msg00715.html

The testbed was ARM Chromebook with Exynos 5250, using a 1Gbps USB3 Ethernet adapter connected to a 1Gbps switch. I can't find the actual numbers but I remember that with multiple streams the gain was clearly seen. Note that it used the minimum required ioventfd implementation and not irqfd.

Quoted 4 lines

I guess it is feasible to think that it all can be put together and rebased + the recent irqfd work. One can achiev even better performance (because of the irqfd).

Quoted 7 lines

Managed to replicate the setup with the old versions e used in March:

Single stream from another machine to chromebook with 1Gbps USB3 Ethernet adapter.
iperf -c <address> -P 1 -i 1 -p 5001 -f k -t 10
to HOST: 858316 Kbits/sec
to GUEST: 761563 Kbits/sec

Quoted 7 lines

to GUEST vhost=off: 508150 Kbits/sec

Quoted 5 lines

10 parallel streams
iperf -c <address> -P 10 -i 1 -p 5001 -f k -t 10
to HOST: 842420 Kbits/sec
to GUEST: 625144 Kbits/sec

to GUEST vhost=off: 425276 Kbits/sec

I have tested the same cases on a Hisilicon board (Cortex-A15@1G) with Integrated 1Gbps Ethernet adapter.

iperf -c <address> -P 1 -i 1 -p 5001 -f M -t 10
to HOST: 906 Mbits/sec
to GUEST: 562 Mbits/sec
to GUEST vhost=off: 340 Mbits/sec

10 parallel streams, the performance gets <10% plus:
iperf -c <address> -P 10 -i 1 -p 5001 -f M -t 10 to HOST: 923 Mbits/sec
to GUEST: 592 Mbits/sec
to GUEST vhost=off: 364 Mbits/sec

I't easy to see vhost-net brings great performance improvements, almost 50%+.

Li.

Quoted 19 lines
Quoted 13 lines
Quoted 13 lines
Quoted 11 lines

_______________________________________________
kvmarm mailing list
[email protected]
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

Quoted 3 lines
Quoted 3 lines

regards,
Nikolay Nikolaev
Virtual Open Systems

.

#10 lore raw
Quoted 41 lines
Quoted 27 lines
Quoted 20 lines
Quoted 16 lines

we at Virtual Open Systems did some work and tested vhost-net on ARM back in March.
The setup was based on:
- host kernel with our ioeventfd patches:
http://www.spinics.net/lists/kvm-arm/msg08413.html

- qemu with the aforementioned patches from Ying-Shiuan Pan
https://lists.gnu.org/archive/html/qemu-devel/2014-02/msg00715.html

The testbed was ARM Chromebook with Exynos 5250, using a 1Gbps USB3 Ethernet adapter connected to a 1Gbps switch. I can't find the actual numbers but I remember that with multiple streams the gain was clearly seen. Note that it used the minimum required ioventfd implementation and not irqfd.

Quoted 4 lines

I guess it is feasible to think that it all can be put together and rebased + the recent irqfd work. One can achiev even better performance (because of the irqfd).

Quoted 7 lines

Managed to replicate the setup with the old versions e used in March:

Single stream from another machine to chromebook with 1Gbps USB3 Ethernet adapter.
iperf -c <address> -P 1 -i 1 -p 5001 -f k -t 10
to HOST: 858316 Kbits/sec
to GUEST: 761563 Kbits/sec

Quoted 6 lines

to GUEST vhost=off: 508150 Kbits/sec

Quoted 4 lines

10 parallel streams
iperf -c <address> -P 10 -i 1 -p 5001 -f k -t 10
to HOST: 842420 Kbits/sec
to GUEST: 625144 Kbits/sec

to GUEST vhost=off: 425276 Kbits/sec

I have tested the same cases on a Hisilicon board (Cortex-A15@1G) with Integrated 1Gbps Ethernet adapter.

iperf -c <address> -P 1 -i 1 -p 5001 -f M -t 10
to HOST: 906 Mbits/sec
to GUEST: 562 Mbits/sec
to GUEST vhost=off: 340 Mbits/sec

Quoted 8 lines

10 parallel streams, the performance gets <10% plus:
iperf -c <address> -P 10 -i 1 -p 5001 -f M -t 10 to HOST: 923 Mbits/sec
to GUEST: 592 Mbits/sec
to GUEST vhost=off: 364 Mbits/sec

I't easy to see vhost-net brings great performance improvements, almost 50%+.

That's pretty impressive for not even having irqfd. I guess we should renew some effort to get these patches merged upstream.

author
#11 lore raw
In reply to Li Liu

Hi Ying-Shiuan Pan,

I don't know why for missing your mail in mailbox. Sorry about that. The results of vhost-net performance have been attached in another mail.

Do you have a plan to renew your patchset to support irqfd. If not, we will try to finish it based on yours.

Quoted 120 lines · Li Liu
Quoted 66 lines · Nikolay Nikolaev
Quoted 57 lines · Nikolay Nikolaev
Quoted 50 lines · Nikolay Nikolaev

Hello,

Quoted 19 lines · Li Liu

Hi all,

Is anyone there can tell the current status of vhost-net on kvm-arm?

Half a year has passed from Isa Ansharullah asked this question:
http://www.spinics.net/lists/kvm-arm/msg08152.html

I have found two patches which have provided the kvm-arm support of eventfd and irqfd:

1) [RFC PATCH 0/4] ARM: KVM: Enable the ioeventfd capability of KVM on ARM
http://lists.gnu.org/archive/html/qemu-devel/2014-01/msg01770.html

2) [RFC,v3] ARM: KVM: add irqfd and irq routing support
https://patches.linaro.org/32261/

And there's a rough patch for qemu to support eventfd from Ying-Shiuan Pan:

Quoted 10 lines

[Qemu-devel] [PATCH 0/4] ioeventfd support for virtio-mmio
https://lists.gnu.org/archive/html/qemu-devel/2014-02/msg00715.html

But there no any comments of this patch. And I can found nothing about qemu to support irqfd. Do I lost the track?

If nobody try to fix it. We have a plan to complete it about virtio-mmio supporing irqfd and multiqueue.

we at Virtual Open Systems did some work and tested vhost-net on ARM back in March.
The setup was based on:
- host kernel with our ioeventfd patches:
http://www.spinics.net/lists/kvm-arm/msg08413.html

- qemu with the aforementioned patches from Ying-Shiuan Pan
https://lists.gnu.org/archive/html/qemu-devel/2014-02/msg00715.html

The testbed was ARM Chromebook with Exynos 5250, using a 1Gbps USB3 Ethernet adapter connected to a 1Gbps switch. I can't find the actual numbers but I remember that with multiple streams the gain was clearly seen. Note that it used the minimum required ioventfd implementation and not irqfd.

Quoted 4 lines

I guess it is feasible to think that it all can be put together and rebased + the recent irqfd work. One can achiev even better performance (because of the irqfd).

Quoted 7 lines

Managed to replicate the setup with the old versions e used in March:

Single stream from another machine to chromebook with 1Gbps USB3 Ethernet adapter.
iperf -c <address> -P 1 -i 1 -p 5001 -f k -t 10
to HOST: 858316 Kbits/sec
to GUEST: 761563 Kbits/sec

Quoted 7 lines

to GUEST vhost=off: 508150 Kbits/sec

Quoted 5 lines

10 parallel streams
iperf -c <address> -P 10 -i 1 -p 5001 -f k -t 10
to HOST: 842420 Kbits/sec
to GUEST: 625144 Kbits/sec

to GUEST vhost=off: 425276 Kbits/sec

I have tested the same cases on a Hisilicon board (Cortex-A15@1G) with Integrated 1Gbps Ethernet adapter.

iperf -c <address> -P 1 -i 1 -p 5001 -f M -t 10
to HOST: 906 Mbits/sec
to GUEST: 562 Mbits/sec
to GUEST vhost=off: 340 Mbits/sec

10 parallel streams, the performance gets <10% plus:
iperf -c <address> -P 10 -i 1 -p 5001 -f M -t 10 to HOST: 923 Mbits/sec
to GUEST: 592 Mbits/sec
to GUEST vhost=off: 364 Mbits/sec

I't easy to see vhost-net brings great performance improvements, almost 50%+.

Li.

Quoted 13 lines
Quoted 13 lines
Quoted 13 lines
Quoted 11 lines

_______________________________________________
kvmarm mailing list
[email protected]
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

Quoted 6 lines
Quoted 3 lines
Quoted 3 lines

regards,
Nikolay Nikolaev
Virtual Open Systems

.

.

#12 lore raw

Hi, Li,

It's ok, I did get those mails from mailing list. I guess it was because I did not subscribe some of mailing lists.

Currently, I think I will not have any plan to renew my patcheset since I have resigned from my previous company, I do not have Cortex-A15 platform to test/verify.

I'm fine with that, it would be great if you or someone can take it and improve it.
Thanks.

----
Best Regards,
Yingshiuan Pan

2014-08-15 11:04 GMT+08:00 Li Liu <[email protected]>:

Quoted 136 lines

Hi Ying-Shiuan Pan,

I don't know why for missing your mail in mailbox. Sorry about that. The results of vhost-net performance have been attached in another mail.

Do you have a plan to renew your patchset to support irqfd. If not, we will try to finish it based on yours.

Quoted 12 lines · Li Liu
Quoted 9 lines · Nikolay Nikolaev
Quoted 7 lines · Nikolay Nikolaev
Quoted 5 lines · Nikolay Nikolaev

Hello,

On Tue, Aug 12, 2014 at 5:41 AM, Li Liu <[email protected]>

Quoted 5 lines · wrote:
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines

Hi all,

Is anyone there can tell the current status of vhost-net on kvm-arm?

Quoted 7 lines
Quoted 7 lines
Quoted 7 lines
Quoted 7 lines
Quoted 7 lines

Half a year has passed from Isa Ansharullah asked this question:
http://www.spinics.net/lists/kvm-arm/msg08152.html

I have found two patches which have provided the kvm-arm support of eventfd and irqfd:

1) [RFC PATCH 0/4] ARM: KVM: Enable the ioeventfd capability of KVM

on ARM

Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines
Quoted 6 lines

http://lists.gnu.org/archive/html/qemu-devel/2014-01/msg01770.html

2) [RFC,v3] ARM: KVM: add irqfd and irq routing support
https://patches.linaro.org/32261/

And there's a rough patch for qemu to support eventfd from

Ying-Shiuan Pan:

Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines

[Qemu-devel] [PATCH 0/4] ioeventfd support for virtio-mmio
https://lists.gnu.org/archive/html/qemu-devel/2014-02/msg00715.html

But there no any comments of this patch. And I can found nothing

about qemu

Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines

to support irqfd. Do I lost the track?

If nobody try to fix it. We have a plan to complete it about

virtio-mmio

Quoted 82 lines
Quoted 31 lines
Quoted 24 lines
Quoted 19 lines
Quoted 3 lines

supporing irqfd and multiqueue.

we at Virtual Open Systems did some work and tested vhost-net on ARM back in March.
The setup was based on:
- host kernel with our ioeventfd patches:
http://www.spinics.net/lists/kvm-arm/msg08413.html

- qemu with the aforementioned patches from Ying-Shiuan Pan
https://lists.gnu.org/archive/html/qemu-devel/2014-02/msg00715.html

The testbed was ARM Chromebook with Exynos 5250, using a 1Gbps USB3 Ethernet adapter connected to a 1Gbps switch. I can't find the actual numbers but I remember that with multiple streams the gain was clearly seen. Note that it used the minimum required ioventfd implementation and not irqfd.

Quoted 4 lines

I guess it is feasible to think that it all can be put together and rebased + the recent irqfd work. One can achiev even better performance (because of the irqfd).

Quoted 7 lines

Managed to replicate the setup with the old versions e used in March:

Single stream from another machine to chromebook with 1Gbps USB3 Ethernet adapter.
iperf -c <address> -P 1 -i 1 -p 5001 -f k -t 10
to HOST: 858316 Kbits/sec
to GUEST: 761563 Kbits/sec

Quoted 7 lines

to GUEST vhost=off: 508150 Kbits/sec

Quoted 5 lines

10 parallel streams
iperf -c <address> -P 10 -i 1 -p 5001 -f k -t 10
to HOST: 842420 Kbits/sec
to GUEST: 625144 Kbits/sec

to GUEST vhost=off: 425276 Kbits/sec

I have tested the same cases on a Hisilicon board (Cortex-A15@1G) with Integrated 1Gbps Ethernet adapter.

iperf -c <address> -P 1 -i 1 -p 5001 -f M -t 10
to HOST: 906 Mbits/sec
to GUEST: 562 Mbits/sec
to GUEST vhost=off: 340 Mbits/sec

10 parallel streams, the performance gets <10% plus:
iperf -c <address> -P 10 -i 1 -p 5001 -f M -t 10 to HOST: 923 Mbits/sec
to GUEST: 592 Mbits/sec
to GUEST vhost=off: 364 Mbits/sec

I't easy to see vhost-net brings great performance improvements, almost 50%+.

Li.

Quoted 13 lines
Quoted 13 lines
Quoted 13 lines
Quoted 11 lines

_______________________________________________
kvmarm mailing list
[email protected]
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

Quoted 6 lines
Quoted 3 lines
Quoted 3 lines

regards,
Nikolay Nikolaev
Virtual Open Systems

.

.

#13 lore raw

Hello,

Using this Qemu patchset as well as recent irqfd work, I’ve tried to make vhost-net working on Cortex-A15.
Unfortunately, even if I can correctly generate irqs to the guest through irqfd, it seems to me that some pieces are still missing….
Indeed, virtio mmio interrupt status register (@ offset 0x60) is not updated by vhost thread, and reading it or writing to the peer interrupt ack register (offset 0x64) from the guest causes an VM exit …

After reading older posts, I understand that vhost-net with irqfd support could only work with MSI-X support :

On 01/20/2011 09:35 AM, Michael S. Tsirkin wrote:
“When MSI is off, each interrupt needs to be bounced through the io thread when it's set/cleared, so vhost-net causes more context switches and higher CPU utilization than userspace virtio which handles networking in the same thread.
“
Indeed, in case of MSI-X support, Virtio spec indicates that the ISR Status field is unused…

I understand that Vhost does not emulate a complete virtio PCI adapter but only manage virtqueue operations. However I don’t have a clear view of what is performed by Qemu and what is performed by vhost-thread…
Could someone highlight me on this point, and maybe give some clues for an implementation of Vhost with irqfd and without MSI support ???

Thanks a lot in advance.
Best regards.
Rémy

De : [email protected] [mailto:[email protected]] De la part de Yingshiuan Pan Envoyé : vendredi 15 août 2014 09:25
À : Li Liu
Cc : [email protected]; [email protected]; qemu-devel
Objet : Re: [Qemu-devel] The status about vhost-net on kvm-arm?

Hi, Li,

It's ok, I did get those mails from mailing list. I guess it was because I did not subscribe some of mailing lists.

Currently, I think I will not have any plan to renew my patcheset since I have resigned from my previous company, I do not have Cortex-A15 platform to test/verify.

I'm fine with that, it would be great if you or someone can take it and improve it. Thanks.

----
Best Regards,
Yingshiuan Pan

2014-08-15 11:04 GMT+08:00 Li Liu <[email protected]<mailto:[email protected]>>:
Hi Ying-Shiuan Pan,

I don't know why for missing your mail in mailbox. Sorry about that. The results of vhost-net performance have been attached in another mail.

Do you have a plan to renew your patchset to support irqfd. If not, we will try to finish it based on yours.

Quoted 120 lines · Li Liu
Quoted 66 lines · Nikolay Nikolaev
Quoted 57 lines · On Wed, Aug 13, 2014 at 12:10 PM, Nikolay Nikolaev…
Quoted 50 lines · On Tue, Aug 12, 2014 at 6:47 PM, Nikolay Nikolaev…

Hello,

Quoted 19 lines · On Tue, Aug 12, 2014 at 5:41 AM, Li Liu <[email protected]<mailto:john.liul…

Hi all,

Is anyone there can tell the current status of vhost-net on kvm-arm?

Half a year has passed from Isa Ansharullah asked this question:
http://www.spinics.net/lists/kvm-arm/msg08152.html

I have found two patches which have provided the kvm-arm support of eventfd and irqfd:

1) [RFC PATCH 0/4] ARM: KVM: Enable the ioeventfd capability of KVM on ARM
http://lists.gnu.org/archive/html/qemu-devel/2014-01/msg01770.html

2) [RFC,v3] ARM: KVM: add irqfd and irq routing support
https://patches.linaro.org/32261/

And there's a rough patch for qemu to support eventfd from Ying-Shiuan Pan:

Quoted 10 lines

[Qemu-devel] [PATCH 0/4] ioeventfd support for virtio-mmio
https://lists.gnu.org/archive/html/qemu-devel/2014-02/msg00715.html

But there no any comments of this patch. And I can found nothing about qemu to support irqfd. Do I lost the track?

If nobody try to fix it. We have a plan to complete it about virtio-mmio supporing irqfd and multiqueue.

we at Virtual Open Systems did some work and tested vhost-net on ARM back in March.
The setup was based on:
- host kernel with our ioeventfd patches:
http://www.spinics.net/lists/kvm-arm/msg08413.html

- qemu with the aforementioned patches from Ying-Shiuan Pan
https://lists.gnu.org/archive/html/qemu-devel/2014-02/msg00715.html

The testbed was ARM Chromebook with Exynos 5250, using a 1Gbps USB3 Ethernet adapter connected to a 1Gbps switch. I can't find the actual numbers but I remember that with multiple streams the gain was clearly seen. Note that it used the minimum required ioventfd implementation and not irqfd.

Quoted 4 lines

I guess it is feasible to think that it all can be put together and rebased + the recent irqfd work. One can achiev even better performance (because of the irqfd).

Quoted 7 lines

Managed to replicate the setup with the old versions e used in March:

Single stream from another machine to chromebook with 1Gbps USB3 Ethernet adapter.
iperf -c <address> -P 1 -i 1 -p 5001 -f k -t 10
to HOST: 858316 Kbits/sec
to GUEST: 761563 Kbits/sec

Quoted 7 lines

to GUEST vhost=off: 508150 Kbits/sec

Quoted 5 lines

10 parallel streams
iperf -c <address> -P 10 -i 1 -p 5001 -f k -t 10
to HOST: 842420 Kbits/sec
to GUEST: 625144 Kbits/sec

to GUEST vhost=off: 425276 Kbits/sec

I have tested the same cases on a Hisilicon board (Cortex-A15@1G) with Integrated 1Gbps Ethernet adapter.

iperf -c <address> -P 1 -i 1 -p 5001 -f M -t 10
to HOST: 906 Mbits/sec
to GUEST: 562 Mbits/sec
to GUEST vhost=off: 340 Mbits/sec

10 parallel streams, the performance gets <10% plus:
iperf -c <address> -P 10 -i 1 -p 5001 -f M -t 10 to HOST: 923 Mbits/sec
to GUEST: 592 Mbits/sec
to GUEST vhost=off: 364 Mbits/sec

I't easy to see vhost-net brings great performance improvements, almost 50%+.

Li.

Quoted 13 lines
Quoted 13 lines
Quoted 13 lines
Quoted 11 lines

_______________________________________________
kvmarm mailing list [email protected]<mailto:[email protected]>
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

Quoted 6 lines
Quoted 3 lines
Quoted 3 lines

regards,
Nikolay Nikolaev
Virtual Open Systems

.

.

author
#14 lore raw
Quoted 6 lines · On 2014/10/15 22:39, GAUGUEY Rémy 228890 wrote:

Hello,

Using this Qemu patchset as well as recent irqfd work, I’ve tried to make vhost-net working on Cortex-A15.
Unfortunately, even if I can correctly generate irqs to the guest through irqfd, it seems to me that some pieces are still missing….
Indeed, virtio mmio interrupt status register (@ offset 0x60) is not updated by vhost thread, and reading it or writing to the peer interrupt ack register (offset 0x64) from the guest causes an VM exit …

Yeah, you are correct. But it's not far away from success if have injected irqs to the guest through irqfd. Do below things to let guest receive packets correctly without checking VIRTIO_MMIO_INTERRUPT_STATUS in guest virtio_mmio.c:

static irqreturn_t vm_interrupt(int irq, void *opaque)

{
	......

	/* Read and acknowledge interrupts */
	/*status = readl(vm_dev->base + VIRTIO_MMIO_INTERRUPT_STATUS);
	writel(status, vm_dev->base + VIRTIO_MMIO_INTERRUPT_ACK);

	if (unlikely(status & VIRTIO_MMIO_INT_CONFIG)
			&& vdrv && vdrv->config_changed) {
		vdrv->config_changed(&vm_dev->vdev);
		ret = IRQ_HANDLED;
	}*/

	//if (likely(status & VIRTIO_MMIO_INT_VRING)) {
		spin_lock_irqsave(&vm_dev->lock, flags);
		list_for_each_entry(info, &vm_dev->virtqueues, node)
			ret |= vring_interrupt(irq, info->vq);
		spin_unlock_irqrestore(&vm_dev->lock, flags);
	//}

	return ret;
}

This is very roughly :), and a lot of coding things need to be done.

Li.

Quoted 168 lines

After reading older posts, I understand that vhost-net with irqfd support could only work with MSI-X support :

On 01/20/2011 09:35 AM, Michael S. Tsirkin wrote:
“When MSI is off, each interrupt needs to be bounced through the io thread when it's set/cleared, so vhost-net causes more context switches and higher CPU utilization than userspace virtio which handles networking in the same thread.
“
Indeed, in case of MSI-X support, Virtio spec indicates that the ISR Status field is unused…

I understand that Vhost does not emulate a complete virtio PCI adapter but only manage virtqueue operations. However I don’t have a clear view of what is performed by Qemu and what is performed by vhost-thread…
Could someone highlight me on this point, and maybe give some clues for an implementation of Vhost with irqfd and without MSI support ???

Thanks a lot in advance.
Best regards.
Rémy

De : [email protected] [mailto:[email protected]] De la part de Yingshiuan Pan Envoyé : vendredi 15 août 2014 09:25
À : Li Liu
Cc : [email protected]; [email protected]; qemu-devel
Objet : Re: [Qemu-devel] The status about vhost-net on kvm-arm?

Hi, Li,

It's ok, I did get those mails from mailing list. I guess it was because I did not subscribe some of mailing lists.

Currently, I think I will not have any plan to renew my patcheset since I have resigned from my previous company, I do not have Cortex-A15 platform to test/verify.

I'm fine with that, it would be great if you or someone can take it and improve it. Thanks.

----
Best Regards,
Yingshiuan Pan

2014-08-15 11:04 GMT+08:00 Li Liu <[email protected]<mailto:[email protected]>>:
Hi Ying-Shiuan Pan,

I don't know why for missing your mail in mailbox. Sorry about that. The results of vhost-net performance have been attached in another mail.

Do you have a plan to renew your patchset to support irqfd. If not, we will try to finish it based on yours.

Quoted 120 lines · Li Liu
Quoted 66 lines · Nikolay Nikolaev
Quoted 57 lines · On Wed, Aug 13, 2014 at 12:10 PM, Nikolay Nikolaev…
Quoted 50 lines · On Tue, Aug 12, 2014 at 6:47 PM, Nikolay Nikolaev…

Hello,

Quoted 19 lines · On Tue, Aug 12, 2014 at 5:41 AM, Li Liu <[email protected]<mailto:john.liul…

Hi all,

Is anyone there can tell the current status of vhost-net on kvm-arm?

Half a year has passed from Isa Ansharullah asked this question:
http://www.spinics.net/lists/kvm-arm/msg08152.html

I have found two patches which have provided the kvm-arm support of eventfd and irqfd:

1) [RFC PATCH 0/4] ARM: KVM: Enable the ioeventfd capability of KVM on ARM
http://lists.gnu.org/archive/html/qemu-devel/2014-01/msg01770.html

2) [RFC,v3] ARM: KVM: add irqfd and irq routing support
https://patches.linaro.org/32261/

And there's a rough patch for qemu to support eventfd from Ying-Shiuan Pan:

Quoted 10 lines

[Qemu-devel] [PATCH 0/4] ioeventfd support for virtio-mmio
https://lists.gnu.org/archive/html/qemu-devel/2014-02/msg00715.html

But there no any comments of this patch. And I can found nothing about qemu to support irqfd. Do I lost the track?

If nobody try to fix it. We have a plan to complete it about virtio-mmio supporing irqfd and multiqueue.

we at Virtual Open Systems did some work and tested vhost-net on ARM back in March.
The setup was based on:
- host kernel with our ioeventfd patches:
http://www.spinics.net/lists/kvm-arm/msg08413.html

- qemu with the aforementioned patches from Ying-Shiuan Pan
https://lists.gnu.org/archive/html/qemu-devel/2014-02/msg00715.html

The testbed was ARM Chromebook with Exynos 5250, using a 1Gbps USB3 Ethernet adapter connected to a 1Gbps switch. I can't find the actual numbers but I remember that with multiple streams the gain was clearly seen. Note that it used the minimum required ioventfd implementation and not irqfd.

Quoted 4 lines

I guess it is feasible to think that it all can be put together and rebased + the recent irqfd work. One can achiev even better performance (because of the irqfd).

Quoted 7 lines

Managed to replicate the setup with the old versions e used in March:

Single stream from another machine to chromebook with 1Gbps USB3 Ethernet adapter.
iperf -c <address> -P 1 -i 1 -p 5001 -f k -t 10
to HOST: 858316 Kbits/sec
to GUEST: 761563 Kbits/sec

Quoted 7 lines

to GUEST vhost=off: 508150 Kbits/sec

Quoted 5 lines

10 parallel streams
iperf -c <address> -P 10 -i 1 -p 5001 -f k -t 10
to HOST: 842420 Kbits/sec
to GUEST: 625144 Kbits/sec

to GUEST vhost=off: 425276 Kbits/sec

I have tested the same cases on a Hisilicon board (Cortex-A15@1G) with Integrated 1Gbps Ethernet adapter.

iperf -c <address> -P 1 -i 1 -p 5001 -f M -t 10
to HOST: 906 Mbits/sec
to GUEST: 562 Mbits/sec
to GUEST vhost=off: 340 Mbits/sec

10 parallel streams, the performance gets <10% plus:
iperf -c <address> -P 10 -i 1 -p 5001 -f M -t 10 to HOST: 923 Mbits/sec
to GUEST: 592 Mbits/sec
to GUEST vhost=off: 364 Mbits/sec

I't easy to see vhost-net brings great performance improvements, almost 50%+.

Li.

Quoted 13 lines
Quoted 13 lines
Quoted 13 lines
Quoted 11 lines

_______________________________________________
kvmarm mailing list [email protected]<mailto:[email protected]>
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

Quoted 6 lines
Quoted 3 lines
Quoted 3 lines

regards,
Nikolay Nikolaev
Virtual Open Systems

.

.

#15 lore raw

Thanks for your feedback,

Quoted 23 lines
static irqreturn_t vm_interrupt(int irq, void *opaque) {
	......

	/* Read and acknowledge interrupts */
	/*status = readl(vm_dev->base + VIRTIO_MMIO_INTERRUPT_STATUS);
	writel(status, vm_dev->base + VIRTIO_MMIO_INTERRUPT_ACK);

	if (unlikely(status & VIRTIO_MMIO_INT_CONFIG)
			&& vdrv && vdrv->config_changed) {
		vdrv->config_changed(&vm_dev->vdev);
		ret = IRQ_HANDLED;
	}*/

	//if (likely(status & VIRTIO_MMIO_INT_VRING)) {
		spin_lock_irqsave(&vm_dev->lock, flags);
		list_for_each_entry(info, &vm_dev->virtqueues, node)
			ret |= vring_interrupt(irq, info->vq);
		spin_unlock_irqrestore(&vm_dev->lock, flags);
	//}

	return ret;
}
Quoted 1 line

This is very roughly :), and a lot of coding things need to be done.

I agree ;-)
Anyway, with this "workaround" you disable the control plane interrupt, which is needed to bring up/down the virtio link... unless VIRTIO_NET_F_STATUS feature is off. I was thinking about connecting those 2 registers to an ioeventfd in order to emulate them in Vhost and bypass Qemu... but AFAIK ioeventfd can only work with "write" registers. Any idea for a long term solution ?

best regards.
Rémy

-----Message d'origine-----
De : Li Liu [mailto:[email protected]]
Envoyé : vendredi 17 octobre 2014 14:27
À : GAUGUEY Rémy 228890; Yingshiuan Pan
Cc : [email protected]; [email protected]; qemu-devel Objet : Re: [Qemu-devel] The status about vhost-net on kvm-arm?

Quoted 9 lines · On 2014/10/15 22:39, GAUGUEY Rémy 228890 wrote:

Hello,

Using this Qemu patchset as well as recent irqfd work, I’ve tried to make vhost-net working on Cortex-A15. Unfortunately, even if I can correctly generate irqs to the guest through irqfd, it seems to me that some pieces are still missing…. Indeed, virtio mmio interrupt status register (@ offset 0x60) is not
updated by vhost thread, and reading it or writing to the peer
interrupt ack register (offset 0x64) from the guest causes an VM exit
…

Yeah, you are correct. But it's not far away from success if have injected irqs to the guest through irqfd. Do below things to let guest receive packets correctly without checking VIRTIO_MMIO_INTERRUPT_STATUS in guest virtio_mmio.c:

static irqreturn_t vm_interrupt(int irq, void *opaque) {
	......

	/* Read and acknowledge interrupts */
	/*status = readl(vm_dev->base + VIRTIO_MMIO_INTERRUPT_STATUS);
	writel(status, vm_dev->base + VIRTIO_MMIO_INTERRUPT_ACK);

	if (unlikely(status & VIRTIO_MMIO_INT_CONFIG)
			&& vdrv && vdrv->config_changed) {
		vdrv->config_changed(&vm_dev->vdev);
		ret = IRQ_HANDLED;
	}*/

	//if (likely(status & VIRTIO_MMIO_INT_VRING)) {
		spin_lock_irqsave(&vm_dev->lock, flags);
		list_for_each_entry(info, &vm_dev->virtqueues, node)
			ret |= vring_interrupt(irq, info->vq);
		spin_unlock_irqrestore(&vm_dev->lock, flags);
	//}

	return ret;
}

This is very roughly :), and a lot of coding things need to be done.

Li.

Quoted 167 lines

After reading older posts, I understand that vhost-net with irqfd support could only work with MSI-X support :

On 01/20/2011 09:35 AM, Michael S. Tsirkin wrote:
“When MSI is off, each interrupt needs to be bounced through the io
thread when it's set/cleared, so vhost-net causes more context switches and higher CPU utilization than userspace virtio which handles networking in the same thread. “
Indeed, in case of MSI-X support, Virtio spec indicates that the ISR
Status field is unused…

I understand that Vhost does not emulate a complete virtio PCI adapter but only manage virtqueue operations.
However I don’t have a clear view of what is performed by Qemu and
what is performed by vhost-thread… Could someone highlight me on this point, and maybe give some clues for an implementation of Vhost with irqfd and without MSI support ???

Thanks a lot in advance.
Best regards.
Rémy

De : [email protected] [mailto:[email protected]] De la part de Yingshiuan Pan Envoyé : vendredi 15 août 2014 09:25 À : Li Liu Cc :
[email protected]; [email protected]; qemu-devel Objet :
Re: [Qemu-devel] The status about vhost-net on kvm-arm?

Hi, Li,

It's ok, I did get those mails from mailing list. I guess it was because I did not subscribe some of mailing lists.

Currently, I think I will not have any plan to renew my patcheset since I have resigned from my previous company, I do not have Cortex-A15 platform to test/verify.

I'm fine with that, it would be great if you or someone can take it and improve it. Thanks.

----
Best Regards,
Yingshiuan Pan

2014-08-15 11:04 GMT+08:00 Li Liu <[email protected]<mailto:[email protected]>>:
Hi Ying-Shiuan Pan,

I don't know why for missing your mail in mailbox. Sorry about that. The results of vhost-net performance have been attached in another mail.

Do you have a plan to renew your patchset to support irqfd. If not, we will try to finish it based on yours.

Quoted 118 lines · Li Liu
Quoted 69 lines · Nikolay Nikolaev
Quoted 61 lines · On Wed, Aug 13, 2014 at 12:10 PM, Nikolay Nikolaev…
Quoted 54 lines · On Tue, Aug 12, 2014 at 6:47 PM, Nikolay Nikolaev…

Hello,

Quoted 25 lines · On Tue, Aug 12, 2014 at 5:41 AM, Li Liu <[email protected]<mailto:john.liul…

Hi all,

Is anyone there can tell the current status of vhost-net on kvm-arm?

Half a year has passed from Isa Ansharullah asked this question:
http://www.spinics.net/lists/kvm-arm/msg08152.html

I have found two patches which have provided the kvm-arm support of eventfd and irqfd:

1) [RFC PATCH 0/4] ARM: KVM: Enable the ioeventfd capability of KVM on ARM
http://lists.gnu.org/archive/html/qemu-devel/2014-01/msg01770.htm
l

2) [RFC,v3] ARM: KVM: add irqfd and irq routing support
https://patches.linaro.org/32261/

And there's a rough patch for qemu to support eventfd from Ying-Shiuan Pan:

[Qemu-devel] [PATCH 0/4] ioeventfd support for virtio-mmio
https://lists.gnu.org/archive/html/qemu-devel/2014-02/msg00715.ht
ml

Quoted 7 lines

But there no any comments of this patch. And I can found nothing about qemu to support irqfd. Do I lost the track?

If nobody try to fix it. We have a plan to complete it about virtio-mmio supporing irqfd and multiqueue.

we at Virtual Open Systems did some work and tested vhost-net on ARM back in March.
The setup was based on:
- host kernel with our ioeventfd patches:
http://www.spinics.net/lists/kvm-arm/msg08413.html

- qemu with the aforementioned patches from Ying-Shiuan Pan
https://lists.gnu.org/archive/html/qemu-devel/2014-02/msg00715.htm
l

The testbed was ARM Chromebook with Exynos 5250, using a 1Gbps USB3 Ethernet adapter connected to a 1Gbps switch. I can't find the actual numbers but I remember that with multiple streams the gain was clearly seen. Note that it used the minimum required ioventfd implementation and not irqfd.

Quoted 4 lines

I guess it is feasible to think that it all can be put together and rebased + the recent irqfd work. One can achiev even better performance (because of the irqfd).

Quoted 6 lines

Managed to replicate the setup with the old versions e used in March:

Single stream from another machine to chromebook with 1Gbps USB3 Ethernet adapter.
iperf -c <address> -P 1 -i 1 -p 5001 -f k -t 10 to HOST: 858316 Kbits/sec to GUEST: 761563 Kbits/sec

Quoted 6 lines

to GUEST vhost=off: 508150 Kbits/sec

Quoted 4 lines

10 parallel streams
iperf -c <address> -P 10 -i 1 -p 5001 -f k -t 10 to HOST: 842420 Kbits/sec to GUEST: 625144 Kbits/sec

to GUEST vhost=off: 425276 Kbits/sec

I have tested the same cases on a Hisilicon board (Cortex-A15@1G) with Integrated 1Gbps Ethernet adapter.

iperf -c <address> -P 1 -i 1 -p 5001 -f M -t 10 to HOST: 906 Mbits/sec to GUEST: 562 Mbits/sec to GUEST vhost=off: 340 Mbits/sec

10 parallel streams, the performance gets <10% plus:
iperf -c <address> -P 10 -i 1 -p 5001 -f M -t 10 to HOST: 923 Mbits/sec to GUEST: 592 Mbits/sec to GUEST vhost=off: 364 Mbits/sec

I't easy to see vhost-net brings great performance improvements, almost 50%+.

Li.

Quoted 13 lines
Quoted 13 lines
Quoted 13 lines
Quoted 11 lines

_______________________________________________
kvmarm mailing list [email protected]<mailto:[email protected]>
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

Quoted 6 lines
Quoted 3 lines
Quoted 3 lines

regards,
Nikolay Nikolaev
Virtual Open Systems

.

.

author
#16 lore raw
Quoted 25 lines · On 2014/10/17 20:49, GAUGUEY Rémy 228890 wrote:

Thanks for your feedback,

Quoted 23 lines
static irqreturn_t vm_interrupt(int irq, void *opaque) {
	......

	/* Read and acknowledge interrupts */
	/*status = readl(vm_dev->base + VIRTIO_MMIO_INTERRUPT_STATUS);
	writel(status, vm_dev->base + VIRTIO_MMIO_INTERRUPT_ACK);

	if (unlikely(status & VIRTIO_MMIO_INT_CONFIG)
			&& vdrv && vdrv->config_changed) {
		vdrv->config_changed(&vm_dev->vdev);
		ret = IRQ_HANDLED;
	}*/

	//if (likely(status & VIRTIO_MMIO_INT_VRING)) {
		spin_lock_irqsave(&vm_dev->lock, flags);
		list_for_each_entry(info, &vm_dev->virtqueues, node)
			ret |= vring_interrupt(irq, info->vq);
		spin_unlock_irqrestore(&vm_dev->lock, flags);
	//}

	return ret;
}
Quoted 7 lines
Quoted 1 line

This is very roughly :), and a lot of coding things need to be done.

I agree ;-)
Anyway, with this "workaround" you disable the control plane interrupt, which is needed to bring up/down the virtio link... unless VIRTIO_NET_F_STATUS feature is off. I was thinking about connecting those 2 registers to an ioeventfd in order to emulate them in Vhost and bypass Qemu... but AFAIK ioeventfd can only work with "write" registers. Any idea for a long term solution ?

Yes, how to emulate mis-x is the point and I also sleep on it. Anyone have good ideas?

Li.

Quoted 220 lines

best regards.
Rémy

-----Message d'origine-----
De : Li Liu [mailto:[email protected]]
Envoyé : vendredi 17 octobre 2014 14:27
À : GAUGUEY Rémy 228890; Yingshiuan Pan
Cc : [email protected]; [email protected]; qemu-devel Objet : Re: [Qemu-devel] The status about vhost-net on kvm-arm?

Quoted 9 lines · On 2014/10/15 22:39, GAUGUEY Rémy 228890 wrote:

Hello,

Using this Qemu patchset as well as recent irqfd work, I’ve tried to make vhost-net working on Cortex-A15. Unfortunately, even if I can correctly generate irqs to the guest through irqfd, it seems to me that some pieces are still missing…. Indeed, virtio mmio interrupt status register (@ offset 0x60) is not
updated by vhost thread, and reading it or writing to the peer
interrupt ack register (offset 0x64) from the guest causes an VM exit
…

Yeah, you are correct. But it's not far away from success if have injected irqs to the guest through irqfd. Do below things to let guest receive packets correctly without checking VIRTIO_MMIO_INTERRUPT_STATUS in guest virtio_mmio.c:

static irqreturn_t vm_interrupt(int irq, void *opaque) {
	......

	/* Read and acknowledge interrupts */
	/*status = readl(vm_dev->base + VIRTIO_MMIO_INTERRUPT_STATUS);
	writel(status, vm_dev->base + VIRTIO_MMIO_INTERRUPT_ACK);

	if (unlikely(status & VIRTIO_MMIO_INT_CONFIG)
			&& vdrv && vdrv->config_changed) {
		vdrv->config_changed(&vm_dev->vdev);
		ret = IRQ_HANDLED;
	}*/

	//if (likely(status & VIRTIO_MMIO_INT_VRING)) {
		spin_lock_irqsave(&vm_dev->lock, flags);
		list_for_each_entry(info, &vm_dev->virtqueues, node)
			ret |= vring_interrupt(irq, info->vq);
		spin_unlock_irqrestore(&vm_dev->lock, flags);
	//}

	return ret;
}

This is very roughly :), and a lot of coding things need to be done.

Li.

Quoted 167 lines

After reading older posts, I understand that vhost-net with irqfd support could only work with MSI-X support :

On 01/20/2011 09:35 AM, Michael S. Tsirkin wrote:
“When MSI is off, each interrupt needs to be bounced through the io
thread when it's set/cleared, so vhost-net causes more context switches and higher CPU utilization than userspace virtio which handles networking in the same thread. “
Indeed, in case of MSI-X support, Virtio spec indicates that the ISR
Status field is unused…

I understand that Vhost does not emulate a complete virtio PCI adapter but only manage virtqueue operations.
However I don’t have a clear view of what is performed by Qemu and
what is performed by vhost-thread… Could someone highlight me on this point, and maybe give some clues for an implementation of Vhost with irqfd and without MSI support ???

Thanks a lot in advance.
Best regards.
Rémy

De : [email protected] [mailto:[email protected]] De la part de Yingshiuan Pan Envoyé : vendredi 15 août 2014 09:25 À : Li Liu Cc :
[email protected]; [email protected]; qemu-devel Objet :
Re: [Qemu-devel] The status about vhost-net on kvm-arm?

Hi, Li,

It's ok, I did get those mails from mailing list. I guess it was because I did not subscribe some of mailing lists.

Currently, I think I will not have any plan to renew my patcheset since I have resigned from my previous company, I do not have Cortex-A15 platform to test/verify.

I'm fine with that, it would be great if you or someone can take it and improve it. Thanks.

----
Best Regards,
Yingshiuan Pan

2014-08-15 11:04 GMT+08:00 Li Liu <[email protected]<mailto:[email protected]>>:
Hi Ying-Shiuan Pan,

I don't know why for missing your mail in mailbox. Sorry about that. The results of vhost-net performance have been attached in another mail.

Do you have a plan to renew your patchset to support irqfd. If not, we will try to finish it based on yours.

Quoted 118 lines · Li Liu
Quoted 69 lines · Nikolay Nikolaev
Quoted 61 lines · On Wed, Aug 13, 2014 at 12:10 PM, Nikolay Nikolaev…
Quoted 54 lines · On Tue, Aug 12, 2014 at 6:47 PM, Nikolay Nikolaev…

Hello,

Quoted 25 lines · On Tue, Aug 12, 2014 at 5:41 AM, Li Liu <[email protected]<mailto:john.liul…

Hi all,

Is anyone there can tell the current status of vhost-net on kvm-arm?

Half a year has passed from Isa Ansharullah asked this question:
http://www.spinics.net/lists/kvm-arm/msg08152.html

I have found two patches which have provided the kvm-arm support of eventfd and irqfd:

1) [RFC PATCH 0/4] ARM: KVM: Enable the ioeventfd capability of KVM on ARM
http://lists.gnu.org/archive/html/qemu-devel/2014-01/msg01770.htm
l

2) [RFC,v3] ARM: KVM: add irqfd and irq routing support
https://patches.linaro.org/32261/

And there's a rough patch for qemu to support eventfd from Ying-Shiuan Pan:

[Qemu-devel] [PATCH 0/4] ioeventfd support for virtio-mmio
https://lists.gnu.org/archive/html/qemu-devel/2014-02/msg00715.ht
ml

Quoted 7 lines

But there no any comments of this patch. And I can found nothing about qemu to support irqfd. Do I lost the track?

If nobody try to fix it. We have a plan to complete it about virtio-mmio supporing irqfd and multiqueue.

we at Virtual Open Systems did some work and tested vhost-net on ARM back in March.
The setup was based on:
- host kernel with our ioeventfd patches:
http://www.spinics.net/lists/kvm-arm/msg08413.html

- qemu with the aforementioned patches from Ying-Shiuan Pan
https://lists.gnu.org/archive/html/qemu-devel/2014-02/msg00715.htm
l

The testbed was ARM Chromebook with Exynos 5250, using a 1Gbps USB3 Ethernet adapter connected to a 1Gbps switch. I can't find the actual numbers but I remember that with multiple streams the gain was clearly seen. Note that it used the minimum required ioventfd implementation and not irqfd.

Quoted 4 lines

I guess it is feasible to think that it all can be put together and rebased + the recent irqfd work. One can achiev even better performance (because of the irqfd).

Quoted 6 lines

Managed to replicate the setup with the old versions e used in March:

Single stream from another machine to chromebook with 1Gbps USB3 Ethernet adapter.
iperf -c <address> -P 1 -i 1 -p 5001 -f k -t 10 to HOST: 858316 Kbits/sec to GUEST: 761563 Kbits/sec

Quoted 6 lines

to GUEST vhost=off: 508150 Kbits/sec

Quoted 4 lines

10 parallel streams
iperf -c <address> -P 10 -i 1 -p 5001 -f k -t 10 to HOST: 842420 Kbits/sec to GUEST: 625144 Kbits/sec

to GUEST vhost=off: 425276 Kbits/sec

I have tested the same cases on a Hisilicon board (Cortex-A15@1G) with Integrated 1Gbps Ethernet adapter.

iperf -c <address> -P 1 -i 1 -p 5001 -f M -t 10 to HOST: 906 Mbits/sec to GUEST: 562 Mbits/sec to GUEST vhost=off: 340 Mbits/sec

10 parallel streams, the performance gets <10% plus:
iperf -c <address> -P 10 -i 1 -p 5001 -f M -t 10 to HOST: 923 Mbits/sec to GUEST: 592 Mbits/sec to GUEST vhost=off: 364 Mbits/sec

I't easy to see vhost-net brings great performance improvements, almost 50%+.

Li.

Quoted 13 lines
Quoted 13 lines
Quoted 13 lines
Quoted 11 lines

_______________________________________________
kvmarm mailing list [email protected]<mailto:[email protected]>
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

Quoted 6 lines
Quoted 3 lines
Quoted 3 lines

regards,
Nikolay Nikolaev
Virtual Open Systems

.

.

A message that is not in the archive (sent off-list or not yet received): 43311_1413383979_543E872B_43311_6388_1_022C7612790E20489F80A6F0D54B849F3B25B51A@EXDAG0-B3.intra.cea.fr

#18 lore raw

Hello,

Using this Qemu patchset as well as recent irqfd work, I’ve tried to make vhost-net working on Cortex-A15.
Unfortunately, even if I can correctly generate irqs to the guest through irqfd, it seems to me that some pieces are still missing….
Indeed, virtio mmio interrupt status register (@ offset 0x60) is not updated by vhost thread, and reading it or writing to the peer interrupt ack register (offset 0x64) from the guest causes an VM exit …

After reading older posts, I understand that vhost-net with irqfd support could only work with MSI-X support :
On 01/20/2011 09:35 AM, Michael S. Tsirkin wrote:
“When MSI is off, each interrupt needs to be bounced through the io thread when it's set/cleared, so vhost-net causes more context switches and higher CPU utilization than userspace virtio which handles networking in the same thread.
“
Indeed, in case of MSI-X support, Virtio spec indicates that the ISR Status field is unused…

I understand that Vhost does not emulate a complete virtio PCI adapter but only manage virtqueue operations. However I don’t have a clear view of what is performed by Qemu and what is performed by vhost-thread…
Could someone highlight me on this point, and maybe give some clues for an implementation of Vhost with irqfd and without MSI support ???

Thanks a lot in advance.
Best regards.
Rémy

De : [email protected] [mailto:[email protected]] De la part de Yingshiuan Pan Envoyé : vendredi 15 août 2014 09:25
À : Li Liu
Cc : [email protected]; [email protected]; qemu-devel
Objet : Re: [Qemu-devel] The status about vhost-net on kvm-arm?

Hi, Li,

It's ok, I did get those mails from mailing list. I guess it was because I did not subscribe some of mailing lists.

Currently, I think I will not have any plan to renew my patcheset since I have resigned from my previous company, I do not have Cortex-A15 platform to test/verify.

I'm fine with that, it would be great if you or someone can take it and improve it. Thanks.

----
Best Regards,
Yingshiuan Pan

2014-08-15 11:04 GMT+08:00 Li Liu <[email protected]>:
Hi Ying-Shiuan Pan,

I don't know why for missing your mail in mailbox. Sorry about that. The results of vhost-net performance have been attached in another mail.

Do you have a plan to renew your patchset to support irqfd. If not, we will try to finish it based on yours.

Quoted 120 lines · Li Liu
Quoted 66 lines · Nikolay Nikolaev
Quoted 57 lines · Nikolay Nikolaev
Quoted 50 lines · Nikolay Nikolaev

Hello,

Quoted 19 lines · Li Liu

Hi all,

Is anyone there can tell the current status of vhost-net on kvm-arm?

Half a year has passed from Isa Ansharullah asked this question:
http://www.spinics.net/lists/kvm-arm/msg08152.html

I have found two patches which have provided the kvm-arm support of eventfd and irqfd:

1) [RFC PATCH 0/4] ARM: KVM: Enable the ioeventfd capability of KVM on ARM
http://lists.gnu.org/archive/html/qemu-devel/2014-01/msg01770.html

2) [RFC,v3] ARM: KVM: add irqfd and irq routing support
https://patches.linaro.org/32261/

And there's a rough patch for qemu to support eventfd from Ying-Shiuan Pan:

Quoted 10 lines

[Qemu-devel] [PATCH 0/4] ioeventfd support for virtio-mmio
https://lists.gnu.org/archive/html/qemu-devel/2014-02/msg00715.html

But there no any comments of this patch. And I can found nothing about qemu to support irqfd. Do I lost the track?

If nobody try to fix it. We have a plan to complete it about virtio-mmio supporing irqfd and multiqueue.

we at Virtual Open Systems did some work and tested vhost-net on ARM back in March.
The setup was based on:
  - host kernel with our ioeventfd patches:
http://www.spinics.net/lists/kvm-arm/msg08413.html

- qemu with the aforementioned patches from Ying-Shiuan Pan
https://lists.gnu.org/archive/html/qemu-devel/2014-02/msg00715.html

The testbed was ARM Chromebook with Exynos 5250, using a 1Gbps USB3 Ethernet adapter connected to a 1Gbps switch. I can't find the actual numbers but I remember that with multiple streams the gain was clearly seen. Note that it used the minimum required ioventfd implementation and not irqfd.

Quoted 4 lines

I guess it is feasible to think that it all can be put together and rebased + the recent irqfd work. One can achiev even better performance (because of the irqfd).

Quoted 7 lines

Managed to replicate the setup with the old versions e used in March:

Single stream from another machine to chromebook with 1Gbps USB3 Ethernet adapter.
iperf -c <address> -P 1 -i 1 -p 5001 -f k -t 10
to HOST: 858316 Kbits/sec
to GUEST: 761563 Kbits/sec

Quoted 7 lines

to GUEST vhost=off: 508150 Kbits/sec

Quoted 5 lines

10 parallel streams
iperf -c <address> -P 10 -i 1 -p 5001 -f k -t 10
to HOST: 842420 Kbits/sec
to GUEST: 625144 Kbits/sec

to GUEST vhost=off: 425276 Kbits/sec

I have tested the same cases on a Hisilicon board (Cortex-A15@1G) with Integrated 1Gbps Ethernet adapter.

iperf -c <address> -P 1 -i 1 -p 5001 -f M -t 10
to HOST: 906 Mbits/sec
to GUEST: 562 Mbits/sec
to GUEST vhost=off: 340 Mbits/sec

10 parallel streams, the performance gets <10% plus:
iperf -c <address> -P 10 -i 1 -p 5001 -f M -t 10 to HOST: 923 Mbits/sec
to GUEST: 592 Mbits/sec
to GUEST vhost=off: 364 Mbits/sec

I't easy to see vhost-net brings great performance improvements, almost 50%+.

Li.

Quoted 13 lines
Quoted 13 lines
Quoted 13 lines
Quoted 11 lines

_______________________________________________
kvmarm mailing list
[email protected]
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

Quoted 6 lines
Quoted 3 lines
Quoted 3 lines

regards,
Nikolay Nikolaev
Virtual Open Systems

.

.

#19 lore raw
In reply to Nikolay Nikolaev

Hi Nikolay,

Quoted 1 line

From this mail I know you guys have done some work about ioeventfd support

on kvm-arm before. Do you have plan to rework your patch based on the new branch? If not, I think we should send a patch to make eventfd support on kvm-arm and make vhost-net work.

Based on the new kvm-arm branch with Eric's patch "ARM: KVM: add irqfd support" and eventfd patch in both kvm and qemu we have run virtio-mmio with vhost-net. And with our patch to enable virtio-mmio multiple irq and irqfd support, it work well to run vhost-net with irqfd on ARM.

The performance test data as followed :

Type of backend         bandwith(GBytes/sec) (From Host to Guest)
virtio-net              0.66
vhost-net               1.49
vhost-net with irqfd    2.01
Quoted 1 line

From this test data, vhost-net and irqfd have great improvement on performance.

So maybe it's necessary to enable ioeventfd make vhost-net work with virtio-mmio on ARM.

It's ok if I send these patches?
Thanks,
Shannon

Quoted 73 lines · Nikolay Nikolaev

Hello,

Quoted 19 lines · Li Liu

Hi all,

Is anyone there can tell the current status of vhost-net on kvm-arm?

Half a year has passed from Isa Ansharullah asked this question:
http://www.spinics.net/lists/kvm-arm/msg08152.html

I have found two patches which have provided the kvm-arm support of eventfd and irqfd:

1) [RFC PATCH 0/4] ARM: KVM: Enable the ioeventfd capability of KVM on ARM
http://lists.gnu.org/archive/html/qemu-devel/2014-01/msg01770.html

2) [RFC,v3] ARM: KVM: add irqfd and irq routing support
https://patches.linaro.org/32261/

And there's a rough patch for qemu to support eventfd from Ying-Shiuan Pan:

Quoted 10 lines

[Qemu-devel] [PATCH 0/4] ioeventfd support for virtio-mmio
https://lists.gnu.org/archive/html/qemu-devel/2014-02/msg00715.html

But there no any comments of this patch. And I can found nothing about qemu to support irqfd. Do I lost the track?

If nobody try to fix it. We have a plan to complete it about virtio-mmio supporing irqfd and multiqueue.

we at Virtual Open Systems did some work and tested vhost-net on ARM back in March.
The setup was based on:
- host kernel with our ioeventfd patches:
http://www.spinics.net/lists/kvm-arm/msg08413.html

- qemu with the aforementioned patches from Ying-Shiuan Pan
https://lists.gnu.org/archive/html/qemu-devel/2014-02/msg00715.html

The testbed was ARM Chromebook with Exynos 5250, using a 1Gbps USB3 Ethernet adapter connected to a 1Gbps switch. I can't find the actual numbers but I remember that with multiple streams the gain was clearly seen. Note that it used the minimum required ioventfd implementation and not irqfd.

I guess it is feasible to think that it all can be put together and rebased + the recent irqfd work. One can achiev even better performance (because of the irqfd).

Quoted 9 lines

_______________________________________________
kvmarm mailing list
[email protected]
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

regards,
Nikolay Nikolaev
Virtual Open Systems
_______________________________________________
kvmarm mailing list
[email protected]
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

Signature · 1 line
Shannon