From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 272C54597E for ; Fri, 13 Sep 2024 19:56:26 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9C16242EFC; Fri, 13 Sep 2024 19:56:25 +0200 (CEST) Received: from mail-lj1-f176.google.com (mail-lj1-f176.google.com [209.85.208.176]) by mails.dpdk.org (Postfix) with ESMTP id 8F5CF402B3 for ; Fri, 13 Sep 2024 19:56:23 +0200 (CEST) Received: by mail-lj1-f176.google.com with SMTP id 38308e7fff4ca-2f7529203ddso32437401fa.0 for ; Fri, 13 Sep 2024 10:56:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1726250183; x=1726854983; darn=dpdk.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=ZcIghdw2Vmv9mTfHtKzPrVnRk7ODqgaZzPVejQS/klQ=; b=d18FoH0y+kBuHggrfM2TW3xFsbBSCwuir5BoWs3cLUJuheJlSHq5e0rVdEI7tPNO2N GYvJI8pbzTKMuzjRxIFZnl+UQdpYPefBj0n+pdSb2YEsnBeHlKaIlYMitXyeclvPIpPQ WLdqLPXENdbZuFbVBwULd37n7JZdUc3MOhs58= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1726250183; x=1726854983; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ZcIghdw2Vmv9mTfHtKzPrVnRk7ODqgaZzPVejQS/klQ=; b=tKzVARl5r50+mxsvNPO0fUuXvBngR9jDV3S06A7UOnRHpAw0mXb5SSALaWsH6zX7gx j0GUA610DH0VLQfd0KQbtvYxO7gYsNBZuRkYXNkNOxS3os3aobvh6D2CMc+vl3Mik0ZO JsEsDdbAl2TCjFBYbdf8qD1ALucUDTFd3fWgju3dIMzqABf3P0mYvyfQsteBxZwXvaLy VpGAH/kNHbLJvs2phVGz0OalJZsr8Ef4MaaZcqme8y7w9BtS4wNwmzJYT+OsDovd91QC Q3PuSjGnI4JYHzfSb7bnDx5OVMWprHkjV+TjQsBG5/gr1C7575uvkavGGLJUYFgVefHD XNEA== X-Forwarded-Encrypted: i=1; AJvYcCXM1DZ/uZacIF1Y1ggk+SxtgxFlc43B8cmkLIYwGgTShG1asGj6RZCRZhsdb15K/i7d9vFdYw==@dpdk.org X-Gm-Message-State: AOJu0YyxroTzWoGogPREDMLYjcGh+MkzZaDvQmmZ+ptdiC8tLlY0ERya Qa8y2nUP3v6p4QxIaurvesmW1h/JpXBMdYSBz0sdlO9naoi/H6RtYDtA1aGTAuOojxq5jHswkOE /sOf6MgJJjMz0BBX4cD0fqN6zPjI7KqyHARs4Tv6Kp6iupp7woxwQntICAVkEIpgu1UoGzbwCtg 2zuDgUywE= X-Google-Smtp-Source: AGHT+IHHdTA/0jyLPx8atLjEaeAKxtmHn0fqNBXZFoA+fGFGKcTBgkP98OSHNZssWt2LluvfFzXtVc1BJ5lQ+Qe8oTs= X-Received: by 2002:a05:651c:556:b0:2f4:f66f:d55a with SMTP id 38308e7fff4ca-2f787d2d5bbmr26288071fa.21.1726250182776; Fri, 13 Sep 2024 10:56:22 -0700 (PDT) MIME-Version: 1.0 References: <20240903170350.7e663864@hermes.local> <20240904154246.1c5bbb58@hermes.local> <20240912160948.3714f01d@hermes.local> In-Reply-To: <20240912160948.3714f01d@hermes.local> From: Nandini Rangaswamy Date: Fri, 13 Sep 2024 10:56:10 -0700 Message-ID: Subject: Re: Netvsc vs Failsafe Performance To: Stephen Hemminger Cc: Long Li , "users@dpdk.org" Content-Type: multipart/alternative; boundary="000000000000f04659062203f049" X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: users-bounces@dpdk.org --000000000000f04659062203f049 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Thanks for clarifying the question regarding Txd size Stephen. I tested out the RSS for TCP UDP. As suggested , I set the TCP flags alone in RSS conf and configured the netvsc port. struct rte_eth_conf conf =3D { .intr_conf =3D { .lsc =3D !dpdk.lsc_intr_disable && !dpdk_if->lsc_intr_disable && !!(dev->data->dev_flags & RTE_ETH_DEV_INTR_LSC), }, .rxmode =3D { .mq_mode =3D RTE_ETH_MQ_RX_RSS, .offloads =3D RTE_ETH_RX_OFFLOAD_VLAN_STRIP | RTE_ETH_RX_OFFLOAD_IPV4_CKSUM= | RTE_ETH_RX_OFFLOAD_RSS_HASH | RTE_ETH_RX_OFFLOAD_UDP_CKSUM, }, .rx_adv_conf.rss_conf =3D { .rss_hf =3D RTE_ETH_RSS_NONFRAG_IPV4_TCP | RTE_ETH_RSS_NONFRAG_IPV6_TCP, .rss_key =3D conf_rss_key, .rss_key_len =3D rss_key_len, }, .txmode =3D { .offloads =3D RTE_ETH_TX_OFFLOAD_UDP_CKSUM | RTE_ETH_TX_OFFLOAD_IPV4_CKSUM, }, }; rte_eth_dev_configure(, num_rxq,num_txq, &conf); uint8_t rss_key_temp[64]; struct rte_eth_rss_conf rss_conf =3D { .rss_key =3D rss_key_temp, .rss_key_len =3D sizeof(rss_key_temp), }; ret =3D rte_eth_dev_rss_hash_conf_get(, &rss_conf); Now the VF port RSS offloads show only TCP flags set and not UDP. I assumed that even the UDP flags might be set. Is this expected ? Regards, Nandini On Thu, Sep 12, 2024 at 4:09=E2=80=AFPM Stephen Hemminger < stephen@networkplumber.org> wrote: > On Thu, 12 Sep 2024 13:47:37 -0700 > Nandini Rangaswamy wrote: > > > Thanks for your response Long Li. > > I see with netvsc the maximum number of Tx descriptors is restricted to > > 4096 whereas the number of Rx descriptors is restricted to 8192. > > But, for failsafe PMD , we see that both the number of Txd and Rxd is > > restricted to 8192. > > How is netvsc PMD giving the same performance as failsafe PMD ? > > > > Regards > > I think the limits there were somewhat arbitrary chose with netvsc. > Don't remember a hard reason that would block larger sizes. > > > Having really big rings won't help performance (i.e BufferBloat) and > could a lot of memory consumption. When all heavy data traffic goes throu= gh > the VF and that ring is different. Only DoS attacks should be impacted > by rx/tx descriptor limits in the netvsc device. The linux driver actuall= y > has much smaller buffer. > --=20 This electronic communication and the information and any files transmitted= =20 with it, or attached to it, are confidential and are intended solely for=20 the use of the individual or entity to whom it is addressed and may contain= =20 information that is confidential, legally privileged, protected by privacy= =20 laws, or otherwise restricted from disclosure to anyone else. If you are=20 not the intended recipient or the person responsible for delivering the=20 e-mail to the intended recipient, you are hereby notified that any use,=20 copying, distributing, dissemination, forwarding, printing, or copying of= =20 this e-mail is strictly prohibited. If you received this e-mail in error,= =20 please return the e-mail to the sender, delete it from your computer, and= =20 destroy any printed copy of it. --000000000000f04659062203f049 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Thanks for clarifying the question=C2=A0r= egarding Txd size Stephen.
I tested out the RSS for TCP UDP.
= As suggested , I set the TCP flags alone in RSS conf and configured the net= vsc port.

= struct rte_eth_conf conf =3D {
.intr_conf =3D {
=
.lsc =3D !dpdk.lsc_intr_disable && !<= /span>dpdk_if->lsc= _intr_disable &&
!!(<= /span>dev->data->dev_flags &= amp; RTE_ETH_DEV_INTR_LSC),
},
.rxmode =3D <= span style=3D"color:rgb(119,119,119)">{
.mq_mo= de =3D RTE_ETH_MQ_RX_RSS,
.offloads = =3D RTE_ETH_RX_OFFLOAD_VLAN_S= TRIP | RTE_ETH_RX_OFFLOAD_IPV= 4_CKSUM |
= RTE_ETH_RX_OFFLOAD_RSS_HASH | RTE_ETH_RX_OFFLOAD_UDP_CKSUM,
}= ,
.rx_adv_co= nf.rss_conf = =3D {
= .rss_hf =3D RTE_ETH_RSS= _NONFRAG_IPV4_TCP | RTE_ETH_R= SS_NONFRAG_IPV6_TCP,
.rss_key =3D conf_rss_key,
= .rss_key_len =3D rss= _key_len,
<= span style=3D"color:rgb(119,119,119)">},
.txmode <= span style=3D"color:rgb(119,119,119)">=3D {
.offloads =3D RTE_ETH_TX_OFFLOAD_UDP_CKSUM | RTE_ETH_TX_OFFLOAD_IPV4_CKSUM,
},
};
= rte_eth_dev_c= onfigure(<netvsc port>, num_rxq,num_txq, &conf);
= uint8_t rss_key_temp[64];
= struct rte_eth_rss_conf rss= _conf =3D {
= .rss_key =3D rss_key_temp,
.rss_key_len =3D<= /span> sizeof(rss_key_temp),
};
<= font color=3D"#333333"> ret =3D rte_eth_dev_rss_hash_conf_get(<VF port>, <= /font>&rss_conf);
=

=
Now the VF port RS= S offloads show only TCP flags set and not UDP. I assumed that even the UDP= flags might be set. Is this expected ?

=
Regards,
Nan= dini=C2=A0


= On Thu, Sep 12, 2024 at 4:09=E2=80=AFPM Stephen Hemminger <stephen@networkplumber.o= rg> wrote:
nandini.rangaswamy@broadcom.com> wrote:

> Thanks for your response Long Li.
> I see with netvsc the maximum number of Tx descriptors is restricted t= o
> 4096 whereas the number of Rx descriptors is restricted to 8192.
> But, for failsafe PMD , we see that both the number of Txd and Rxd is<= br> > restricted to 8192.
> How is netvsc PMD giving the same performance as failsafe PMD ?
>
> Regards

I think the limits there were somewhat arbitrary chose with netvsc.
Don't remember a hard reason that would block larger sizes.


Having really big rings won't help performance (i.e BufferBloat) and could a lot of memory consumption. When all heavy data traffic goes through=
the VF and that ring is different. Only DoS attacks should be impacted
by rx/tx descriptor limits in the netvsc device. The linux driver actually<= br> has much smaller buffer.

This ele= ctronic communication and the information and any files transmitted with it= , or attached to it, are confidential and are intended solely for the use o= f the individual or entity to whom it is addressed and may contain informat= ion that is confidential, legally privileged, protected by privacy laws, or= otherwise restricted from disclosure to anyone else. If you are not the in= tended recipient or the person responsible for delivering the e-mail to the= intended recipient, you are hereby notified that any use, copying, distrib= uting, dissemination, forwarding, printing, or copying of this e-mail is st= rictly prohibited. If you received this e-mail in error, please return the = e-mail to the sender, delete it from your computer, and destroy any printed= copy of it. --000000000000f04659062203f049--