Fwd: vhost-net drops packets at low cpu occupancy

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello experts,

Hope you can help me to understand my results with vhost-net emulation.

I did a small test with kvm machine (receiving and sending TCP packets
from/to the external simulators) pinned to one core and vhost-net
emulation pinned to another one. Packets start to get dropped at tx
when vhost-net occupies ~25% of the core cycles. Creating a 2nd
application interface, binding it to 2nd vhost-net pinned to the same
core with 1st vhost-net and load-sharing the traffic between them,
boosts the performance for 20% (actually reaching the application
limit). I'm trying to understand why 1 vhost becomes a bottleneck
already at 25% of cpu occupancy (why can't it use more??) and why a
2nd vhost (pinned to the same core as the first one) increases the
performance? When the application limit is reached, vhosts use ~31% of
cpu core (top command also indicates ~19% sy and ~12% si occupancy,
the rest idle). Does this mean that if application would be capable of
processing more packets, adding additional vhosts and load-haring
would boost the performance further?

Looking forward to your feedback!

Some additional info that my be of interest:
Packet size is small (150 - 330 bytes).
Packets are pushed at tx randomly in 1- (~30) packets batch.
Application polls packets from rx virtqueue.

Cheers,
Damir



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux