From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <users-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 5F9DFA04FD
	for <public@inbox.dpdk.org>; Mon, 26 Dec 2022 21:04:55 +0100 (CET)
Received: from mails.dpdk.org (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id F01BB4114B;
	Mon, 26 Dec 2022 21:04:54 +0100 (CET)
Received: from mail-lf1-f50.google.com (mail-lf1-f50.google.com
 [209.85.167.50]) by mails.dpdk.org (Postfix) with ESMTP id 13B6640E2D
 for <users@dpdk.org>; Mon, 26 Dec 2022 21:04:54 +0100 (CET)
Received: by mail-lf1-f50.google.com with SMTP id g13so17027443lfv.7
 for <users@dpdk.org>; Mon, 26 Dec 2022 12:04:54 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=content-transfer-encoding:mime-version:references:in-reply-to
 :message-id:subject:cc:to:from:date:from:to:cc:subject:date
 :message-id:reply-to;
 bh=e+diy5JZx+8WCjnMuhMILDjvSkeEFEFFMCuOE7fK5vY=;
 b=AlHa76W+QKxabpu/0eei4FL5cca+o1fLWkVYRSB27TpcLuLaYITypSgWmC3Ubzmj9q
 hsFAvsdzJ0m9e2tYxvoq0xle8hQsiUGO9bD5VjWXqDL+YzgPCRRnh+VW5jLNAUXT+o4E
 9thQEDOA3Hq2RBvISrlBQIyp0a1prlUOwge5qxHIHQmANCbJXVkVtiqlFXYj0p7JNSl7
 lxAjekfPVc7Ew0UFm+5zifXfI2eXb29Phn7LxeubTHbgdXU6PpNfyPw3sJEPBz0YQl8l
 SLvHycqIT7E044Bw2Ae4baQNS49cy0OVBwp8CvfcUIBOCoG9gIcUZTDRWaL17zbgOYC/
 WrLA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=content-transfer-encoding:mime-version:references:in-reply-to
 :message-id:subject:cc:to:from:date:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=e+diy5JZx+8WCjnMuhMILDjvSkeEFEFFMCuOE7fK5vY=;
 b=wp0uONHgnlB8ovaGFTj/XH7nt5Q4oYVPYfvl15z7R4dz20JENs5nZuMC0DclPWXtdn
 J5kS9751M+uiUGZ7yaiPT30naI2nIOCmlGGK558tvOL1MkTWfEIhb83DMv/O3hi0JG5S
 Tmg1LBoQsdy7d/suJKqaa/7soyUFqsPqf5K7oZCdGXhFnOj+Uvvbt1YKBzMS9MFW+iNf
 PzEi35pr8nklSd+7zmau7xuouXySzUpAzYr5sJ8UBob+jnOSXF1iMJtfkvB7PzBLaLsW
 s3EF1hi0E1eQi9g1sBMbnuliPDRQuX39NourpUPGNYULcCH+0WCtSvKPLPyoPopmgnH/
 6ozg==
X-Gm-Message-State: AFqh2krh2GMDJbq5ljiV8StuiujR2MwYCvR50/CKdm5MWbEchRvQAlws
 I9gSOFxDO+OBek0GzDrfa4E=
X-Google-Smtp-Source: AMrXdXsNz5FZ+hEWiH3oX/FgehBE+7K/kYuwGlT39ijCeRcPRu5X+8gDMZLCkM3Xx68im7x7BKbUhw==
X-Received: by 2002:a05:6512:3288:b0:4a4:68b7:f87a with SMTP id
 p8-20020a056512328800b004a468b7f87amr8466598lfe.30.1672085093303; 
 Mon, 26 Dec 2022 12:04:53 -0800 (PST)
Received: from sovereign (broadband-37-110-65-23.ip.moscow.rt.ru.
 [37.110.65.23]) by smtp.gmail.com with ESMTPSA id
 o17-20020ac24351000000b0048a934168c0sm1925571lfl.35.2022.12.26.12.04.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 26 Dec 2022 12:04:52 -0800 (PST)
Date: Mon, 26 Dec 2022 23:04:51 +0300
From: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
To: "Ruslan R. Laishev" <zator@yandex.ru>
Cc: "users@dpdk.org" <users@dpdk.org>
Subject: Re: Performance "problem" or how to get power of the DPDK
Message-ID: <20221226230451.690c3986@sovereign>
In-Reply-To: <279421672082645@mail.yandex.ru>
References: <207831672055161@mail.yandex.ru>
 <20221226160753.11db04bb@sovereign> <52451672060184@mail.yandex.ru>
 <270941672081661@mail.yandex.ru> <279421672082645@mail.yandex.ru>
X-Mailer: Claws Mail 3.18.0 (GTK+ 2.24.33; x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-BeenThere: users@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK usage discussions <users.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/users>,
 <mailto:users-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/users/>
List-Post: <mailto:users@dpdk.org>
List-Help: <mailto:users-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/users>,
 <mailto:users-request@dpdk.org?subject=subscribe>
Errors-To: users-bounces@dpdk.org

2022-12-26 22:24 (UTC+0300), Ruslan R. Laishev:
> Sorry, right interface:
> =C2=A0
> Network devices using DPDK-compatible driver
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> 0000:09:00.0 'Ethernet Connection X553 10 GbE SFP+ 15c4' drv=3Digb_uio un=
used=3Dixgbe,vfio-pci
> =C2=A0
> =C2=A0
> 26.12.2022, 22:21, "Ruslan R. Laishev" <zator@yandex.ru>:
> There is what i do at xmiter side, may be u will get a quantum to see a c=
ode of pupil: =C2=A0https://pastebin.com/1WMyXtr5

I see nothing terribly wrong there.
If you run it on more then one core each using a distinct Tx queue,
do you see a performance increase?

You might want to remove the shared atomic counter;
use simple per-lcore counters and sum them for display.
Also, if "g_nqueue" is not const, "%" should not be used on the data path.

> > I spent some time with the testpmd, sorry but there is not an ability t=
o get rate information on sending, may be i'll add it into the code ...

Run testpmd as follows to make it transmit packets
(add DPDK options before "--" as needed):

dpdk-testpmd -- --forward-mode=3Dtxonly --tx-first

It will print statistics on exit ("exit" or Ctrl+C).

> > Some statistics (rte_eth_stats)=C2=A0=C2=A0:
> > =C2=A0
> > Date;Time;Device;Port;Name;Area;In pkts;Out pkts;In bytes;Out bytes;In =
missed;In errors;Out errors;No mbufs;
> > (payload is 0 octets)
> > 26-12-2022; 22:14:10; 0000:09:00.0; _PEA00:; WAN0; WAN; 0; 21122753; 0;=
 1563085750; 0; 0; 0; 0
> > 26-12-2022; 22:14:20; 0000:09:00.0; _PEA00:; WAN0; WAN; 0; 21122392; 0;=
 1563057008; 0; 0; 0; 0
> > 26-12-2022; 22:14:30; 0000:09:00.0; _PEA00:; WAN0; WAN; 0; 21121978; 0;=
 1563024500; 0; 0; 0; 0
> > 26-12-2022; 22:14:40; 0000:09:00.0; _PEA00:; WAN0; WAN; 0; 21122012; 0;=
 1563028888; 0; 0; 0; 0
> > =C2=A0
> > (payload is 1024 octets)
> > 26-12-2022; 22:15:20; 0000:09:00.0; _PEA00:; WAN0; WAN; 0; 5246799; 0; =
4648659464; 0; 0; 0; 0
> > 26-12-2022; 22:15:30; 0000:09:00.0; _PEA00:; WAN0; WAN; 0; 5246456; 0; =
4648360016; 0; 0; 0; 0
> > 26-12-2022; 22:15:40; 0000:09:00.0; _PEA00:; WAN0; WAN; 0; 5246168; 0; =
4648108408; 0; 0; 0; 0
> > 26-12-2022; 22:15:50; 0000:09:00.0; _PEA00:; WAN0; WAN; 0; 5246143; 0; =
4648084478; 0; 0; 0; 0
> > 26-12-2022; 22:16:00; 0000:09:00.0; _PEA00:; WAN0; WAN; 0; 5246129; 0; =
4648070294; 0; 0; 0; 0
> > =C2=A0
> > A piece of the DPDK-DEVBIND.SH
> > 0000:02:00.0 'I211 Gigabit Network Connection 1539' if=3Denp2s0 drv=3Di=
gb unused=3Digb_uio,vfio-pci *Active*
> > =C2=A0
> > 26.12.2022, 16:22, "Ruslan R. Laishev" <zator@yandex.ru>:
> > Thanks for the answer.
> >> =C2=A0
> >> Oops, sorry, some details:
> >> - one core run generator routine
> >> - one core run routine to save/display statistic
> >> =C2=A0
> >> core run a generator routine like:
> >> =C2=A0
> >> while (1) {
> >> get buffer from pool
> >> make eth+ip+udp header (it's static content)
> >> generate payload like memset(packet.payload , 'A' + something, payload=
_size);
> >> generate packet sequence and CRC32C =C2=A0- and add it to the payload =
part
> >> "send" packet to tx_buffer
> >> =C2=A0
> >> if (tx_buffer.size =3D=3D tx_buffer.length)
> >> do flush()
> >> }
> >> =C2=A0
> >> "header; part of the packet : sizeof(eth+ip+udp) -
> >> "payload" part - 20-1024 octets

=46rom your statistics I calculate 74 bytes per packet (Ethernet),
i.e. the theoretical maximum for 10 Gbps is 12.25 Mpps,
with packet budget of 81 ns per packet.

https://calc.pktgen.com/#gbe=3D20&payload=3D40&rate=3D12250000&header=3D20

> >> RSS - it's on received side, yes ?

Correct.
I asked because it was unclear from the initial message
whether you app does the receiving or not.

P.S. Please avoid top-posting, i.e. reply below the quote.