* [dpdk-users] Tx burst getting failed with Virtio driver
2019-04-04 7:25 ` [dpdk-users] Tx burst getting failed with Virtio driver Sharon
@ 2019-04-04 7:31 ` Sharon
2019-04-04 15:41 ` Stephen Hemminger
0 siblings, 1 reply; 4+ messages in thread
From: Sharon @ 2019-04-04 7:31 UTC (permalink / raw)
To: users
Hi,
With a dpdk based application inside GCP VM instance,
it is observed that while sending UDP packets of length 1300 at around 6
Gbps rate, tx burst starts failing frequently.
On enabling virtio pmd logs, following error is found:
PMD: virtio_xmit_pkts() tx: No free tx descriptors to transmit
*VM configuration:*
Cores: Total 12 cores, 5 cores for the application
OS: CentOS 7.2.1511
Linux kernel : 3.10.0-327.13.1.el7.x86_64
DPDK version : 17.05*
*
*Ring configuration in application:*
TX descriptor ring size: 4096
RX descriptor ring size: 1024
4 cores for rx and tx in a run to completion model.
Single port is used for Rx and Tx.
lcore to queue mapping is 1:1, i.e 1rx queue and 1tx queue per lcore
*ethtool -g eth0*
Ring parameters for eth0:
Pre-set maximums:
RX: 4096
RX Mini: 0
RX Jumbo: 0
TX: 4096
Current hardware settings:
RX: 4096
RX Mini: 0
RX Jumbo: 0
TX: 4096
*lscpu*
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 12
On-line CPU(s) list: 0-11
Thread(s) per core: 2
Core(s) per socket: 6
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 85
Model name: Intel(R) Xeon(R) CPU @ 2.00GHz
Stepping: 3
CPU MHz: 2000.168
BogoMIPS: 4000.33
Hypervisor vendor: KVM
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 56320K
NUMA node0 CPU(s): 0-11
*NIC stats is provided below:*
100330695 packets input, 141154589263 bytes
100310198 packets output, 136450396190 bytes
0 packets missed
0 erroneous packets received
0 multicast packets received
0 failed transmitted packets
0 No Mbufs
Stats reg 0 RX-packets: 23454090 RX-errors: 0 RX-bytes: 32948589715
Stats reg 1 RX-packets: 23954850 RX-errors: 0 RX-bytes: 33699067521
Stats reg 2 RX-packets: 26014919 RX-errors: 0 RX-bytes: 36614183404
Stats reg 3 RX-packets: 26906836 RX-errors: 0 RX-bytes: 37892748623
Stats reg 0 TX-packets: 23450529 TX-bytes: 31934107195
Stats reg 1 TX-packets: 23951340 TX-bytes: 32591951998
Stats reg 2 TX-packets: 26008018 TX-bytes: 35366748482
Stats reg 3 TX-packets: 26900311 TX-bytes: 36557588515
Increasing the number of cores for the application is also not helping
in this case.
Kindly suggest as what needs to be done to improve the performance and
avoid this issue.
Thanks & Regards,
Sharon T N
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dpdk-users] Tx burst getting failed with Virtio driver
2019-04-04 7:31 ` Sharon
@ 2019-04-04 15:41 ` Stephen Hemminger
2019-04-05 6:42 ` Sharon
0 siblings, 1 reply; 4+ messages in thread
From: Stephen Hemminger @ 2019-04-04 15:41 UTC (permalink / raw)
To: Sharon; +Cc: users
On Thu, 4 Apr 2019 13:01:16 +0530
Sharon <sharon.t@altencalsoftlabs.com> wrote:
> Hi,
>
> With a dpdk based application inside GCP VM instance,
> it is observed that while sending UDP packets of length 1300 at around 6
> Gbps rate, tx burst starts failing frequently.
Virtio (like all devices) can only transmit so fast.
If you transmit faster than the host can consume, the queue will get full
this shows up in DPDK when all transmit descriptors are used.
6Gbps is about 4.4 Mpps and the upper bound on virtio is usually about 1 to 2 Mpps
because of the overhead of host processing (vhost and linux bridge).
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dpdk-users] Tx burst getting failed with Virtio driver
2019-04-04 15:41 ` Stephen Hemminger
@ 2019-04-05 6:42 ` Sharon
0 siblings, 0 replies; 4+ messages in thread
From: Sharon @ 2019-04-05 6:42 UTC (permalink / raw)
To: Stephen Hemminger, users
Hi,
Regarding pps,
6 Gbps comes around to be less than 0.6 Mpps with packet size 1300 Bytes.
Also, in a GCP VM instance, virtio is able to process 10 Gbps easily
with 5-6 cores. (without DPDK)
Kindly advice.
Thanks & Regards,
Sharon T N
On 04/04/19 9:11 PM, Stephen Hemminger wrote:
> On Thu, 4 Apr 2019 13:01:16 +0530
> Sharon <sharon.t@altencalsoftlabs.com> wrote:
>
>> Hi,
>>
>> With a dpdk based application inside GCP VM instance,
>> it is observed that while sending UDP packets of length 1300 at around 6
>> Gbps rate, tx burst starts failing frequently.
> Virtio (like all devices) can only transmit so fast.
> If you transmit faster than the host can consume, the queue will get full
> this shows up in DPDK when all transmit descriptors are used.
>
> 6Gbps is about 4.4 Mpps and the upper bound on virtio is usually about 1 to 2 Mpps
> because of the overhead of host processing (vhost and linux bridge).
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* [dpdk-users] Tx burst getting failed with Virtio driver
[not found] <9279c2f3-195c-0034-48e6-4246eee428a9@altencalsoftlabs.com>
@ 2019-04-04 7:25 ` Sharon
2019-04-04 7:31 ` Sharon
0 siblings, 1 reply; 4+ messages in thread
From: Sharon @ 2019-04-04 7:25 UTC (permalink / raw)
To: users
Hi,
With a dpdk based application inside GCP VM instance,
it is observed that while sending UDP packets of length 1300 at around 6
Gbps rate, tx burst starts failing frequently.
On enabling virtio pmd logs, following error is found:
PMD: virtio_xmit_pkts() tx: No free tx descriptors to transmit
*VM configuration:*
Cores: Total 12 cores, 5 cores for the application
OS: CentOS 7.2.1511
Linux kernel : 3.10.0-327.13.1.el7.x86_64
DPDK version : 17.05*
*
*Ring configuration in application:*
TX descriptor ring size: 4096
RX descriptor ring size: 1024
4 cores for rx and tx in a run to completion model.
Single port is used for Rx and Tx.
lcore to queue mapping is 1:1, i.e 1rx queue and 1tx queue per lcore
*ethtool -g eth0*
Ring parameters for eth0:
Pre-set maximums:
RX: 4096
RX Mini: 0
RX Jumbo: 0
TX: 4096
Current hardware settings:
RX: 4096
RX Mini: 0
RX Jumbo: 0
TX: 4096
*lscpu*
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 12
On-line CPU(s) list: 0-11
Thread(s) per core: 2
Core(s) per socket: 6
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 85
Model name: Intel(R) Xeon(R) CPU @ 2.00GHz
Stepping: 3
CPU MHz: 2000.168
BogoMIPS: 4000.33
Hypervisor vendor: KVM
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 56320K
NUMA node0 CPU(s): 0-11
*NIC stats is provided below:*
100330695 packets input, 141154589263 bytes
100310198 packets output, 136450396190 bytes
0 packets missed
0 erroneous packets received
0 multicast packets received
0 failed transmitted packets
0 No Mbufs
Stats reg 0 RX-packets: 23454090 RX-errors: 0 RX-bytes: 32948589715
Stats reg 1 RX-packets: 23954850 RX-errors: 0 RX-bytes: 33699067521
Stats reg 2 RX-packets: 26014919 RX-errors: 0 RX-bytes: 36614183404
Stats reg 3 RX-packets: 26906836 RX-errors: 0 RX-bytes: 37892748623
Stats reg 0 TX-packets: 23450529 TX-bytes: 31934107195
Stats reg 1 TX-packets: 23951340 TX-bytes: 32591951998
Stats reg 2 TX-packets: 26008018 TX-bytes: 35366748482
Stats reg 3 TX-packets: 26900311 TX-bytes: 36557588515
Increasing the number of cores for the application is also not helping
in this case.
Kindly suggest as what needs to be done to improve the performance and
avoid this issue.
Thanks & Regards,
Sharon T N
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2019-04-05 20:08 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <9279c2f3-195c-0034-48e6-4246eee428a9@altencalsoftlabs.com>
2019-04-04 7:25 ` [dpdk-users] Tx burst getting failed with Virtio driver Sharon
2019-04-04 7:31 ` Sharon
2019-04-04 15:41 ` Stephen Hemminger
2019-04-05 6:42 ` Sharon
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).