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 C5E4EA0093 for ; Thu, 17 Mar 2022 17:05:47 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4C165407FF; Thu, 17 Mar 2022 17:05:47 +0100 (CET) Received: from mail-vk1-f174.google.com (mail-vk1-f174.google.com [209.85.221.174]) by mails.dpdk.org (Postfix) with ESMTP id D4C424067B for ; Thu, 17 Mar 2022 17:05:45 +0100 (CET) Received: by mail-vk1-f174.google.com with SMTP id az23so3129111vkb.0 for ; Thu, 17 Mar 2022 09:05:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:from:date:message-id:subject:to; bh=2jD2sNZ/c1fe5FigRyVKTKELe6BLhPcsmLzPmCWQ1NI=; b=qXZqrTDEnuleNGjaKSoWwsq0Kg+z1sFvi5TZ5hWcDUpur/Tia7wkyDmBaZwSMGqMA2 0lY8cquGRJUB1THMzRc/W/0cj75/MGHdXPEIjVqbHu+2ShUbfkRoI8wk24NLGeZv7eyV q8T+jcGVjjdusy2YTKIdrdNbRMff5iT808nHBrL8/MLEVH04xujKtSc5OZBDs0kzqWwk gAaDXuLSrTulrhHetk9qMzGBDlJQjlPeyBCYJ57jaZ0FI69L+jU17T8wNcT+wCq2ybF8 IfXPSS73lfP+hcwz27PZfws6ZboD5KTzLx0Kdme8gVWJl/EEUVM0mUZJnqXAAJPqqgPb gTLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=2jD2sNZ/c1fe5FigRyVKTKELe6BLhPcsmLzPmCWQ1NI=; b=l2cH0uLlaU7w0xH60aUhb8i2rq00VHjXMCpwljWgetnF/GMlK3SpIPkuWUsjjsRCDm fOx9NclArhcLNf+uHOPxUo5QdbVY11NvEtyBkRd3cIwUQdGgeYnzBhFA/buw4SD7ozhy 9p/eWH0x1K01uY77OgMbkGxYybFCQYXNALJ+boKWM5GBifzLV2bN5rGK7vTovUGfw2zk GnD9kwr/v+XH+ZUrl8865gSHdyWdG9c3yl9GG5f1I/82u9j1pDAHQQLwt4zo+wGJdfaJ u8hN03pmQvoZCmtOsxMopYx50sB1tX2s72czjLU2HbSOuJi5XU0H4/l29dW/Br5T7DjZ 2k0Q== X-Gm-Message-State: AOAM530sdfZimKCzw+ioYoGcYnVLnlJoh86EBoHPSvf0g46raGnhE7k9 LJzEzmy/sLy4ed321+NUfJeYIP7GCVw7dYS3CTPcDwCisac= X-Google-Smtp-Source: ABdhPJyTvLK/Pu4NefIMH3tapXDd666yPmgVdynXQXHcbSlT1r7Jmjqwveq05jVJVJw6xCavtUe1OXl0DJcGP32J0gA= X-Received: by 2002:a05:6122:8c8:b0:32a:7010:c581 with SMTP id 8-20020a05612208c800b0032a7010c581mr2150020vkg.32.1647533144633; Thu, 17 Mar 2022 09:05:44 -0700 (PDT) MIME-Version: 1.0 From: fwefew 4t4tg <7532yahoo@gmail.com> Date: Thu, 17 Mar 2022 12:05:33 -0400 Message-ID: Subject: need definitions / references To: users@dpdk.org Content-Type: multipart/alternative; boundary="000000000000d77a8c05da6c337f" 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 --000000000000d77a8c05da6c337f Content-Type: text/plain; charset="UTF-8" DPDK provides but does not define (that I can see at least) these TXQ config fields. What are these fields what do they do? https://doc.dpdk.org/api/structrte__eth__thresh.html uint8_t pthresh uint8_t hthresh uint8_t wthresh And here: What is the RS bit? https://doc.dpdk.org/api/structrte__eth__txconf.html uint16_t tx_rs_thresh. And some what unrelated: What is a ``doorbell"? this is something I continue to run into esp. in Mellanox NIC papers? Doorbell counts are reported for AWS NICs at least with xstats api: tx_q0_doorbells: 18812 tx_q1_doorbells: 18861 --000000000000d77a8c05da6c337f Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
DPDK provides but does not define (that I can see at least= ) these TXQ config fields. What are these fields=C2=A0what do they do?
<= br>https:/= /doc.dpdk.org/api/structrte__eth__thresh.html
uint8_t pthresh
ui= nt8_t hthresh
uint8_t wthresh

And here: What is the RS bit?
= https://do= c.dpdk.org/api/structrte__eth__txconf.html
uint16_t tx_rs_thresh.= =C2=A0

And some what=C2=A0unrelated: What is a ``doorbell"? thi= s is something I continue to run into esp. in Mellanox NIC papers? Doorbell= counts are reported for AWS NICs at least with xstats api:
tx_q0_doorbells: 18812
tx_q1_doorbells: 18861

--000000000000d77a8c05da6c337f-- 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 538B7A0093 for ; Thu, 17 Mar 2022 17:48:30 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D9BFC407FF; Thu, 17 Mar 2022 17:48:29 +0100 (CET) Received: from mail-pj1-f42.google.com (mail-pj1-f42.google.com [209.85.216.42]) by mails.dpdk.org (Postfix) with ESMTP id 3AF944067B for ; Thu, 17 Mar 2022 17:48:28 +0100 (CET) Received: by mail-pj1-f42.google.com with SMTP id z12-20020a17090ad78c00b001bf022b69d6so6008890pju.2 for ; Thu, 17 Mar 2022 09:48:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20210112.gappssmtp.com; s=20210112; h=date:from:to:cc:subject:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=/2ofWsyc+utxC217jTMkLrRRwWxjy0e1a4IF1PMXL3o=; b=0xWpQhfgPTjuFFUrokunidBJx6aBg1jnY226zD3B3+9OEOBmFIW7QxR3dN5kzO7HUS 009jmia4SkRyFEdwdKNFxHAwaZ6aGCXRhlZwYhcD6SJ2HpKsVdYeOL3sNw8NwfzGl+Xc gHbqdOctWje8GMTjz7yITlGRR+A1HZX0HKTD6HIY9wtAuUBJPde0TrbDXX9i1eEkWQWB VsEiAGA59bV1KF4VLM4h83i/n7guxJG4O+ELud44GJy4PaVP+pXM9JlmdK9g02sN7l1W OvUCfz1GiSKGq2BvDYum1OpscY8Sz0RmSrLae7TZHLbIhtmUIqwawJiBA4kyL3mJTiMV RXbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=/2ofWsyc+utxC217jTMkLrRRwWxjy0e1a4IF1PMXL3o=; b=coBLXTOP84AzGa4LDDoF2q2IoFGBgDjN1cM2oFQq5Jo7dA35dsaTqi55CvaasQJ6VF bXl/UgGbP7xqCMzwhrYJWXixd/SsE1eLbtXv9/+4fJ75RMfUI6CIAAKWnTa5yiU0AnFz xnznp50GlyedI/LlmpDLgCXTrrGk5xgOP9Az8ZAmRDEDU2XqJkcUOA70FpOiEdwWI2am RkpB83LndCDQrF1dhOjnIvl0kWG4nxtD9jIpTMFYnzjlovVchjuV8I16B4xMzUIpeY0E 58WYjlD3uVIvdDjEvL1BtfN+FDe309qIx322CarTErk6UySwF8TP09m78NLaVxpT+A28 iGMA== X-Gm-Message-State: AOAM533ghCgwwhnjrZmAFwVML52eL//Ccd/grerPcolXSxxL2KVeTOw0 ENzRbZhGIYxcQ4xKSpRsp0b32w== X-Google-Smtp-Source: ABdhPJxMxxy/cGpWskS8YvQrRIRWG661vKhJAQzEtbAcyXm7jUP8LwyXv0XQgWZa2uzwD3QvCR8xZw== X-Received: by 2002:a17:90b:216:b0:1bc:5d68:e7aa with SMTP id fy22-20020a17090b021600b001bc5d68e7aamr6358087pjb.57.1647535707225; Thu, 17 Mar 2022 09:48:27 -0700 (PDT) Received: from hermes.local (204-195-112-199.wavecable.com. [204.195.112.199]) by smtp.gmail.com with ESMTPSA id f10-20020a056a00228a00b004f769b40bd6sm7709880pfe.103.2022.03.17.09.48.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 17 Mar 2022 09:48:26 -0700 (PDT) Date: Thu, 17 Mar 2022 09:48:24 -0700 From: Stephen Hemminger To: fwefew 4t4tg <7532yahoo@gmail.com> Cc: users@dpdk.org Subject: Re: need definitions / references Message-ID: <20220317094824.423d2a83@hermes.local> In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit 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 On Thu, 17 Mar 2022 12:05:33 -0400 fwefew 4t4tg <7532yahoo@gmail.com> wrote: > DPDK provides but does not define (that I can see at least) these TXQ > config fields. What are these fields what do they do? > > https://doc.dpdk.org/api/structrte__eth__thresh.html > uint8_t pthresh > uint8_t hthresh > uint8_t wthresh These are low level details inherited from original Intel NIC's (ie ixgbe) they only apply to some NICs. They are used to control the ring threshold values relating to PCI. In rte_ethdev.h /** * A structure used to configure the ring threshold registers of an Rx/Tx * queue for an Ethernet port. */ struct rte_eth_thresh { uint8_t pthresh; /**< Ring prefetch threshold. */ uint8_t hthresh; /**< Ring host threshold. */ uint8_t wthresh; /**< Ring writeback threshold. */ }; > And here: What is the RS bit? > https://doc.dpdk.org/api/structrte__eth__txconf.html > uint16_t tx_rs_thresh. Ready to Send? > > And some what unrelated: What is a ``doorbell"? this is something I > continue to run into esp. in Mellanox NIC papers? Doorbell counts are > reported for AWS NICs at least with xstats api: > > tx_q0_doorbells: 18812 > tx_q1_doorbells: 18861 These are how many times driver needed to poke hardware to tell it that new packets are ready to send. 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 C54AAA0093 for ; Thu, 17 Mar 2022 17:59:31 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 51B1540E28; Thu, 17 Mar 2022 17:59:31 +0100 (CET) Received: from mail-vk1-f178.google.com (mail-vk1-f178.google.com [209.85.221.178]) by mails.dpdk.org (Postfix) with ESMTP id 2F1ED407FF for ; Thu, 17 Mar 2022 17:59:30 +0100 (CET) Received: by mail-vk1-f178.google.com with SMTP id bk1so3180970vkb.5 for ; Thu, 17 Mar 2022 09:59:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=ATm6yaRb2ted63v+U2jxRATSlTYqXhv7s7/Btgxrnu4=; b=Z2sHWRXv+4LJe1u6bvzuKIQjCczUP5iBlb7nN8o/1SWW87z5+rpOo9mP0dpevKxTzr VmjFfQyWiau9JQKWsd+fLcHSLieSTjjTbNONILWiPRvXOs0SGaYURxoV/OHrpfIgkMuF rcj3FiydgKPrjx4sKec1YaFGj9eIycA3cDj8eOJj14WyndcEGOzQ9bzQJwRWCwdPEMbg EYQf0rEWD1ItV9GKXicfUEuBhpWpoMahvHH4lgnmzQYvrRuqYbik75jrub5Cv9r268rw B9hc/0qw54jHo1l7Q5HLRND/E6XkEXbZGrezO7Rf/X+ERdGRYvqXTVa+kueUdzR4coh5 zTHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=ATm6yaRb2ted63v+U2jxRATSlTYqXhv7s7/Btgxrnu4=; b=d/UVLr3/QMdC745HS0YS8ZWrNsDEoQLUAsC6sY5f2VDpzidIKzbXlnFvVw9IvXFLbs GLT3k7nbGNJUBzSyrvRcqV45mXQyltMK38QOryCGeAsLqBLsjAGaZUv9GXbXkkr3w1Cp 1IYs4zj/wK2U6VCrrtaDFYzvjFRv9vOvnPx+663oatXuvkqC4z3ZFwfBcxtiBLFvyndG a8Mhm87NfaXLAHzKj4CjcSpi7GughUviXfMFJMECBGsjLnqCHKu+P6GMPdWtNXq8gUmX f7Is3bIDEvRIfdIXH7WXAERZmS0P2kvnUrfAvdSPUQ7YxAQVwyz74hYG6Roy1dNa7bOy Nung== X-Gm-Message-State: AOAM5333yUapyxHpVjW+9aZQUfHJUdqy9p+Hfz7h89jDS2PqaX7hEkQv mTrI/ycR6UZfgKYg8vY6TZQg5EQx8e2VvY9tJSir4E+xaw8= X-Google-Smtp-Source: ABdhPJyhDfxu76SEQdlIskvjdmn3W01XRvAugJrIYmNngi20vVDgzaJYU3IxLE0MR6dr4ynJ2e47MnGWSB0832uyCbQ= X-Received: by 2002:a1f:9895:0:b0:331:7132:72cf with SMTP id a143-20020a1f9895000000b00331713272cfmr2353097vke.7.1647536369311; Thu, 17 Mar 2022 09:59:29 -0700 (PDT) MIME-Version: 1.0 References: <20220317094824.423d2a83@hermes.local> In-Reply-To: <20220317094824.423d2a83@hermes.local> From: fwefew 4t4tg <7532yahoo@gmail.com> Date: Thu, 17 Mar 2022 12:59:18 -0400 Message-ID: Subject: Re: need definitions / references To: Stephen Hemminger Cc: users@dpdk.org Content-Type: multipart/alternative; boundary="0000000000000c256705da6cf4cd" 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 --0000000000000c256705da6cf4cd Content-Type: text/plain; charset="UTF-8" Mr. Hemminger, Thank you once again for your help. Now, I did see the one-liner DPDK puts in code which you reference: struct rte_eth_thresh { uint8_t pthresh; /**< Ring prefetch threshold. */ uint8_t hthresh; /**< Ring host threshold. */ uint8_t wthresh; /**< Ring writeback threshold. */ }; The problem for me is I don't know what "ring host threshold" or "ring writeback" means. "Ring prefetch threshold" I think I understand. This refers to how mbufs are pending in the ring before it starts writing them onto the wire. This seems to have some connection to tx_rs_thresh. On Thu, Mar 17, 2022 at 12:48 PM Stephen Hemminger < stephen@networkplumber.org> wrote: > On Thu, 17 Mar 2022 12:05:33 -0400 > fwefew 4t4tg <7532yahoo@gmail.com> wrote: > > > DPDK provides but does not define (that I can see at least) these TXQ > > config fields. What are these fields what do they do? > > > > https://doc.dpdk.org/api/structrte__eth__thresh.html > > uint8_t pthresh > > uint8_t hthresh > > uint8_t wthresh > > These are low level details inherited from original Intel NIC's (ie ixgbe) > they only apply to some NICs. They are used to control the ring threshold > values relating to PCI. > > In rte_ethdev.h > /** > * A structure used to configure the ring threshold registers of an Rx/Tx > * queue for an Ethernet port. > */ > struct rte_eth_thresh { > uint8_t pthresh; /**< Ring prefetch threshold. */ > uint8_t hthresh; /**< Ring host threshold. */ > uint8_t wthresh; /**< Ring writeback threshold. */ > }; > > > > And here: What is the RS bit? > > https://doc.dpdk.org/api/structrte__eth__txconf.html > > uint16_t tx_rs_thresh. > > Ready to Send? > > > > > And some what unrelated: What is a ``doorbell"? this is something I > > continue to run into esp. in Mellanox NIC papers? Doorbell counts are > > reported for AWS NICs at least with xstats api: > > > > tx_q0_doorbells: 18812 > > tx_q1_doorbells: 18861 > > These are how many times driver needed to poke hardware to tell it > that new packets are ready to send. > --0000000000000c256705da6cf4cd Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Mr. Hemminger,

Thank you once agai= n for your help.

Now, I did see the one-liner DPDK puts in code whic= h you reference:

struct rte_eth_thresh {
=C2=A0 =C2=A0 =C2=A0 =C2= =A0 uint8_t pthresh; /**< Ring prefetch threshold. */
=C2=A0 =C2=A0 = =C2=A0 =C2=A0 uint8_t hthresh; /**< Ring host threshold. */
=C2=A0 = =C2=A0 =C2=A0 =C2=A0 uint8_t wthresh; /**< Ring writeback threshold. */<= br>};

The problem for me is I don't know what "ring host th= reshold" or "ring writeback" means.

"Ring prefe= tch threshold" I think I understand. This refers to how mbufs are pend= ing in the ring before it starts writing them onto the wire. This seems to = have some connection to=C2=A0tx_rs_thres= h.=C2=A0

On Thu, Mar 17, 2022 at 12= :48 PM Stephen Hemminger <= stephen@networkplumber.org> wrote:
On Thu, 17 Mar 2022 12:05:33 -0400
fwefew 4t4tg <7= 532yahoo@gmail.com> wrote:

> DPDK provides but does not define (that I can see at least) these TXQ<= br> > config fields. What are these fields what do they do?
>
> https://doc.dpdk.org/api/structrte__eth__= thresh.html
> uint8_t pthresh
> uint8_t hthresh
> uint8_t wthresh

These are low level details inherited from original Intel NIC's (ie ixg= be)
they only apply to some NICs. They are used to control the ring threshold values relating to PCI.

In rte_ethdev.h
/**
=C2=A0* A structure used to configure the ring threshold registers of an Rx= /Tx
=C2=A0* queue for an Ethernet port.
=C2=A0*/
struct rte_eth_thresh {
=C2=A0 =C2=A0 =C2=A0 =C2=A0 uint8_t pthresh; /**< Ring prefetch threshol= d. */
=C2=A0 =C2=A0 =C2=A0 =C2=A0 uint8_t hthresh; /**< Ring host threshold. *= /
=C2=A0 =C2=A0 =C2=A0 =C2=A0 uint8_t wthresh; /**< Ring writeback thresho= ld. */
};


> And here: What is the RS bit?
> https://doc.dpdk.org/api/structrte__eth__= txconf.html
> uint16_t tx_rs_thresh.

Ready to Send?

>
> And some what unrelated: What is a ``doorbell"? this is something= I
> continue to run into esp. in Mellanox NIC papers? Doorbell counts are<= br> > reported for AWS NICs at least with xstats api:
>
> tx_q0_doorbells: 18812
> tx_q1_doorbells: 18861

These are how many times driver needed to poke hardware to tell it
that new packets are ready to send.
--0000000000000c256705da6cf4cd--